fix: align server with protocol v2 chunked transport spec
All checks were successful
CI / cleanup-branch (push) Has been skipped
CI / build (push) Successful in 1m45s
CI / docker (push) Successful in 59s
CI / deploy-feature (push) Has been skipped
CI / deploy (push) Successful in 46s

- ChunkIngestionController: /data/chunks → /data/executions (matches
  PROTOCOL.md endpoint the agent actually posts to)
- ExecutionController: conditional on ClickHouse being disabled to
  avoid mapping conflict
- Persist originalExchangeId and replayExchangeId from ExecutionChunk
  envelope through to ClickHouse (was silently dropped)
- V5 migration adds the two new columns to executions table

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-03-31 23:18:35 +02:00
parent 154bce366a
commit 606f81a970
8 changed files with 34 additions and 13 deletions

View File

@@ -71,7 +71,8 @@ class ClickHouseSearchIndexIT {
"hash-abc", "FULL",
"{\"order\":\"12345\"}", "", "", "", "{\"env\":\"prod\"}",
"", "",
false, false
false, false,
null, null
);
// exec-2: FAILED, route-timer, agent-a, my-app, corr-2, 200ms, with error
@@ -87,7 +88,8 @@ class ClickHouseSearchIndexIT {
"", "FULL",
"", "", "", "", "",
"", "",
false, false
false, false,
null, null
);
// exec-3: COMPLETED, route-rest, agent-b, other-app, 100ms, no error
@@ -101,7 +103,8 @@ class ClickHouseSearchIndexIT {
"", "FULL",
"", "", "", "", "",
"", "",
false, false
false, false,
null, null
);
store.insertExecutionBatch(List.of(exec1, exec2, exec3));

View File

@@ -68,7 +68,8 @@ class ClickHouseExecutionStoreIT {
"{\"h1\":\"v1\"}", "{\"h2\":\"v2\"}",
"{\"attr\":\"val\"}",
"trace-123", "span-456",
true, false
true, false,
null, null
);
store.insertExecutionBatch(List.of(exec));
@@ -195,7 +196,8 @@ class ClickHouseExecutionStoreIT {
"", "FULL",
"", "", "", "", "",
"", "",
false, false
false, false,
null, null
);
MergedExecution v2 = new MergedExecution(
@@ -208,7 +210,8 @@ class ClickHouseExecutionStoreIT {
"", "FULL",
"", "", "", "", "",
"", "",
false, false
false, false,
null, null
);
store.insertExecutionBatch(List.of(v1));