Hi team, can anyone explain to me what is the erro...
# pinot-dev
j
Hi team, can anyone explain to me what is the error mean in
Pinot Compatibility Regression Testing
CI workflow?
Copy code
20:23:53.164 INFO [SegmentOp] [main] Successfully created segment: FeatureTest1_Segment5 at directory: /tmp/pinot-compat-test-segment-op-a499654e-d79a-40cb-9ec7-6e3057b2c4c4/output/FeatureTest1_Segment5
20:23:53.205 INFO [SegmentOp] [main] Tarring segment from: /tmp/pinot-compat-test-segment-op-a499654e-d79a-40cb-9ec7-6e3057b2c4c4/output/FeatureTest1_Segment5 to: /tmp/pinot-compat-test-segment-op-a499654e-d79a-40cb-9ec7-6e3057b2c4c4/output/FeatureTest1_Segment5.tar.gz
20:23:53.482 INFO [HttpClient] [main] Sending request: /v2/segments?tableName=FeatureTest1_OFFLINE to controller: <http://fv-az1432-390.2onsmhel0beebdhu3wzfcxcjxc.cx.internal.cloudapp.net|fv-az1432-390.2onsmhel0beebdhu3wzfcxcjxc.cx.internal.cloudapp.net>, version: 1.3.0-SNAPSHOT-01910b8468ce6e8b01c0a031610e3262d2c44619
20:23:53.533 INFO [HttpClient] [main] Sending request: /tables/FeatureTest1_OFFLINE/externalview to controller: <http://fv-az1432-390.2onsmhel0beebdhu3wzfcxcjxc.cx.internal.cloudapp.net|fv-az1432-390.2onsmhel0beebdhu3wzfcxcjxc.cx.internal.cloudapp.net>, version: 1.3.0-SNAPSHOT-01910b8468ce6e8b01c0a031610e3262d2c44619
20:23:53.551 INFO [HttpClient] [main] Sending request: /tables/FeatureTest1_OFFLINE/externalview to controller: <http://fv-az1432-390.2onsmhel0beebdhu3wzfcxcjxc.cx.internal.cloudapp.net|fv-az1432-390.2onsmhel0beebdhu3wzfcxcjxc.cx.internal.cloudapp.net>, version: 1.3.0-SNAPSHOT-01910b8468ce6e8b01c0a031610e3262d2c44619
20:23:53.552 INFO [SegmentOp] [main] Successfully verified segment FeatureTest1_Segment5 and its current status is ONLINE.
20:23:53.737 WARN [SegmentOp] [main] Routing table has not been updated yet, will retry after 1000 ms.
20:23:54.742 WARN [SegmentOp] [main] Routing table has not been updated yet, will retry after 1000 ms.
20:23:55.747 WARN [SegmentOp] [main] Routing table has not been updated yet, will retry after 1000 ms.
...
20:25:45.149 WARN [SegmentOp] [main] Routing table has not been updated yet, will retry after 1000 ms.
20:25:46.153 WARN [SegmentOp] [main] Routing table has not been updated yet, will retry after 1000 ms.
20:25:47.156 WARN [SegmentOp] [main] Routing table has not been updated yet, will retry after 1000 ms.
20:25:48.159 WARN [SegmentOp] [main] Routing table has not been updated yet, will retry after 1000 ms.
20:25:49.162 WARN [SegmentOp] [main] Routing table has not been updated yet, will retry after 1000 ms.
20:25:50.165 WARN [SegmentOp] [main] Routing table has not been updated yet, will retry after 1000 ms.
20:25:51.168 WARN [SegmentOp] [main] Routing table has not been updated yet, will retry after 1000 ms.
20:25:52.171 WARN [SegmentOp] [main] Routing table has not been updated yet, will retry after 1000 ms.
20:25:53.175 WARN [SegmentOp] [main] Routing table has not been updated yet, will retry after 1000 ms.
20:25:54.178 ERROR [SegmentOp] [main] Upload segment verification failed, routing table has not been updated after max wait time 120000 ms.
Is routing table some external service? Is there a way to run the unit test locally to debug?
a
these are usually flaky errors.. you can try re-running the ci test
➕ 1
I restarted it
j
How about the coverage report? When I click into any of the links in the coverage report, it links to modified files to another PR. For example, there are 38 files changed in #13782, but when I clicked into the links, there are 65 files changed and none of them are files I modified.
Is it supposed to happen or is there something wrong with Pinot's code coverage infra.
g
the compatibility tests create a cluster of nodes with different versions of pinot. They are there to ensure that there is no change that breaks backward compatibility. I guess you can run them locally, they are just bash scripts that are not using anything fancy from github workers. TBH I've never tried.
about coverage... I tried to improve the config in the past, but there are too many moving pieces: Cobertura/jacoco in our side, multi module projects, several executions on different servers for each PR and then the actual codecov support. In the end we end up missing some information (specially when one flaky tests fails).