From 830906c5526e4254d05b5eff3630e0ba00efd931 Mon Sep 17 00:00:00 2001 From: Martin Sumner Date: Sun, 5 Nov 2017 21:48:57 +0000 Subject: [PATCH] Compress journal with lz4 When the value is a binary (which should be the case with Riak) --- src/leveled_codec.erl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/leveled_codec.erl b/src/leveled_codec.erl index 53bc81a..0d111d2 100644 --- a/src/leveled_codec.erl +++ b/src/leveled_codec.erl @@ -270,7 +270,8 @@ maybe_compress(JournalBin) -> serialise_object(Object, false) when is_binary(Object) -> Object; serialise_object(Object, true) when is_binary(Object) -> - zlib:compress(Object); + {ok, Bin} = lz4:pack(Object), + Bin; serialise_object(Object, false) -> term_to_binary(Object); serialise_object(Object, true) -> @@ -297,7 +298,8 @@ revert_value_from_journal(JournalBin, ToIgnoreKeyChanges) -> end. deserialise_object(Binary, true, true) -> - zlib:uncompress(Binary); + {ok, Deflated} = lz4:unpack(Binary), + Deflated; deserialise_object(Binary, true, false) -> Binary; deserialise_object(Binary, false, _) ->