[
https://issues.apache.org/jira/browse/IGNITE-19444?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Denis Chudov updated IGNITE-19444:
----------------------------------
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:
{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.
was:
*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. It should be fixed for integrating the
placement driver into Ignite.
*Definition of done*
The size of serialized lease is significantly reduced.
> 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)