[ 
https://issues.apache.org/jira/browse/IGNITE-19444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17722172#comment-17722172
 ] 

Vladislav Pyatkov commented on IGNITE-19444:
--------------------------------------------

LGTM
Merged 9f4f78721029e21194ed469e8764d5f2ef67d204

> Excess size of serialized lease 
> --------------------------------
>
>                 Key: IGNITE-19444
>                 URL: https://issues.apache.org/jira/browse/IGNITE-19444
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Denis Chudov
>            Assignee: Denis Chudov
>            Priority: Major
>              Labels: ignite-3
>
> *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:
> {code:java}
> 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 {code}
> It should be fixed for integrating the placement driver into Ignite.
> *Definition of done*
> The size of serialized lease is significantly reduced.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to