Hello everyone.

https://issues.apache.org/jira/browse/IGNITE-3592 is ready for review.
ci.tests [1] look good.
Upsource review was created.[2]

Solution provides 2 way to use compression.
1. Full compression mode.
Switches in the IgniteConfiguration#fullCompressionMode field.
Full compression means all data (metadata+value) of whole object will be
compress at the end of marshalling.

2. Annotated fields compression.
Values of fields annotated by @BinaryCompression annotation will be
compress at marshalling.
Only value, header of whole object will not be compress.

There is an opportunity to use user compressor.
It configures in the IgniteConfiguration#compressor field.
There is the Compressor interface which user can implement.

Default implementation is using GZIP lib.
There is one more implementation which use ZLIB  compression library
(Deflater).

Also there is the more flexible version [3] with parameterized annotations,
when we have several compressors and can choose them at runtime.
But such freedom can provides many problems.

Feel free to contact me for fixes and improvements.

[1] http://ci.ignite.apache.org/viewLog.html?buildId=520503
[2] http://reviews.ignite.apache.org/ignite/review/IGNT-CR-143
[3]
https://github.com/apache/ignite/pull/1650/commits/c7cf273d46bfe52fa57f1e296f3e649012b18572

-- 
Best Regards, Vyacheslav

Reply via email to