History log of /6.6.0/platform/cbcompress/ (Results 1 - 21 of 21)
Revision (<<< Hide revision tags) (Show revision tags >>>)Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
Revision tags: v6.5.1, v6.0.3
da567ebf20-Mar-2019 Trond Norbye <trond.norbye@gmail.com>

Get rid of config.h

Define all flags as compiler options with -DFOO=1

Change-Id: I8deab908c9feb08a090a56dafa8c3a9ecb1ed1e3
Reviewed-on: http://review.couchbase.org/106500
Te

Get rid of config.h

Define all flags as compiler options with -DFOO=1

Change-Id: I8deab908c9feb08a090a56dafa8c3a9ecb1ed1e3
Reviewed-on: http://review.couchbase.org/106500
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...

Revision tags: v5.5.4
7b4c8fa305-Nov-2018 Dave Rigby <daver@couchbase.com>

MB-30040: Update platform to use Folly

Change-Id: Id2eeb0205ff3c1ddf4269876366613b4860c6c2a
Reviewed-on: http://review.couchbase.org/101368
Tested-by: Build Bot <build@couchbase.com>

MB-30040: Update platform to use Folly

Change-Id: Id2eeb0205ff3c1ddf4269876366613b4860c6c2a
Reviewed-on: http://review.couchbase.org/101368
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@couchbase.com>

show more ...

ca9be02a15-Mar-2019 Trond Norbye <trond.norbye@gmail.com>

config.h should not include other files

.h and .cc should include the files they need and not rely
on a number of files be included through config.h

Change-Id: Id1e2df8abefe3c81

config.h should not include other files

.h and .cc should include the files they need and not rely
on a number of files be included through config.h

Change-Id: Id1e2df8abefe3c81d783bf2e8ac31b6fd1dae257
Reviewed-on: http://review.couchbase.org/106287
Reviewed-by: Jim Walker <jim@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...

45b2bac516-Sep-2018 Paolo Cocchi <paolo.cocchi@couchbase.com>

MB-31325: Add Google Benchmark include directory

This change is in preparation of the upgrade of the Google Benchmark
library.
Multiple library commits between our current revision a

MB-31325: Add Google Benchmark include directory

This change is in preparation of the upgrade of the Google Benchmark
library.
Multiple library commits between our current revision and the new
revision change the way GBench is built.
That requires that we specify the 'target_include_directories' in the
compilation units where we use the library.

Change-Id: Ia7766d9c3868e3a604d3637a1225c37ade3f8f77
Reviewed-on: http://review.couchbase.org/99670
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>

show more ...

5cad704019-Jun-2018 Dave Rigby <daver@couchbase.com>

TestSnappyCompression: Pass correct input to deflate()

ASan flagged the following invalid memory access in TestSnappyCompression:

==30703==ERROR: AddressSanitizer: heap-buffer-o

TestSnappyCompression: Pass correct input to deflate()

ASan flagged the following invalid memory access in TestSnappyCompression:

==30703==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x625000002100 at pc 0x7f3d89470004 bp 0x7ffde01208f0 sp 0x7ffde01200a0
READ of size 8193 at 0x625000002100 thread T0
#0 0x7f3d89470003 (/usr/local/lib64/libasan.so.4+0x4f003)
#1 0x41a5a1 in cb::const_char_buffer::const_char_buffer(char const*) platform/include/platform/sized_buffer.h:381
#2 0x41a5a1 in Compression_TestSnappyCompression_Test::TestBody() platform/cbcompress/compression_test.cc:40
...

0x625000002100 is located 0 bytes to the right of 8192-byte region [0x625000000100,0x625000002100)
allocated by thread T0 here:
#0 0x7f3d894fbb50 in operator new[](unsigned long) (/usr/local/lib64/libasan.so.4+0xdab50)
#1 0x41a798 in cb::compression::Allocator::allocate(unsigned long) platform/include/platform/compression/allocator.h:57

SUMMARY: AddressSanitizer: heap-buffer-overflow (/usr/local/lib64/libasan.so.4+0x4f003)

Issue is that we are only passing the start address of input to
deflate; which will construct a const_char_buffer of size
strlen(input) which reads off the end of the buffer.

Change-Id: I1b8948ac0629fcaddce5b6a461d37d3fd2d51a01
Reviewed-on: http://review.couchbase.org/95814
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...

54909a9d11-Jun-2018 Dave Rigby <daver@couchbase.com>

MB-30026: Disable LZ4 deprecation macro due to C++14 incompatibility

LZ4 tags deprecated methods with a macro. Current version of LZ4
(v.1.8.0) gives an error under Clang when -std=c++14

MB-30026: Disable LZ4 deprecation macro due to C++14 incompatibility

LZ4 tags deprecated methods with a macro. Current version of LZ4
(v.1.8.0) gives an error under Clang when -std=c++14 is specified -
see https://github.com/lz4/lz4/pull/393.

Disable the macro to avoid this.

