Remove shard-snapshot-chunk-size Remove shard-snapshot-chunk-size and replace its occurrences with maximum-message-slice-size. JIRA: CONTROLLER-1980 Change-Id: Iab862d0789b75a89b6476b4ec048d7344362adf2 Signed-off-by: Robert Varga <robert.varga@pantheon.tech> Signed-off-by: Matej Sramcik <matej.sramcik@pantheon.tech>
Do not use Optional for leaderAddress Optional is a largely-superfluous indirection. Use a nullable return and adjust users. Change-Id: Ic453039e174a94c55c3821c807202ba2cead0c9e Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
ServerInfo should be a plain record This is a pure DTO, turn it into a record, eliminating quite a bit of verbosity. Also clean up RaftActorContextImpl.updatePeerIds() so we do not juggle two booleans and set/reset our voting status. Change-Id: Ifbb2ae0c8163472b8ef3b59210f12dccb1b8e30d Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Merge ClientRequestTracker The split between interface and implementation is completely unnecessary, this is just a simple DTO. Change-Id: Ie10a68b003b6ef82f59fb298cd433c8b876afcc3 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Do not leak ReplicatedLogEntry in Replicate message While convenient, this is a leak of constructs and contains a debug-only access to data. While we are at it make Replicate a simple record. JIRA: CONTROLLER-2044 Change-Id: I92a364a9590771f0bb9278e2e8ca8176691b8f75 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Access clientActor exactly once Make sure the null check is explicit to everyone. Change-Id: I299728e411712ad73a83e78d66d078b0d79453b4 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Make snapshot offset long to prevent overflow The current implementation uses integer which can easily overflow if the Snapshot grows over 2.14GB JIRA: CONTROLLER-2086 Change-Id: Ibbe3d3e1667cf59137e057b31141033a826142e4 Signed-off-by: tibor.kral <tibor.kral@pantheon.tech> Signed-off-by: Samuel Schneider <samuel.schneider@pantheon.tech> Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Clean up SnapshotManager nested classes Upgraded checkstyle is detecting a number of these as 'should be final'. Fix those findings. Change-Id: I171c046616a0b0c30f5cd46de0d3486e9943e757 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Remove support for pre-Fluorine versions We are carrying support for talking RAFT all the way to the initial version. This is not necessary and a bit inefficient. This patch removes support for talking to anything older than Fluorine GA. JIRA: CONTROLLER-2082 Change-Id: Ib9b345aed478004f37f334abae2e3a2879e96512 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Remove legacy RaftRPC proxies These proxies have not been used since version 7.0.0, remove them. JIRA: CONTROLLER-2081 Change-Id: I6a2ff617c8e356b0ab3e05ffc25ba432fb6096a9 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Remove FollowerIdentifier.Proxy This proxy has been deprecated, remove it. JIRA: CONTROLLER-2081 Change-Id: I1a80305a87c692ff1c39f02a7113d4c29847dc22 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Remove EmptyExternalizableProxy EmptyExternalizableProxy is a rather inefficient way of doing things, remove it along with its (unused) users. JIRA: CONTROLLER-2079 Change-Id: I87179e1e8b53547711b4d0c8ceb4607f341c997d Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Remove legacy raft.persisted proxies These proxies have not been emitted since controller-7.0.0, remove them now. JIRA: CONTROLLER-2078 Change-Id: I31a86bf464857fccbc1d68a1f0d520971cb153b5 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Migrate users of Optional.get() We have an incoming enforcement patch, prepare to adopt it. Change-Id: If73abd4ceaea71a216a4bc3a3968b400b508ec38 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Annotate AbstractRaftRPC with java.io.Serial We have constructs which are related to serialization, annotate them. Change-Id: I8e5d95adaaa25eee35dc2bba349925eb982af207 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Remove legacy raft message Proxy constructors These constructors are not invoked anywhere, remove them. This also means the writeExternal() method cannot legally be invoked. Change-Id: I6c72ac334b07218d4bfb0cb1cda37771db2c0aff Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Remove FollowerIdentifier.Proxy constructor This constructor is not used anywhere, remove it. This also means writeExternal() cannot legally be invoked. Change-Id: Ia19dd40104d0bc5c12bc9d3ecb124254d33e0133 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Simplify onGetOnDemandRaftStats() Use an ImmutableList constructed from a stream of peers, improving density a bit. Change-Id: I845aba32c331c6516d3ea7a8b0b5de4e9cd69754 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Improve ChangeServersVotingStatusState We are using multiple lookups and gets and a mutable List. Improve interactions to improve pre-sizing and use an ImmutableList, without performing multiple intermediate lookups. Change-Id: Ibf121c1296e093e99592921d52242e929d3b9a2a Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Remove SimpleReplicatedLogEntry.Proxy constructor We are not using this proxy in the write path, remove its constructor. Change-Id: Ifeefcd8cfc787306d16cbd13daf5e4537e80da91 Signed-off-by: Robert Varga <robert.varga@pantheon.tech>