[da-vinci] Bug fix for peer discovery in DVC with multi-stores #4318
Annotations
6 errors
Publish Test Report:
clients/da-vinci-client/src/test/java/com/linkedin/davinci/kafka/consumer/SITWithPWiseAndBufferAfterLeaderTest.java#L1
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
storageMetadataService.put(
"TestTopic_707ea20993_c931d9ab_v1",
1,
OffsetRecord{localVersionTopicOffset=3, upstreamOffset=-1, leaderTopic=null, offsetLag=0, eventTimeEpochMs=-1, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=true, databaseInfo={}, realTimeProducerState={}, recordTransformerClassHash=null}
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTaskTest.lambda$testNotifier$35(StoreIngestionTaskTest.java:1619)
Actual invocations have different arguments:
storageMetadataService.getLastOffset(
"TestTopic_707ea20993_c931d9ab_v1",
1
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.getLastOffset(DeepCopyOffsetManager.java:49)
storageMetadataService.getLastOffset(
"TestTopic_707ea20993_c931d9ab_v1",
2
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.getLastOffset(DeepCopyOffsetManager.java:49)
storageMetadataService.computeStoreVersionState(
"TestTopic_707ea20993_c931d9ab_v1",
com.linkedin.venice.offsets.DeepCopyStorageMetadataService$$Lambda$1015/0x00007f1328712928@46e693cb
);
-> at com.linkedin.venice.offsets.DeepCopyStorageMetadataService.computeStoreVersionState(DeepCopyStorageMetadataService.java:34)
storageMetadataService.put(
"TestTopic_707ea20993_c931d9ab_v1",
1,
OffsetRecord{localVersionTopicOffset=1, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=1738964459004, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}, recordTransformerClassHash=null}
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.put(DeepCopyOffsetManager.java:38)
storageMetadataService.computeStoreVersionState(
"TestTopic_707ea20993_c931d9ab_v1",
com.linkedin.venice.offsets.DeepCopyStorageMetadataService$$Lambda$1015/0x00007f1328712928@719211b6
);
-> at com.linkedin.venice.offsets.DeepCopyStorageMetadataService.computeStoreVersionState(DeepCopyStorageMetadataService.java:34)
storageMetadataService.put(
"TestTopic_707ea20993_c931d9ab_v1",
2,
OffsetRecord{localVersionTopicOffset=1, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=1738964459004, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}, recordTransformerClassHash=null}
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.put(DeepCopyOffsetManager.java:38)
storageMetadataService.put(
"TestTopic_707ea20993_c931d9ab_v1",
1,
OffsetRecord{localVersionTopicOffset=2, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=1738964459006, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}, recordTransformerClassHash=null}
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.put(DeepCopyOffsetManager.java:38)
storageMetadataService.put(
"TestTopic_707ea20993_c931d9ab_v1",
2,
OffsetRecord{localVersionTopicOffset=2, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=1738964459006, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}, recordTransformerClassHash=null}
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.put(DeepCopyOffsetManager.java:38)
storageMetadataService.computeStoreVersionState(
"TestTopic_707ea20993_c931d9ab_v1",
com.linkedin.venice.offsets.DeepCopyStorageMetadataService$$Lambda$1015/0x00007f1328712928@36098b12
);
-> at com.linkedin.venice.offsets.DeepCopyStorageMetadataService.computeStoreVersionState(DeepCopyStorageMetadataService.java:34)
storageMetadataService.computeStoreVersionState(
"TestTopic_707ea20993_c931d9ab_v1",
com.linkedin.venice.offsets.DeepCopyStorageMetadataService$$Lambda$1015/0x00007f1328712928@2ed82405
);
-> at com.linkedin.venice.offsets.DeepCopyStorageMetadataService.computeStoreVersionState(DeepCopyStorageMetadataService.java:34)
|
Publish Test Report:
clients/da-vinci-client/src/test/java/com/linkedin/davinci/kafka/consumer/SITWithTWiseWithoutBufferAfterLeaderTest.java#L1
Wanted but not invoked:
leaderFollowerStoreIngestionTask.reportError(
<any string>,
1,
<Capturing argument>
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.reportError(StoreIngestionTask.java:4353)
However, there were exactly 56 interactions with this mock:
leaderFollowerStoreIngestionTask.subscribePartition(
TestTopic_6f94bc0e14_f350db1d_v1-1
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTaskTest.runTest(StoreIngestionTaskTest.java:887)
leaderFollowerStoreIngestionTask.subscribePartition(
TestTopic_6f94bc0e14_f350db1d_v1-1,
true
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.subscribePartition(StoreIngestionTask.java:644)
leaderFollowerStoreIngestionTask.throwIfNotRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.subscribePartition(StoreIngestionTask.java:658)
leaderFollowerStoreIngestionTask.isRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.throwIfNotRunning(StoreIngestionTask.java:605)
leaderFollowerStoreIngestionTask.getIsRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.isRunning(StoreIngestionTask.java:4186)
leaderFollowerStoreIngestionTask.nextSeqNum();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.subscribePartition(StoreIngestionTask.java:667)
leaderFollowerStoreIngestionTask.run();
-> at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
leaderFollowerStoreIngestionTask.isRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.run(StoreIngestionTask.java:1657)
leaderFollowerStoreIngestionTask.getIsRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.isRunning(StoreIngestionTask.java:4186)
leaderFollowerStoreIngestionTask.updateIngestionRoleIfStoreChanged(
Mock for Store, hashCode: 235823849
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.run(StoreIngestionTask.java:1659)
leaderFollowerStoreIngestionTask.isHybridMode();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.updateIngestionRoleIfStoreChanged(StoreIngestionTask.java:1575)
leaderFollowerStoreIngestionTask.processConsumerActions(
Mock for Store, hashCode: 235823849
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.run(StoreIngestionTask.java:1660)
leaderFollowerStoreIngestionTask.processConsumerAction(
KafkaTaskMessage{type=SUBSCRIBE, topicPartition=TestTopic_6f94bc0e14_f350db1d_v1-1, attempts=4, sequenceNumber=1, createdTimestampInMs=1738964455124},
Mock for Store, hashCode: 235823849
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.processConsumerActions(StoreIngestionTask.java:1949)
leaderFollowerStoreIngestionTask.processCommonConsumerAction(
KafkaTaskMessage{type=SUBSCRIBE, topicPartition=TestTopic_6f94bc0e14_f350db1d_v1-1, attempts=4, sequenceNumber=1, createdTimestampInMs=1738964455124}
);
-> at com.linkedin.davinci.kafka.consumer.LeaderFollowerStoreIngestionTask.processConsumerAction(LeaderFollowerStoreIngestionTask.java:572)
leaderFollowerStoreIngestionTask.reportIfCatchUpVersionTopicOffset(
PCS{replicaId=TestTopic_6f94bc0e14_f350db1d_v1-1, hybrid=false, latestProcessedLocalVersionTopicOffset=-1, latestProcessedUpstreamVersionTopicOffset=-1, latestProcessedUpstreamRTOffsetMap={}, latestIgnoredUpstreamRTOffsetMap={}, latestRTOffsetTriedToProduceToVTMap{}, offsetRecord=OffsetRecord{localVersionTopicOffset=-1, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=-1, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}, recordTransformerClassHash=null}, errorReported=false, started=false, lagCaughtUp=false, processedRecordSizeSinceLastSync=0, leaderFollowerState=STANDBY}
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.processCommonConsumerAction(StoreIngestionTask.java:2199)
leaderFollowerStoreIngestionTask.updateLeaderTopicOnFollower(
PCS{replicaId=TestTopic_6f94bc0e14_f350db1d_v1-1, hybrid=false, latestProcessedLocalVersionTopicOffset=-
|
Publish Test Report:
clients/da-vinci-client/src/test/java/com/linkedin/davinci/repository/NativeMetadataRepositoryTest.java#L123
java.lang.AssertionError: expected [1000.0] but found [0.0]
|
Publish Test Report:
clients/da-vinci-client/src/test/java/com/linkedin/davinci/kafka/consumer/SITWithPWiseAndBufferAfterLeaderTest.java#L1
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
storageMetadataService.put(
"TestTopic_707ea20993_c931d9ab_v1",
1,
OffsetRecord{localVersionTopicOffset=3, upstreamOffset=-1, leaderTopic=null, offsetLag=0, eventTimeEpochMs=-1, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=true, databaseInfo={}, realTimeProducerState={}, recordTransformerClassHash=null}
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTaskTest.lambda$testNotifier$35(StoreIngestionTaskTest.java:1619)
Actual invocations have different arguments:
storageMetadataService.getLastOffset(
"TestTopic_707ea20993_c931d9ab_v1",
1
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.getLastOffset(DeepCopyOffsetManager.java:49)
storageMetadataService.getLastOffset(
"TestTopic_707ea20993_c931d9ab_v1",
2
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.getLastOffset(DeepCopyOffsetManager.java:49)
storageMetadataService.computeStoreVersionState(
"TestTopic_707ea20993_c931d9ab_v1",
com.linkedin.venice.offsets.DeepCopyStorageMetadataService$$Lambda$1015/0x00007f1328712928@46e693cb
);
-> at com.linkedin.venice.offsets.DeepCopyStorageMetadataService.computeStoreVersionState(DeepCopyStorageMetadataService.java:34)
storageMetadataService.put(
"TestTopic_707ea20993_c931d9ab_v1",
1,
OffsetRecord{localVersionTopicOffset=1, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=1738964459004, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}, recordTransformerClassHash=null}
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.put(DeepCopyOffsetManager.java:38)
storageMetadataService.computeStoreVersionState(
"TestTopic_707ea20993_c931d9ab_v1",
com.linkedin.venice.offsets.DeepCopyStorageMetadataService$$Lambda$1015/0x00007f1328712928@719211b6
);
-> at com.linkedin.venice.offsets.DeepCopyStorageMetadataService.computeStoreVersionState(DeepCopyStorageMetadataService.java:34)
storageMetadataService.put(
"TestTopic_707ea20993_c931d9ab_v1",
2,
OffsetRecord{localVersionTopicOffset=1, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=1738964459004, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}, recordTransformerClassHash=null}
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.put(DeepCopyOffsetManager.java:38)
storageMetadataService.put(
"TestTopic_707ea20993_c931d9ab_v1",
1,
OffsetRecord{localVersionTopicOffset=2, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=1738964459006, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}, recordTransformerClassHash=null}
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.put(DeepCopyOffsetManager.java:38)
storageMetadataService.put(
"TestTopic_707ea20993_c931d9ab_v1",
2,
OffsetRecord{localVersionTopicOffset=2, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=1738964459006, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}, recordTransformerClassHash=null}
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.put(DeepCopyOffsetManager.java:38)
storageMetadataService.computeStoreVersionState(
"TestTopic_707ea20993_c931d9ab_v1",
com.linkedin.venice.offsets.DeepCopyStorageMetadataService$$Lambda$1015/0x00007f1328712928@36098b12
);
-> at com.linkedin.venice.offsets.DeepCopyStorageMetadataService.computeStoreVersionState(DeepCopyStorageMetadataService.java:34)
storageMetadataService.computeStoreVersionState(
"TestTopic_707ea20993_c931d9ab_v1",
com.linkedin.venice.offsets.DeepCopyStorageMetadataService$$Lambda$1015/0x00007f1328712928@2ed82405
);
-> at com.linkedin.venice.offsets.DeepCopyStorageMetadataService.computeStoreVersionState(DeepCopyStorageMetadataService.java:34)
|
Publish Test Report:
clients/da-vinci-client/src/test/java/com/linkedin/davinci/kafka/consumer/SITWithTWiseWithoutBufferAfterLeaderTest.java#L1
Wanted but not invoked:
leaderFollowerStoreIngestionTask.reportError(
<any string>,
1,
<Capturing argument>
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.reportError(StoreIngestionTask.java:4353)
However, there were exactly 56 interactions with this mock:
leaderFollowerStoreIngestionTask.subscribePartition(
TestTopic_6f94bc0e14_f350db1d_v1-1
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTaskTest.runTest(StoreIngestionTaskTest.java:887)
leaderFollowerStoreIngestionTask.subscribePartition(
TestTopic_6f94bc0e14_f350db1d_v1-1,
true
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.subscribePartition(StoreIngestionTask.java:644)
leaderFollowerStoreIngestionTask.throwIfNotRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.subscribePartition(StoreIngestionTask.java:658)
leaderFollowerStoreIngestionTask.isRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.throwIfNotRunning(StoreIngestionTask.java:605)
leaderFollowerStoreIngestionTask.getIsRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.isRunning(StoreIngestionTask.java:4186)
leaderFollowerStoreIngestionTask.nextSeqNum();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.subscribePartition(StoreIngestionTask.java:667)
leaderFollowerStoreIngestionTask.run();
-> at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
leaderFollowerStoreIngestionTask.isRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.run(StoreIngestionTask.java:1657)
leaderFollowerStoreIngestionTask.getIsRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.isRunning(StoreIngestionTask.java:4186)
leaderFollowerStoreIngestionTask.updateIngestionRoleIfStoreChanged(
Mock for Store, hashCode: 235823849
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.run(StoreIngestionTask.java:1659)
leaderFollowerStoreIngestionTask.isHybridMode();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.updateIngestionRoleIfStoreChanged(StoreIngestionTask.java:1575)
leaderFollowerStoreIngestionTask.processConsumerActions(
Mock for Store, hashCode: 235823849
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.run(StoreIngestionTask.java:1660)
leaderFollowerStoreIngestionTask.processConsumerAction(
KafkaTaskMessage{type=SUBSCRIBE, topicPartition=TestTopic_6f94bc0e14_f350db1d_v1-1, attempts=4, sequenceNumber=1, createdTimestampInMs=1738964455124},
Mock for Store, hashCode: 235823849
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.processConsumerActions(StoreIngestionTask.java:1949)
leaderFollowerStoreIngestionTask.processCommonConsumerAction(
KafkaTaskMessage{type=SUBSCRIBE, topicPartition=TestTopic_6f94bc0e14_f350db1d_v1-1, attempts=4, sequenceNumber=1, createdTimestampInMs=1738964455124}
);
-> at com.linkedin.davinci.kafka.consumer.LeaderFollowerStoreIngestionTask.processConsumerAction(LeaderFollowerStoreIngestionTask.java:572)
leaderFollowerStoreIngestionTask.reportIfCatchUpVersionTopicOffset(
PCS{replicaId=TestTopic_6f94bc0e14_f350db1d_v1-1, hybrid=false, latestProcessedLocalVersionTopicOffset=-1, latestProcessedUpstreamVersionTopicOffset=-1, latestProcessedUpstreamRTOffsetMap={}, latestIgnoredUpstreamRTOffsetMap={}, latestRTOffsetTriedToProduceToVTMap{}, offsetRecord=OffsetRecord{localVersionTopicOffset=-1, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=-1, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}, recordTransformerClassHash=null}, errorReported=false, started=false, lagCaughtUp=false, processedRecordSizeSinceLastSync=0, leaderFollowerState=STANDBY}
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.processCommonConsumerAction(StoreIngestionTask.java:2199)
leaderFollowerStoreIngestionTask.updateLeaderTopicOnFollower(
PCS{replicaId=TestTopic_6f94bc0e14_f350db1d_v1-1, hybrid=false, latestProcessedLocalVersionTopicOffset=-
|
Publish Test Report:
clients/da-vinci-client/src/test/java/com/linkedin/davinci/repository/NativeMetadataRepositoryTest.java#L123
java.lang.AssertionError: expected [1000.0] but found [0.0]
|
Loading