Change-Id: Idd1ee05bee46542cd009df8be558dc28b18fe404
Reviewed-on: http://review.couchbase.org/95409
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Reviewed-by: Tim Bradgate <tim.bradgate@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...

Revision tags: v5.5.0
1ebd782809-Apr-2018 Dave Rigby <daver@couchbase.com>

GTest: Fix signed/unsigned comparision warnings

Change-Id: Ie1387f474088f4de329f0530e968e891a5dc311b
Reviewed-on: http://review.couchbase.org/92415
Tested-by: Build Bot <build@couchb

GTest: Fix signed/unsigned comparision warnings

Change-Id: Ie1387f474088f4de329f0530e968e891a5dc311b
Reviewed-on: http://review.couchbase.org/92415
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Tim Bradgate <tim.bradgate@couchbase.com>

show more ...

Revision tags: v4.6.5
c888d66005-Apr-2018 Sriram Ganesan <sriram@couchbase.com>

MB-28631: Support get_uncompressed_length API

Add an API to get the uncompressed length of a compressed
value

Change-Id: I85f10e6eef5d3ffd434b214c27dc2293f509dac2
Reviewed-o

MB-28631: Support get_uncompressed_length API

Add an API to get the uncompressed length of a compressed
value

Change-Id: I85f10e6eef5d3ffd434b214c27dc2293f509dac2
Reviewed-on: http://review.couchbase.org/91923
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...

6696145f16-Feb-2018 Dave Rigby <daver@couchbase.com>

Replace INCLUDE_DIRECTORIES with TARGET_INCLUDE_DIRECTORIES

It is preferred to use target_include_directories() instead of
include_directories() to ensure that header dependancies are ex

Replace INCLUDE_DIRECTORIES with TARGET_INCLUDE_DIRECTORIES

