Compress journal with lz4

When the value is a binary (which should be the case with Riak)
This commit is contained in:
Martin Sumner 2017-11-05 21:48:57 +00:00
parent 99428d0e55
commit 830906c552

View file

@ -270,7 +270,8 @@ maybe_compress(JournalBin) ->
serialise_object(Object, false) when is_binary(Object) -> serialise_object(Object, false) when is_binary(Object) ->
Object; Object;
serialise_object(Object, true) when is_binary(Object) -> serialise_object(Object, true) when is_binary(Object) ->
zlib:compress(Object); {ok, Bin} = lz4:pack(Object),
Bin;
serialise_object(Object, false) -> serialise_object(Object, false) ->
term_to_binary(Object); term_to_binary(Object);
serialise_object(Object, true) -> serialise_object(Object, true) ->
@ -297,7 +298,8 @@ revert_value_from_journal(JournalBin, ToIgnoreKeyChanges) ->
end. end.
deserialise_object(Binary, true, true) -> deserialise_object(Binary, true, true) ->
zlib:uncompress(Binary); {ok, Deflated} = lz4:unpack(Binary),
Deflated;
deserialise_object(Binary, true, false) -> deserialise_object(Binary, true, false) ->
Binary; Binary;
deserialise_object(Binary, false, _) -> deserialise_object(Binary, false, _) ->