Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
Motivation
The size of serialized lease along with it's key is close to 1 kb, in spite of that the lease consists of cluster node, two timestamps and couple of booleans. It is important because there are plenty of leases that are saved to meta storage every few seconds. ClusterNode should be replaced with node name, and algorithm of serialization should be changed in order to optimize size, in general, the size of serialized lease can be a several dozens of bytes.
Currently this leads to degradation during the execution of integration tests, the time of raft calls for meta storage group raises and starts to time out after some time, so multiple tests are failing after enabling PlacementDriverManager in IgniteImpl:
2023-05-11 17:20:18:946 +0300 [WARNING][CompletableFutureDelayScheduler][RaftGroupServiceImpl] Recoverable error during the request type=ActionRequestImpl occurred (will be retried on the randomly selected node): java.util.concurrent.CompletionException: java.util.concurrent.TimeoutException at java.base/java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:367) at java.base/java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:376) at java.base/java.util.concurrent.CompletableFuture$UniRelay.tryFire(CompletableFuture.java:1093) at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2159) at java.base/java.util.concurrent.CompletableFuture$Timeout.run(CompletableFuture.java:2871) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:830) Caused by: java.util.concurrent.TimeoutException ... 7 more
It should be fixed for integrating the placement driver into Ignite.
Definition of done
The size of serialized lease is significantly reduced.
Attachments
Issue Links
- blocks
-
IGNITE-18990 Integrate PlacementDriverManager into IgniteImpl
- Resolved