~bigbes/tarantool-etcd · events

saj7ela3edontscs7qmksnooqje0h0ut · 227 rows

idissue_idevent_typeactorold_valuenew_valuecommentcreated_at
79369bef-4995-5a73-9125-f1a673d9c3batarantool-etcd-rzscreatedEugene BlikhNULL2026-05-19T17:54:23Z
7a1cf23e-d776-589a-82ef-21bb6483ca12tarantool-etcd-buqlabel_addedEugene BlikhNULLNULLAdded label: milestone:m1-conformance2026-05-21T14:36:47Z
7a374a7c-bd1d-5fef-ae10-86bdd494acfetarantool-etcd-9z2updatedEugene Blikh{"id":"tarantool-etcd-9z2","title":"Phase 5f — Watch option coverage","description":"Per-option density on Watch RPCs. Big stream-shaped surface, highest remaining value but also highest effort. Run after Phase 5e.\n\nLikely tests:\n- TestWatchWithFilterPut / TestWatchWithFilterDelete (server-side event filtering)\n- TestWatchProgressNotifyExplicit (RequestProgress on demand vs the implicit 10-minute heartbeat already covered)\n- TestWatchWithFragment (large-response fragmentation — may surface a tarantool-side gap)\n- TestWatchWithPrevKV (per-watcher prev-kv flag, distinct from WithPrevKV on Put/Delete)\n- TestWatchFromCompactedRevision (ErrCompacted returned on the stream, not as a typed gRPC status)","acceptance_criteria":"Each listed test ported, runs on all four cells, passes (or documented as a known gap with cross-reference).","notes":"Source: docs/TODO.md \"Open / Conformance matrix — Phase 5 option coverage\".","status":"open","priority":2,"issue_type":"task","owner":"bigbes@gmail.com","created_at":"2026-05-19T13:34:06Z","created_by":"Eugene Blikh","updated_at":"2026-05-19T13:34:06Z"}{"notes":"Source: docs/TODO.md \"Open / Conformance matrix — Phase 5 option coverage\".\n\nPriority note (TestWatchWithPrevKV): Tarantool EE uses etcd as a centralized-config backend (config.storage / etcd config source in TT 3.x). On boot it reads config from etcd and opens a Watch with prev_kv set to diff old-vs-new config on live reload. So Watch prev_kv is exercised by a first-class ecosystem consumer, not just the conformance suite — it should be treated as the highest-value test in this group for drop-in TT EE compatibility.\n\nImplementation already exists (feature built, conformance assertion missing):\n- app/etcd/watch.lua:83 lookup_prev_kv() walks kv_history backwards (LT on mod_revision) for the prior non-tombstone value\n- app/etcd/watch.lua:268 stores per-watcher flag; propagated via grpc.lua:358, json.lua:205, server.lua:185\n- auth.lua:317 requires READ perm when prev_kv requested\nRemaining work for prev_kv is the TestWatchWithPrevKV conformance case against real etcd 3.6, not the Lua implementation."}NULL2026-05-20T09:34:10Z
7a595ffb-8f3d-5b9e-a441-7a24d36f7931tarantool-etcd-8ssupdatedEugene Blikh{"id":"tarantool-etcd-8ss","title":"Example 2: 3-node EE replicaset self-hosting its own etcd config (file → etcd migration)","description":"Add examples/tarantool-ee-self-hosted-etcd: boot a 3-instance EE replicaset (election failover) from a local cluster-config.yaml where every node runs app.roles.etcd (replicated KV store, read_pref=any). Seed the cluster's OWN etcd store with that config, then rolling-restart each instance to bootstrap from TT_CONFIG_ETCD_* (no --config). Document the cold-boot circularity: self-hosted etcd-config is HA under rolling restart but needs the local file retained as a cold-boot seed. Justfile + README + cluster-config.yaml.","status":"in_progress","priority":2,"issue_type":"feature","assignee":"Eugene Blikh","owner":"bigbes@gmail.com","created_at":"2026-05-20T11:16:17Z","created_by":"Eugene Blikh","updated_at":"2026-05-20T11:16:28Z","started_at":"2026-05-20T11:16:28Z"}{"notes":"Files written + phases 1-2 (up-file/seed/probe/config-show) verified on Community Tarantool 3.8. Ports 3501-3503/2382-2482-2582 (distinct from example-1's 3401/2379). migrate+reload need an EE binary (config.etcd source) so were not run here; mechanics mirror the working tarantool-ee-config example. EE guard on migrate verified to fire."}NULL2026-05-20T14:22:44Z
7ab6bf68-f184-5c93-af17-ca2d468ea614tarantool-etcd-ueelabel_addedEugene BlikhNULLNULLAdded label: milestone:m5-clustering2026-05-21T14:37:43Z
7b2ce620-c2d5-543b-aab9-6734528eadb3tarantool-etcd-3colabel_addedEugene BlikhNULLNULLAdded label: milestone:m4-iproto-parity2026-05-21T14:37:23Z
7bff7897-834b-5fdd-b8d7-cefa464e9a28tarantool-etcd-ymmcreatedEugene BlikhNULL2026-05-19T17:54:41Z
7c4b5c50-94ad-56b0-8340-aef44c6592f7tarantool-etcd-zkglabel_addedEugene BlikhNULLNULLAdded label: milestone:m5-clustering2026-05-21T14:37:37Z
7e827059-0685-57e9-a0e4-f187205646f7tarantool-etcd-cnjcreatedEugene BlikhNULL2026-05-20T09:39:58Z
7ecbe865-d39f-561d-9191-ddfdd79e4a3ctarantool-etcd-iijlabel_addedEugene BlikhNULLNULLAdded label: milestone:m4-iproto-parity2026-05-21T14:37:22Z
7f5fcba0-05dd-5fc1-af72-7e1d0acc6a59tarantool-etcd-4ybcreatedEugene BlikhNULL2026-05-20T09:45:14Z
8074c9b9-2474-54ee-9cb6-628c25bea652tarantool-etcd-gz4createdEugene BlikhNULL2026-05-19T17:53:52Z
8371d325-d005-5ace-a739-97167a9019abtarantool-etcd-16dcreatedEugene BlikhNULL2026-05-20T08:47:58Z
83c1a5d0-ba27-5aaa-996b-f84d4e8dfbdctarantool-etcd-0gnclaimedEugene Blikh{"id":"tarantool-etcd-0gn","title":"Implement Watch extras: filters, progress_notify (periodic), fragment","description":"WatchCreateRequest fields filters (NOPUT/NODELETE), progress_notify periodic notify, and fragment (large-response splitting) are declared in pb/defs.lua but ignored by create_watcher/grpc.lua/json.lua. On-demand RequestProgress already works. Implement the missing three.","status":"open","priority":2,"issue_type":"feature","owner":"bigbes@gmail.com","created_at":"2026-05-20T06:35:53Z","created_by":"Eugene Blikh","updated_at":"2026-05-20T06:35:53Z"}{"assignee":"Eugene Blikh","status":"in_progress"}NULL2026-05-20T09:35:59Z
83edfeeb-7a05-588a-a6c0-a8ef5541250ftarantool-etcd-8ssupdatedEugene Blikh{"id":"tarantool-etcd-8ss","title":"Example 2: 3-node EE replicaset self-hosting its own etcd config (file → etcd migration)","description":"Add examples/tarantool-ee-self-hosted-etcd: boot a 3-instance EE replicaset (election failover) from a local cluster-config.yaml where every node runs app.roles.etcd (replicated KV store, read_pref=any). Seed the cluster's OWN etcd store with that config, then rolling-restart each instance to bootstrap from TT_CONFIG_ETCD_* (no --config). Document the cold-boot circularity: self-hosted etcd-config is HA under rolling restart but needs the local file retained as a cold-boot seed. Justfile + README + cluster-config.yaml.","notes":"v2: hardened migrate after EE run hit 'etcdserver: no leader' on the 2nd node (election churn from restarting a node that became leader). Fixes: (1) recompute leader each step, always migrate a follower, leader last; (2) _wait-healthy gate (all live nodes agree on one leader) between steps; (3) endpoints peers-first/self-last; (4) append logs not truncate. Rolling-restart pacing + leader-pick logic verified on Community; EE etcd-source fetch still needs an EE re-run to confirm.","status":"in_progress","priority":2,"issue_type":"feature","assignee":"Eugene Blikh","owner":"bigbes@gmail.com","created_at":"2026-05-20T11:16:17Z","created_by":"Eugene Blikh","updated_at":"2026-05-20T11:30:21Z","started_at":"2026-05-20T11:16:28Z"}{"notes":"VERIFIED end-to-end on EE 3.7.0 (up-file/seed/migrate/probe/reload all pass; migrate idempotent). Root cause of the user's failure: EE config.etcd source pins to Endpoints[0] without failover, so endpoints must be LEADER-FIRST (not peers-first). Also fixed: leader-migrated-last via per-step recompute, _wait-healthy gate, and a pipefail bug (grep -vx on last node exited 1 after work was done). Example complete."}NULL2026-05-20T14:38:01Z
847644fe-7529-5ad5-bcb6-92f0a6fd85f8tarantool-etcd-0gvcreatedEugene BlikhNULL2026-05-19T17:54:09Z
853285f2-6823-5330-9d41-95dd7170c742tarantool-etcd-hlxcreatedEugene BlikhNULL2026-05-20T09:17:54Z
86b724e1-e608-5db6-8a69-feee0bdf517ftarantool-etcd-dkrcreatedEugene BlikhNULL2026-05-20T09:55:25Z
889a2887-a179-54bc-94e9-4de55b4f5878tarantool-etcd-97vcreatedEugene BlikhNULL2026-05-19T17:54:39Z
89b6b91c-c9fc-5c2d-9e08-cc773ef75cabtarantool-etcd-hlxlabel_addedEugene BlikhNULLNULLAdded label: milestone:m5-clustering2026-05-21T14:37:42Z
89cebc94-e850-5726-9f4f-65137f5cdf7btarantool-etcd-9cdcreatedEugene BlikhNULL2026-05-19T17:53:58Z
8a497a80-f880-5439-b9d3-49c8842bfdc5tarantool-etcd-nwllabel_addedEugene BlikhNULLNULLAdded label: milestone:m4-iproto-parity2026-05-21T14:37:25Z
8a6c8a11-52de-5f00-8098-4654ce3b08c9tarantool-etcd-bg4createdEugene BlikhNULL2026-05-19T17:54:14Z
8adefbb6-838b-5fb5-9704-dbe7ad4fa000tarantool-etcd-16dlabel_addedEugene BlikhNULLNULLAdded label: milestone:m2-production2026-05-21T14:37:06Z
8baa8026-2fcb-526d-9ab3-7b726c3cc4aatarantool-etcd-6ljlabel_addedEugene BlikhNULLNULLAdded label: milestone:m4-iproto-parity2026-05-21T14:37:33Z
8c7cf48d-8e9b-503d-b15e-6d58014b6ff3tarantool-etcd-wqnlabel_addedEugene BlikhNULLNULLAdded label: milestone:m4-iproto-parity2026-05-21T14:37:17Z
8e61e59e-dfbe-5aad-a6cc-52102b681d64tarantool-etcd-8ssupdatedEugene Blikh{"id":"tarantool-etcd-8ss","title":"Example 2: 3-node EE replicaset self-hosting its own etcd config (file → etcd migration)","description":"Add examples/tarantool-ee-self-hosted-etcd: boot a 3-instance EE replicaset (election failover) from a local cluster-config.yaml where every node runs app.roles.etcd (replicated KV store, read_pref=any). Seed the cluster's OWN etcd store with that config, then rolling-restart each instance to bootstrap from TT_CONFIG_ETCD_* (no --config). Document the cold-boot circularity: self-hosted etcd-config is HA under rolling restart but needs the local file retained as a cold-boot seed. Justfile + README + cluster-config.yaml.","notes":"Files written + phases 1-2 (up-file/seed/probe/config-show) verified on Community Tarantool 3.8. Ports 3501-3503/2382-2482-2582 (distinct from example-1's 3401/2379). migrate+reload need an EE binary (config.etcd source) so were not run here; mechanics mirror the working tarantool-ee-config example. EE guard on migrate verified to fire.","status":"in_progress","priority":2,"issue_type":"feature","assignee":"Eugene Blikh","owner":"bigbes@gmail.com","created_at":"2026-05-20T11:16:17Z","created_by":"Eugene Blikh","updated_at":"2026-05-20T11:22:45Z","started_at":"2026-05-20T11:16:28Z"}{"notes":"v2: hardened migrate after EE run hit 'etcdserver: no leader' on the 2nd node (election churn from restarting a node that became leader). Fixes: (1) recompute leader each step, always migrate a follower, leader last; (2) _wait-healthy gate (all live nodes agree on one leader) between steps; (3) endpoints peers-first/self-last; (4) append logs not truncate. Rolling-restart pacing + leader-pick logic verified on Community; EE etcd-source fetch still needs an EE re-run to confirm."}NULL2026-05-20T14:30:21Z
90cfe1cf-1797-5900-a648-fe00f7daf2e9tarantool-etcd-584createdEugene BlikhNULL2026-05-19T17:53:53Z
94d2a36e-9234-56bc-94d4-d270d98a5406tarantool-etcd-ag2createdEugene BlikhNULL2026-05-19T17:54:06Z
952d547e-ebbe-59cf-a86b-e9e86f2d6247tarantool-etcd-cppcreatedEugene BlikhNULL2026-05-20T09:55:23Z
98857065-d100-532e-ab3d-27bb94b54874tarantool-etcd-rzhcreatedEugene BlikhNULL2026-05-19T17:54:32Z
9a29c48a-d378-5092-b327-0c780e240291tarantool-etcd-m0wlabel_addedEugene BlikhNULLNULLAdded label: milestone:m4-iproto-parity2026-05-21T14:37:22Z
9a5fc12c-bf33-5aab-bdc1-d2f6e5eb97a6tarantool-etcd-mo5createdEugene BlikhNULL2026-05-19T17:54:26Z
9a644bac-cc82-5a2a-9e31-87b48d0cf6b1tarantool-etcd-8zmcreatedEugene BlikhNULL2026-05-19T17:54:13Z
9b54496f-698d-5441-9792-4a43fe667ec0tarantool-etcd-9arcreatedEugene BlikhNULL2026-05-19T17:54:46Z
9c78d1b3-2262-522e-a6d3-f20350d2d32ftarantool-etcd-3spcreatedEugene BlikhNULL2026-05-19T20:33:47Z
9cb6edf1-455e-520a-840c-ff16a8096025tarantool-etcd-nbslabel_addedEugene BlikhNULLNULLAdded label: milestone:m2-production2026-05-21T14:37:03Z
9e0b2dec-e482-5f79-9afc-16f48f226f38tarantool-etcd-ns0createdEugene BlikhNULL2026-05-19T17:54:34Z
9e6cc6c5-a58c-5f74-98e8-c7d01f49122btarantool-etcd-b08label_addedEugene BlikhNULLNULLAdded label: milestone:m1-conformance2026-05-21T14:37:02Z
9e747415-a28e-52e3-96e7-f2583fb0298ftarantool-etcd-h8rcreatedEugene BlikhNULL2026-05-19T17:54:50Z
9f8323da-55e4-588c-ac88-f376bb20465ctarantool-etcd-zwslabel_addedEugene BlikhNULLNULLAdded label: milestone:m5-clustering2026-05-21T14:37:42Z
a1fe4827-336f-5b8e-8e43-d5a7897ef0b2tarantool-etcd-1twlabel_addedEugene BlikhNULLNULLAdded label: milestone:m2-production2026-05-21T14:37:04Z
a26ca896-81a3-543f-ba50-c18cf5ab6fe7tarantool-etcd-sqvcreatedEugene BlikhNULL2026-05-19T17:54:45Z
a4ae3524-e546-5518-beee-94665d4cf440tarantool-etcd-tf0label_addedEugene BlikhNULLNULLAdded label: milestone:m4-iproto-parity2026-05-21T14:37:14Z
a4cfdcdc-aa9e-570c-946e-f8316818fbb4tarantool-etcd-zc7label_addedEugene BlikhNULLNULLAdded label: milestone:m2-production2026-05-21T14:37:05Z
a63820a2-175a-507d-a475-0097ed02d089tarantool-etcd-h8rlabel_addedEugene BlikhNULLNULLAdded label: milestone:m4-iproto-parity2026-05-21T14:37:09Z
a6df7449-e43a-55bf-8556-5e76bb05c35dtarantool-etcd-070label_addedEugene BlikhNULLNULLAdded label: milestone:m4-iproto-parity2026-05-21T14:37:32Z
a6f20dc1-2e9d-5529-ad9e-05c455839104tarantool-etcd-cz5createdEugene BlikhNULL2026-05-19T17:54:41Z
a96bdeea-9d8f-5d5c-a2fb-80c9dba72457tarantool-etcd-w5rcreatedEugene BlikhNULL2026-05-19T17:54:43Z
adf1fce8-4640-5c8d-b90c-4300167ebd09tarantool-etcd-70jlabel_addedEugene BlikhNULLNULLAdded label: milestone:m4-iproto-parity2026-05-21T14:37:18Z