[
https://issues.apache.org/jira/browse/IGNITE-23496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17892761#comment-17892761
]
Roman Puchkovskiy commented on IGNITE-23496:
--------------------------------------------
Expiration time encoding approach will not work as leases get prolonged, their
start time remains the same, but expiration time grows. Another approach is
implemented.
It is still a lot more compact than the original one
Old 4710568 bytes, new 198024 bytes
And still a lot faster
Benchmark Mode Cnt Score
Error Units
LeaseBatchSerializationBenchmark.deserializeNew avgt 15 1443,554 ±
52,776 us/op
LeaseBatchSerializationBenchmark.deserializeOld avgt 15 67598,438 ±
2111,874 us/op
LeaseBatchSerializationBenchmark.serializeNew avgt 15 5409,242 ±
310,886 us/op
LeaseBatchSerializationBenchmark.serializeOld avgt 15 21167,838 ±
345,363 us/op
> Optimize lease batch serialization
> ----------------------------------
>
> Key: IGNITE-23496
> URL: https://issues.apache.org/jira/browse/IGNITE-23496
> Project: Ignite
> Issue Type: Improvement
> Reporter: Roman Puchkovskiy
> Assignee: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0
>
> Time Spent: 1h 20m
> Remaining Estimate: 0h
>
> Ignite nodes update leases each 2.5 seconds, in batches. A batch might
> contain dozens of thousands (or more) leases. The batch is serialized to
> bytes and stored in the Metastorage. Current seriailzation format is not too
> compact; for example, having 25000 partitions (and one lease per partition)
> in a 3-node cluster, we get approximately 4.7Mb per batch.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)