]
Martin Gencur updated ISPN-4678:
--------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request:
Trim down ExpandableMarshalledValueByteStream to the actual data
length before storing in cache
-----------------------------------------------------------------------------------------------
Key: ISPN-4678
URL:
https://issues.jboss.org/browse/ISPN-4678
Project: Infinispan
Issue Type: Enhancement
Security Level: Public(Everyone can see)
Components: Core
Affects Versions: 7.0.0.Beta1
Reporter: Martin Gencur
Assignee: Martin Gencur
When storeAsBinary configuration flag is used, the ExpandableMarshalledValueByteStream is
used to serialize objects to byte arrays.
However, for value size up to 4kB, almost half of the space for each cache entry can be
wasted because the ByteStream is stored as is - with the additional space for future
expansion.
For value size greater than 4kB, only additional 25% of actual value size can be wasted.
But as these values can be quite large, the wasted space gets bigger too.
It is not necessary to store ExpandableMarshalledValueByteStream as is and can be
shrinked to actual data size before storing in cache.