You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladislav Pyatkov (Jira)" <ji...@apache.org> on 2023/05/12 13:15:00 UTC

[jira] [Commented] (IGNITE-19444) Excess size of serialized lease

    [ 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)