[controller] Add deferred version swap service to parent controller #4061
Annotations
10 errors and 1 warning
Publish Test Report:
clients/da-vinci-client/src/test/java/com/linkedin/davinci/kafka/consumer/SITWithPWiseAndBufferAfterLeaderTest.java#L1
Wanted but not invoked:
leaderFollowerStoreIngestionTask.reportError(
<any string>,
1,
<Capturing argument>
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.reportError(StoreIngestionTask.java:4314)
However, there were exactly 28 interactions with this mock:
leaderFollowerStoreIngestionTask.subscribePartition(
TestTopic_5b88a60a61_4c1f6ff_v1-1
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTaskTest.runTest(StoreIngestionTaskTest.java:886)
leaderFollowerStoreIngestionTask.subscribePartition(
TestTopic_5b88a60a61_4c1f6ff_v1-1,
true
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.subscribePartition(StoreIngestionTask.java:635)
leaderFollowerStoreIngestionTask.throwIfNotRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.subscribePartition(StoreIngestionTask.java:649)
leaderFollowerStoreIngestionTask.isRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.throwIfNotRunning(StoreIngestionTask.java:596)
leaderFollowerStoreIngestionTask.getIsRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.isRunning(StoreIngestionTask.java:4147)
leaderFollowerStoreIngestionTask.nextSeqNum();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.subscribePartition(StoreIngestionTask.java:658)
leaderFollowerStoreIngestionTask.run();
-> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
leaderFollowerStoreIngestionTask.isRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.run(StoreIngestionTask.java:1648)
leaderFollowerStoreIngestionTask.getIsRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.isRunning(StoreIngestionTask.java:4147)
leaderFollowerStoreIngestionTask.updateIngestionRoleIfStoreChanged(
Mock for Store, hashCode: 680998412
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.run(StoreIngestionTask.java:1650)
leaderFollowerStoreIngestionTask.isHybridMode();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.updateIngestionRoleIfStoreChanged(StoreIngestionTask.java:1566)
leaderFollowerStoreIngestionTask.processConsumerActions(
Mock for Store, hashCode: 680998412
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.run(StoreIngestionTask.java:1651)
leaderFollowerStoreIngestionTask.processConsumerAction(
KafkaTaskMessage{type=SUBSCRIBE, topicPartition=TestTopic_5b88a60a61_4c1f6ff_v1-1, attempts=1, sequenceNumber=1, createdTimestampInMs=1737503058549},
Mock for Store, hashCode: 680998412
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.processConsumerActions(StoreIngestionTask.java:1940)
leaderFollowerStoreIngestionTask.processCommonConsumerAction(
KafkaTaskMessage{type=SUBSCRIBE, topicPartition=TestTopic_5b88a60a61_4c1f6ff_v1-1, attempts=1, sequenceNumber=1, createdTimestampInMs=1737503058549}
);
-> at com.linkedin.davinci.kafka.consumer.LeaderFollowerStoreIngestionTask.processConsumerAction(LeaderFollowerStoreIngestionTask.java:572)
leaderFollowerStoreIngestionTask.reportIfCatchUpVersionTopicOffset(
PCS{replicaId=TestTopic_5b88a60a61_4c1f6ff_v1-1, hybrid=false, latestProcessedLocalVersionTopicOffset=-1, latestProcessedUpstreamVersionTopicOffset=-1, latestProcessedUpstreamRTOffsetMap={}, latestIgnoredUpstreamRTOffsetMap={}, latestRTOffsetTriedToProduceToVTMap{}, offsetRecord=OffsetRecord{localVersionTopicOffset=-1, upstreamOffset=-1, leaderTopic=null, offsetLag=0, eventTimeEpochMs=-1, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}}, errorReported=false, started=false, lagCaughtUp=false, processedRecordSizeSinceLastSync=0, leaderFollowerState=STANDBY}
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.processCommonConsumerAction(StoreIngestionTask.java:2185)
leaderFollowerStoreIngestionTask.updateLeaderTopicOnFollower(
PCS{replicaId=TestTopic_5b88a60a61_4c1f6ff_v1-1, hybrid=false, latestProcessedLocalVersionTopicOffset=-1, latestProcessedUpstreamVersionTopicOffset=-1, latestProcessedUps
|
Publish Test Report:
clients/da-vinci-client/src/test/java/com/linkedin/davinci/kafka/consumer/SITWithPWiseAndBufferAfterLeaderTest.java#L1
org.mockito.exceptions.verification.TooFewActualInvocations:
hostLevelIngestionStats.recordTotalBytesConsumed(
<any long>
);
Wanted 2 times:
-> at com.linkedin.davinci.stats.HostLevelIngestionStats.recordTotalBytesConsumed(HostLevelIngestionStats.java:499)
But was 1 time:
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.processConsumerRecord(StoreIngestionTask.java:2615)
|
Publish Test Report:
clients/da-vinci-client/src/test/java/com/linkedin/davinci/kafka/consumer/SITWithTWiseWithoutBufferAfterLeaderTest.java#L1
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
storageMetadataService.put(
"TestTopic_52b0b0b22d_931ba53f_v1",
2,
OffsetRecord{localVersionTopicOffset=3, upstreamOffset=-1, leaderTopic=null, offsetLag=0, eventTimeEpochMs=-1, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=true, databaseInfo={}, realTimeProducerState={}}
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTaskTest.lambda$testNotifier$35(StoreIngestionTaskTest.java:1623)
Actual invocations have different arguments:
storageMetadataService.getLastOffset(
"TestTopic_52b0b0b22d_931ba53f_v1",
1
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.getLastOffset(DeepCopyOffsetManager.java:49)
storageMetadataService.getLastOffset(
"TestTopic_52b0b0b22d_931ba53f_v1",
2
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.getLastOffset(DeepCopyOffsetManager.java:49)
storageMetadataService.computeStoreVersionState(
"TestTopic_52b0b0b22d_931ba53f_v1",
com.linkedin.venice.offsets.DeepCopyStorageMetadataService$$Lambda$693/152643198@6e157f3c
);
-> at com.linkedin.venice.offsets.DeepCopyStorageMetadataService.computeStoreVersionState(DeepCopyStorageMetadataService.java:33)
storageMetadataService.put(
"TestTopic_52b0b0b22d_931ba53f_v1",
1,
OffsetRecord{localVersionTopicOffset=1, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=1737503020483, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}}
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.put(DeepCopyOffsetManager.java:38)
storageMetadataService.put(
"TestTopic_52b0b0b22d_931ba53f_v1",
1,
OffsetRecord{localVersionTopicOffset=2, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=1737503020483, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}}
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.put(DeepCopyOffsetManager.java:38)
storageMetadataService.computeStoreVersionState(
"TestTopic_52b0b0b22d_931ba53f_v1",
com.linkedin.venice.offsets.DeepCopyStorageMetadataService$$Lambda$693/152643198@2c28d2bf
);
-> at com.linkedin.venice.offsets.DeepCopyStorageMetadataService.computeStoreVersionState(DeepCopyStorageMetadataService.java:33)
storageMetadataService.put(
"TestTopic_52b0b0b22d_931ba53f_v1",
1,
OffsetRecord{localVersionTopicOffset=3, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=1737503020483, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=true, databaseInfo={}, realTimeProducerState={}}
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.put(DeepCopyOffsetManager.java:38)
storageMetadataService.computeStoreVersionState(
"TestTopic_52b0b0b22d_931ba53f_v1",
com.linkedin.venice.offsets.DeepCopyStorageMetadataService$$Lambda$693/152643198@a8969fc
);
-> at com.linkedin.venice.offsets.DeepCopyStorageMetadataService.computeStoreVersionState(DeepCopyStorageMetadataService.java:33)
storageMetadataService.put(
"TestTopic_52b0b0b22d_931ba53f_v1",
2,
OffsetRecord{localVersionTopicOffset=1, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=1737503020483, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}}
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.put(DeepCopyOffsetManager.java:38)
storageMetadataService.put(
"TestTopic_52b0b0b22d_931ba53f_v1",
2,
OffsetRecord{localVersionTopicOffset=2, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=1737503020483, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}}
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.put(DeepCopyOffsetManager.java:38)
storageMetadataService.computeStoreVersionState(
"TestTopic_52b0b0b22d_931ba53f_v1",
com.linkedin.venice.offsets
|
Publish Test Report:
clients/da-vinci-client/src/test/java/com/linkedin/davinci/kafka/consumer/SITWithTWiseWithoutBufferAfterLeaderTest.java#L1
java.lang.AssertionError: pcs.getLatestProcessedLocalVersionTopicOffset() for PARTITION_FOO is expected to be zero! expected [0] but found [1]
|
Publish Test Report:
clients/da-vinci-client/src/test/java/com/linkedin/davinci/kafka/consumer/SITWithTWiseWithoutBufferAfterLeaderTest.java#L1
org.mockito.exceptions.verification.TooFewActualInvocations:
hostLevelIngestionStats.recordTotalBytesConsumed(
<any long>
);
Wanted 3 times:
-> at com.linkedin.davinci.stats.HostLevelIngestionStats.recordTotalBytesConsumed(HostLevelIngestionStats.java:499)
But was 2 times:
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.processConsumerRecord(StoreIngestionTask.java:2615)
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.processConsumerRecord(StoreIngestionTask.java:2615)
|
Publish Test Report:
clients/da-vinci-client/src/test/java/com/linkedin/davinci/kafka/consumer/SITWithTWiseWithoutBufferAfterLeaderTest.java#L1
org.mockito.exceptions.verification.TooFewActualInvocations:
hostLevelIngestionStats.recordTotalBytesConsumed(
<any long>
);
Wanted 2 times:
-> at com.linkedin.davinci.stats.HostLevelIngestionStats.recordTotalBytesConsumed(HostLevelIngestionStats.java:499)
But was 1 time:
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.processConsumerRecord(StoreIngestionTask.java:2615)
|
Publish Test Report:
clients/da-vinci-client/src/test/java/com/linkedin/davinci/repository/NativeMetadataRepositoryTest.java#L133
java.lang.AssertionError: expected [2000.0] but found [1000.0]
|
Publish Test Report:
clients/da-vinci-client/src/test/java/com/linkedin/davinci/kafka/consumer/SITWithPWiseAndBufferAfterLeaderTest.java#L1
Wanted but not invoked:
leaderFollowerStoreIngestionTask.reportError(
<any string>,
1,
<Capturing argument>
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.reportError(StoreIngestionTask.java:4314)
However, there were exactly 28 interactions with this mock:
leaderFollowerStoreIngestionTask.subscribePartition(
TestTopic_5b88a60a61_4c1f6ff_v1-1
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTaskTest.runTest(StoreIngestionTaskTest.java:886)
leaderFollowerStoreIngestionTask.subscribePartition(
TestTopic_5b88a60a61_4c1f6ff_v1-1,
true
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.subscribePartition(StoreIngestionTask.java:635)
leaderFollowerStoreIngestionTask.throwIfNotRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.subscribePartition(StoreIngestionTask.java:649)
leaderFollowerStoreIngestionTask.isRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.throwIfNotRunning(StoreIngestionTask.java:596)
leaderFollowerStoreIngestionTask.getIsRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.isRunning(StoreIngestionTask.java:4147)
leaderFollowerStoreIngestionTask.nextSeqNum();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.subscribePartition(StoreIngestionTask.java:658)
leaderFollowerStoreIngestionTask.run();
-> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
leaderFollowerStoreIngestionTask.isRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.run(StoreIngestionTask.java:1648)
leaderFollowerStoreIngestionTask.getIsRunning();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.isRunning(StoreIngestionTask.java:4147)
leaderFollowerStoreIngestionTask.updateIngestionRoleIfStoreChanged(
Mock for Store, hashCode: 680998412
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.run(StoreIngestionTask.java:1650)
leaderFollowerStoreIngestionTask.isHybridMode();
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.updateIngestionRoleIfStoreChanged(StoreIngestionTask.java:1566)
leaderFollowerStoreIngestionTask.processConsumerActions(
Mock for Store, hashCode: 680998412
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.run(StoreIngestionTask.java:1651)
leaderFollowerStoreIngestionTask.processConsumerAction(
KafkaTaskMessage{type=SUBSCRIBE, topicPartition=TestTopic_5b88a60a61_4c1f6ff_v1-1, attempts=1, sequenceNumber=1, createdTimestampInMs=1737503058549},
Mock for Store, hashCode: 680998412
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.processConsumerActions(StoreIngestionTask.java:1940)
leaderFollowerStoreIngestionTask.processCommonConsumerAction(
KafkaTaskMessage{type=SUBSCRIBE, topicPartition=TestTopic_5b88a60a61_4c1f6ff_v1-1, attempts=1, sequenceNumber=1, createdTimestampInMs=1737503058549}
);
-> at com.linkedin.davinci.kafka.consumer.LeaderFollowerStoreIngestionTask.processConsumerAction(LeaderFollowerStoreIngestionTask.java:572)
leaderFollowerStoreIngestionTask.reportIfCatchUpVersionTopicOffset(
PCS{replicaId=TestTopic_5b88a60a61_4c1f6ff_v1-1, hybrid=false, latestProcessedLocalVersionTopicOffset=-1, latestProcessedUpstreamVersionTopicOffset=-1, latestProcessedUpstreamRTOffsetMap={}, latestIgnoredUpstreamRTOffsetMap={}, latestRTOffsetTriedToProduceToVTMap{}, offsetRecord=OffsetRecord{localVersionTopicOffset=-1, upstreamOffset=-1, leaderTopic=null, offsetLag=0, eventTimeEpochMs=-1, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}}, errorReported=false, started=false, lagCaughtUp=false, processedRecordSizeSinceLastSync=0, leaderFollowerState=STANDBY}
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.processCommonConsumerAction(StoreIngestionTask.java:2185)
leaderFollowerStoreIngestionTask.updateLeaderTopicOnFollower(
PCS{replicaId=TestTopic_5b88a60a61_4c1f6ff_v1-1, hybrid=false, latestProcessedLocalVersionTopicOffset=-1, latestProcessedUpstreamVersionTopicOffset=-1, latestProcessedUps
|
Publish Test Report:
clients/da-vinci-client/src/test/java/com/linkedin/davinci/kafka/consumer/SITWithPWiseAndBufferAfterLeaderTest.java#L1
org.mockito.exceptions.verification.TooFewActualInvocations:
hostLevelIngestionStats.recordTotalBytesConsumed(
<any long>
);
Wanted 2 times:
-> at com.linkedin.davinci.stats.HostLevelIngestionStats.recordTotalBytesConsumed(HostLevelIngestionStats.java:499)
But was 1 time:
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTask.processConsumerRecord(StoreIngestionTask.java:2615)
|
Publish Test Report:
clients/da-vinci-client/src/test/java/com/linkedin/davinci/kafka/consumer/SITWithTWiseWithoutBufferAfterLeaderTest.java#L1
org.mockito.exceptions.verification.ArgumentsAreDifferent: Argument(s) are different! Wanted:
storageMetadataService.put(
"TestTopic_52b0b0b22d_931ba53f_v1",
2,
OffsetRecord{localVersionTopicOffset=3, upstreamOffset=-1, leaderTopic=null, offsetLag=0, eventTimeEpochMs=-1, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=true, databaseInfo={}, realTimeProducerState={}}
);
-> at com.linkedin.davinci.kafka.consumer.StoreIngestionTaskTest.lambda$testNotifier$35(StoreIngestionTaskTest.java:1623)
Actual invocations have different arguments:
storageMetadataService.getLastOffset(
"TestTopic_52b0b0b22d_931ba53f_v1",
1
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.getLastOffset(DeepCopyOffsetManager.java:49)
storageMetadataService.getLastOffset(
"TestTopic_52b0b0b22d_931ba53f_v1",
2
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.getLastOffset(DeepCopyOffsetManager.java:49)
storageMetadataService.computeStoreVersionState(
"TestTopic_52b0b0b22d_931ba53f_v1",
com.linkedin.venice.offsets.DeepCopyStorageMetadataService$$Lambda$693/152643198@6e157f3c
);
-> at com.linkedin.venice.offsets.DeepCopyStorageMetadataService.computeStoreVersionState(DeepCopyStorageMetadataService.java:33)
storageMetadataService.put(
"TestTopic_52b0b0b22d_931ba53f_v1",
1,
OffsetRecord{localVersionTopicOffset=1, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=1737503020483, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}}
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.put(DeepCopyOffsetManager.java:38)
storageMetadataService.put(
"TestTopic_52b0b0b22d_931ba53f_v1",
1,
OffsetRecord{localVersionTopicOffset=2, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=1737503020483, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}}
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.put(DeepCopyOffsetManager.java:38)
storageMetadataService.computeStoreVersionState(
"TestTopic_52b0b0b22d_931ba53f_v1",
com.linkedin.venice.offsets.DeepCopyStorageMetadataService$$Lambda$693/152643198@2c28d2bf
);
-> at com.linkedin.venice.offsets.DeepCopyStorageMetadataService.computeStoreVersionState(DeepCopyStorageMetadataService.java:33)
storageMetadataService.put(
"TestTopic_52b0b0b22d_931ba53f_v1",
1,
OffsetRecord{localVersionTopicOffset=3, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=1737503020483, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=true, databaseInfo={}, realTimeProducerState={}}
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.put(DeepCopyOffsetManager.java:38)
storageMetadataService.computeStoreVersionState(
"TestTopic_52b0b0b22d_931ba53f_v1",
com.linkedin.venice.offsets.DeepCopyStorageMetadataService$$Lambda$693/152643198@a8969fc
);
-> at com.linkedin.venice.offsets.DeepCopyStorageMetadataService.computeStoreVersionState(DeepCopyStorageMetadataService.java:33)
storageMetadataService.put(
"TestTopic_52b0b0b22d_931ba53f_v1",
2,
OffsetRecord{localVersionTopicOffset=1, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=1737503020483, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}}
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.put(DeepCopyOffsetManager.java:38)
storageMetadataService.put(
"TestTopic_52b0b0b22d_931ba53f_v1",
2,
OffsetRecord{localVersionTopicOffset=2, upstreamOffset=-1, leaderTopic=null, offsetLag=9223372036854775807, eventTimeEpochMs=1737503020483, latestProducerProcessingTimeInMs=0, isEndOfPushReceived=false, databaseInfo={}, realTimeProducerState={}}
);
-> at com.linkedin.venice.offsets.DeepCopyOffsetManager.put(DeepCopyOffsetManager.java:38)
storageMetadataService.computeStoreVersionState(
"TestTopic_52b0b0b22d_931ba53f_v1",
com.linkedin.venice.offsets
|
ubuntu-latest pipelines will use ubuntu-24.04 soon. For more details, see https://github.com/actions/runner-images/issues/10636
|
Loading