main · last commit
1 month ago ·
2npkec0r
tarantool-etcd-9z2 Phase 5f — Watch option coverage
Lined Up
bd update tarantool-etcd-9z2 --claim
bd close tarantool-etcd-9z2
| Created by | Eugene Blikh |
| Owner | bigbes@gmail.com |
| Created | 2026-05-19T13:34:06Z |
| Updated | 2026-07-17T14:27:37Z |
Per-option density on Watch RPCs. Big stream-shaped surface, highest remaining value but also highest effort. Run after Phase 5e. Likely tests: - TestWatchWithFilterPut / TestWatchWithFilterDelete (server-side event filtering) - TestWatchProgressNotifyExplicit (RequestProgress on demand vs the implicit 10-minute heartbeat already covered) - TestWatchWithFragment (large-response fragmentation — may surface a tarantool-side gap) - TestWatchWithPrevKV (per-watcher prev-kv flag, distinct from WithPrevKV on Put/Delete) - TestWatchFromCompactedRevision (ErrCompacted returned on the stream, not as a typed gRPC status)
Each listed test ported, runs on all four cells, passes (or documented as a known gap with cross-reference).
Source: docs/TODO.md "Open / Conformance matrix — Phase 5 option coverage". Priority 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. Implementation already exists (feature built, conformance assertion missing): - app/etcd/watch.lua:83 lookup_prev_kv() walks kv_history backwards (LT on mod_revision) for the prior non-tombstone value - app/etcd/watch.lua:268 stores per-watcher flag; propagated via grpc.lua:358, json.lua:205, server.lua:185 - auth.lua:317 requires READ perm when prev_kv requested Remaining work for prev_kv is the TestWatchWithPrevKV conformance case against real etcd 3.6, not the Lua implementation.
tarantool-etcd-lac
— Phase 5e — Lease option coverage
blocks
open
tarantool-etcd-b08
— Phase 5g — Auth/Cluster/Maintenance/Lock/Election option coverage
blocks
| id | tarantool-etcd-9z2 |
| content_hash | f38d22b50cefe3aad567bf495f853ea9e6c187bef2586c7ed1fc8f540cd6bb29 |
| 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. Likely tests: - TestWatchWithFilterPut / TestWatchWithFilterDelete (server-side event filtering) - TestWatchProgressNotifyExplicit (RequestProgress on demand vs the implicit 10-minute heartbeat already covered) - TestWatchWithFragment (large-response fragmentation — may surface a tarantool-side gap) - TestWatchWithPrevKV (per-watcher prev-kv flag, distinct from WithPrevKV on Put/Delete) - TestWatchFromCompactedRevision (ErrCompacted returned on the stream, not as a typed gRPC status) |
| design | |
| 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". Priority 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. Implementation already exists (feature built, conformance assertion missing): - app/etcd/watch.lua:83 lookup_prev_kv() walks kv_history backwards (LT on mod_revision) for the prior non-tombstone value - app/etcd/watch.lua:268 stores per-watcher flag; propagated via grpc.lua:358, json.lua:205, server.lua:185 - auth.lua:317 requires READ perm when prev_kv requested Remaining work for prev_kv is the TestWatchWithPrevKV conformance case against real etcd 3.6, not the Lua implementation. |
| status | open |
| priority | 2 |
| issue_type | task |
| assignee | NULL |
| estimated_minutes | NULL |
| created_at | 2026-05-19T13:34:06Z |
| created_by | Eugene Blikh |
| owner | bigbes@gmail.com |
| updated_at | 2026-07-17T14:27:37Z |
| closed_at | NULL |
| closed_by_session | |
| external_ref | NULL |
| spec_id | |
| compaction_level | 0 |
| compacted_at | NULL |
| compacted_at_commit | NULL |
| original_size | NULL |
| sender | |
| ephemeral | 0 |
| wisp_type | |
| pinned | 0 |
| is_template | 0 |
| mol_type | |
| work_type | |
| source_system | |
| metadata | <binary> |
| source_repo | |
| close_reason | |
| event_kind | |
| actor | |
| target | |
| payload | |
| await_type | |
| await_id | |
| timeout_ns | 0 |
| waiters | |
| hook_bead | |
| role_bead | |
| agent_state | |
| last_activity | NULL |
| role_type | |
| rig | |
| due_at | NULL |
| defer_until | NULL |
| no_history | 0 |
| started_at | NULL |
| is_blocked | 1 |
| issue_id | tarantool-etcd-9z2 |
| label | milestone:m1-conformance |
| id | 00d2968f-ff0b-5495-b30a-4bbd24525aac |
| issue_id | tarantool-etcd-b08 |
| type | blocks |
| created_at | 2026-05-19T16:35:03Z |
| created_by | Eugene Blikh |
| metadata | <binary> |
| thread_id | |
| depends_on_issue_id | tarantool-etcd-9z2 |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | 92b2521b-dd69-54f4-abb4-dea5f52ee279 |
| issue_id | tarantool-etcd-9z2 |
| type | blocks |
| created_at | 2026-05-19T16:35:02Z |
| created_by | Eugene Blikh |
| metadata | <binary> |
| thread_id | |
| depends_on_issue_id | tarantool-etcd-lac |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | 224c2a43-8db1-5966-b1e2-17e6c11f33f9 |
| issue_id | tarantool-etcd-9z2 |
| event_type | created |
| actor | Eugene Blikh |
| old_value | |
| new_value | |
| comment | NULL |
| created_at | 2026-05-19T16:34:06Z |
| id | 3114e9cd-ad31-5a26-95ec-70009b03eeb7 |
| issue_id | tarantool-etcd-9z2 |
| event_type | label_added |
| actor | Eugene Blikh |
| old_value | NULL |
| new_value | NULL |
| comment | Added label: milestone:m1-conformance |
| created_at | 2026-05-21T14:37:00Z |
| id | 7a374a7c-bd1d-5fef-ae10-86bdd494acfe |
| issue_id | tarantool-etcd-9z2 |
| event_type | updated |
| actor | Eugene Blikh |
| old_value | {"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"} |
| new_value | {"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."} |
| comment | NULL |
| created_at | 2026-05-20T09:34:10Z |
No comments.