It is preferred to use target_include_directories() instead of
include_directories() to ensure that header dependancies are explicit
(and we don't accidently depend on headers). See 'Effective Modern
CMake[1]' for background.

Replace include_directories() with target_include_directories() where
necessary, or simply remove include_directories() where it is
unnecessary - for example where a target already depends on a library
and the library has already declared its public includes.

To assist with this, an explicit 'platform_headers' interface library
has been created, targets which only wish to use platform's headers
(for example tests) can link to that library to get the correct search
paths.

[1]: https://gist.github.com/mbinna/c61dbb39bca0e4fb7d1f73b0d66a4fd1

Change-Id: I4483fc3d5c888ef7bf1ece2e875df5c90655d1a6
Reviewed-on: http://review.couchbase.org/90742
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>

show more ...

874f114724-Jan-2018 Trond Norbye <trond.norbye@gmail.com>

MB-27673: Add option to bypass building unit tests

Add platform into COUCHBASE_DISABLED_UNIT_TESTS to skip building
all of the unit tests.

Change-Id: I5d13f164a3ddec8db6321cf4e8

MB-27673: Add option to bypass building unit tests

Add platform into COUCHBASE_DISABLED_UNIT_TESTS to skip building
all of the unit tests.

Change-Id: I5d13f164a3ddec8db6321cf4e8e96accdbb1a3b8
Reviewed-on: http://review.couchbase.org/88353
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Jim Walker <jim@couchbase.com>

show more ...

a232ca1a05-Dec-2017 Trond Norbye <trond.norbye@gmail.com>

Allow allocator to be specified for compression

couchstore still use cb_malloc/cb_free in order to allocate
blocks, and it would be beneficial to use the same library
methods to deal

Allow allocator to be specified for compression

couchstore still use cb_malloc/cb_free in order to allocate
blocks, and it would be beneficial to use the same library
methods to deal with compression everywhere in our system
(as an extra bonus it means that once we've added support
for a new algorithm we may use it everywhere).

Previously cb::compression allocated all blocks by using
new char[xx], and the buffer kept a std::unique_ptr<char[]>.
That means that couchstore would have to allocate another
buffer and copy the data over, which isn't very optimal.

This patch modifies the Buffer so that it internally it use
either new[]/delete[] or cb_malloc/cb_free for buffer
allocation.

Change-Id: I43d5de8168cd4bbd2c8a3c1713455287d72e41b4
Reviewed-on: http://review.couchbase.org/86374
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...

26bb60f305-Dec-2017 Sriram Ganesan <sriram@couchbase.com>

Revert "Remove unused API method cb::compression::validate"

This reverts commit f99ebb00c34a19515f13dd8fce66f01758fdc3c5.
This API was added to validate the input buffer from a mutation

Revert "Remove unused API method cb::compression::validate"

This reverts commit f99ebb00c34a19515f13dd8fce66f01758fdc3c5.
This API was added to validate the input buffer from a mutation
command

Change-Id: I11ecc63acbf84ce58d9dede0c7bb7de56386bcff
Reviewed-on: http://review.couchbase.org/86352
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>

show more ...

bc2a5c9630-Nov-2017 Trond Norbye <trond.norbye@gmail.com>

Refactor: use modern CMake style for cbcompress

Change-Id: I1725c5424acdbbc420602ae5608d639d1dc9c56c
Reviewed-on: http://review.couchbase.org/86178
Tested-by: Build Bot <build@couchb

Refactor: use modern CMake style for cbcompress

Change-Id: I1725c5424acdbbc420602ae5608d639d1dc9c56c
Reviewed-on: http://review.couchbase.org/86178
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...

0e38de5328-Nov-2017 Trond Norbye <trond.norbye@gmail.com>

Prototype of LZ4 support

From all the examples I've seen they store the length of of
the inflated data along with the data to inflate (to be able
to allocate the correct output size)

Prototype of LZ4 support

From all the examples I've seen they store the length of of
the inflated data along with the data to inflate (to be able
to allocate the correct output size). This prototype does
it the same way (the compressed data isn't intended to leave
the node)

Change-Id: I56ac5c8a927b3456156dcbd4e11b34eac51d8eb4
Reviewed-on: http://review.couchbase.org/86058
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...

ae51e9b330-Nov-2017 Trond Norbye <trond.norbye@gmail.com>

Set a max size for inflation objects

Change-Id: If8af61eb2d8dda0b4a9be3609f384f42415edcc0
Reviewed-on: http://review.couchbase.org/86175
Tested-by: Build Bot <build@couchbase.com>

Set a max size for inflation objects

Change-Id: If8af61eb2d8dda0b4a9be3609f384f42415edcc0
Reviewed-on: http://review.couchbase.org/86175
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...

2cc936d928-Nov-2017 Trond Norbye <trond.norbye@gmail.com>

Remove meaningless const in compress API

Change-Id: I6a505c126076c3b790dcff5365386aed9f89e6dc
Reviewed-on: http://review.couchbase.org/86056
Reviewed-by: Dave Rigby <daver@couchbase.

Remove meaningless const in compress API

Change-Id: I6a505c126076c3b790dcff5365386aed9f89e6dc
Reviewed-on: http://review.couchbase.org/86056
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...

f99ebb0027-Nov-2017 Trond Norbye <trond.norbye@gmail.com>

Remove unused API method cb::compression::validate

Change-Id: I6489c76d44e85db6bb51cf8039e499ffc8f8513c
Reviewed-on: http://review.couchbase.org/86006
Reviewed-by: Dave Rigby <daver@

Remove unused API method cb::compression::validate

Change-Id: I6489c76d44e85db6bb51cf8039e499ffc8f8513c
Reviewed-on: http://review.couchbase.org/86006
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...

5e6a88c427-Nov-2017 Trond Norbye <trond.norbye@gmail.com>

Refactor: Use snappy's C++ API instead of the C API

Change-Id: Ib351fac1b4a68247280a8acb734d724ce8c67230
Reviewed-on: http://review.couchbase.org/86005
Tested-by: Build Bot <build@co

Refactor: Use snappy's C++ API instead of the C API

Change-Id: Ib351fac1b4a68247280a8acb734d724ce8c67230
Reviewed-on: http://review.couchbase.org/86005
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...

e1725aaf15-Nov-2017 Sriram Ganesan <sriram@couchbase.com>

MB-26835: Pass cb::const_char_buffer instead of a raw char pointer

Change-Id: I854ee1985d015a5b259ea013001d77ea3cafdbc3
Reviewed-on: http://review.couchbase.org/85568
Reviewed-by: Da

MB-26835: Pass cb::const_char_buffer instead of a raw char pointer

Change-Id: I854ee1985d015a5b259ea013001d77ea3cafdbc3
Reviewed-on: http://review.couchbase.org/85568
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>

show more ...

e34755a110-Nov-2017 Sriram Ganesan <sriram@couchbase.com>

MB-26255[7]: Add cb::compression::validate API

Add a validate API to check if a given buffer has been actually
compressed with the given algorithm

Change-Id: I0535482e8e57c2fb6b

MB-26255[7]: Add cb::compression::validate API

Add a validate API to check if a given buffer has been actually
compressed with the given algorithm

Change-Id: I0535482e8e57c2fb6bd676263f2878935aebbe38
Reviewed-on: http://review.couchbase.org/85488
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Trond Norbye <trond.norbye@gmail.com>

show more ...

Revision tags: v5.0.0
15f14fb003-Jan-2017 Trond Norbye <trond.norbye@gmail.com>

Refactor: build cbcompress as shared object

This change is needed in order to use the library from another
library (ep-engine / couchstore etc)

Change-Id: I1f4ca7e83852dab388440

Refactor: build cbcompress as shared object

This change is needed in order to use the library from another
library (ep-engine / couchstore etc)

Change-Id: I1f4ca7e83852dab38844073ec78343d19553fe5e
Reviewed-on: http://review.couchbase.org/71496
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Dave Rigby <daver@couchbase.com>

show more ...