rpuch commented on code in PR #4684:
URL: https://github.com/apache/ignite-3/pull/4684#discussion_r1832822977
##########
modules/replicator/build.gradle:
##########
@@ -37,6 +37,7 @@ dependencies {
implementation project(':ignite-placement-driver-api')
implementation project(':ignite-failure-handler')
implementation project(':ignite-partition-distribution')
+ implementation project(':ignite-metastorage-api')
Review Comment:
It actually does not depend on the MG implementation, it's MG API I added a
dependency from. Is this still bad?
Also, the idea of the fix is to look at ClusterTime (a Metastorage
component), so replicator has to know about it. An alternative would be to do
this check at the accepting side (`PartitionReplicaListener`), but with the
current approach we save more resources (less objects are created). Or we could
invert dependencies by declaring an interface like `PrimaryInfo` (probably, a
better name is to be invented) and move `shouldAdvanceIdleSafeTime()` method to
it. Then implement the interface in the metastorage module and so on. But the
interface would look very artificially.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]