History log of /6.6.0/kv_engine/include/xattr/blob.h (Results 1 - 15 of 15)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v7.0.2, v6.6.3, v7.0.1, v7.0.0, v6.6.2, v6.5.2, v6.6.1, v6.0.5, v6.6.0, v6.5.1, v6.0.4, v6.5.0, v6.0.3, v5.5.4, v5.5.5, v5.5.6, v6.0.1
# 25fab519 07-Jan-2019 Ben Huddleston <ben.huddleston@couchbase.com>

MB-30041: Migrate xattr/blob to nlohmann json

Migrate the xattr/blob files to nlohmann json.

Change-Id: Ice9196d4cd436f8185b824f973a2a17f60fe0ec5
Reviewed-on: http://review.couc

MB-30041: Migrate xattr/blob to nlohmann json

Migrate the xattr/blob files to nlohmann json.

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

show more ...


Revision tags: v5.5.3, v6.0.0, v5.1.3, v5.5.2, v5.5.1, v5.1.2, v5.1.1
# cc6e00dc 07-Mar-2018 Dave Rigby <daver@couchbase.com>

MB-28524: Decompress existing XATTR when merging with new value

When an existing document with XATTRS is replaced with a new value, we
merge the XATTRs into the new value - see
getEx

MB-28524: Decompress existing XATTR when merging with new value

When an existing document with XATTRS is replaced with a new value, we
merge the XATTRs into the new value - see
getExistingItemToPreserveXattr().

However, if the existing value (including XATTRs) Snappy-compresed, we
fail to decompress the XATTRs before merging with the new value.

The effect of this is the document is corrupted; it's marked as
datatype=XATTR, but the XATTR part is actually snappy compressd.
As such it cannot be correctly read.

Address by using the decompressed form of the existing XATTRs when
creating the combined value+XATTR.

Note regression test follows in subsequent patch.

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

show more ...


# 3c9d7e52 06-Mar-2018 Jim Walker <jim@couchbase.com>

MB-28453: Remove get_body_offset usage from remove_context.cc

Use the xattr::Blob class to safely access the data (as it may
decompress).

This code introduces a second copy of t

MB-28453: Remove get_body_offset usage from remove_context.cc

Use the xattr::Blob class to safely access the data (as it may
decompress).

This code introduces a second copy of the data (when snappy is
encountered) which is not optimal and is tracked for improvement
MB-28521

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

show more ...


# c20a676b 05-Mar-2018 Jim Walker <jim@couchbase.com>

MB-28453: [3/n] Add decompress support to xattr::Blob

A number of places use the xattr::Blob on data which has the xattr
datatype, these places need to account for datatype snappy too.

MB-28453: [3/n] Add decompress support to xattr::Blob

A number of places use the xattr::Blob on data which has the xattr
datatype, these places need to account for datatype snappy too.

Enhancing xattr::Blob so it can handle the decompression is the
simplest function fix.

A number of commands are updated:

* dcp_mutation - which was the opcode that triggered the MB
* append/prepend/arithmetic - likely a redundant is_snappy test
because they have decompression support in the getItem part of the
executor
* remove
* subdoc processing
* doc_pre_expiry

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

show more ...


# d6affa8d 02-Mar-2018 Jim Walker <jim@couchbase.com>

MB-28453: [2/n] Switch xattrs from byte_buffer to char_buffer

Long-term we wish to remove the use of byte_buffer as we frequently
end up casting it to char (and the nonstop reinterpret_c

MB-28453: [2/n] Switch xattrs from byte_buffer to char_buffer

Long-term we wish to remove the use of byte_buffer as we frequently
end up casting it to char (and the nonstop reinterpret_cast is
tedious). This commit just switches xattr code from using a
byte_buffer to char_buffer, making it easier to add decompression
support to xattr::Blob which is required to cleanly address the MB
this commit is linked with.

A couchstore change is linked to this as dbdump.cc requires an update
to keep working with the Blob changes.

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

show more ...


Revision tags: v5.0.1, v5.1.0
# 03bd6fde 21-Sep-2017 Manu Dhundi <manu@couchbase.com>

Revert "Revert "Merge remote-tracking branch 'couchbase/spock'""

This reverts commit e7ecc4c9eaef8fa6f7f83aec6af4804475cbdc49.

Change-Id: Id785ae7cb6e95aa752ea8fb681f392d6f9c343f0

Revert "Revert "Merge remote-tracking branch 'couchbase/spock'""

This reverts commit e7ecc4c9eaef8fa6f7f83aec6af4804475cbdc49.

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

show more ...


# e7ecc4c9 21-Sep-2017 Trond Norbye <trond.norbye@gmail.com>

Revert "Merge remote-tracking branch 'couchbase/spock'"

This reverts commit 1f77f4ec6b1df3220c24092543be3f4f431d2586.

Change-Id: Ic87e60552a3d39cf2c131b2c745ae064392ab6fb
Review

Revert "Merge remote-tracking branch 'couchbase/spock'"

This reverts commit 1f77f4ec6b1df3220c24092543be3f4f431d2586.

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

show more ...


Revision tags: v5.0.0
# c26e1ef5 13-Sep-2017 Trond Norbye <trond.norbye@gmail.com>

MB-25938: Create a copy of the xattrs before modifying them

When xattrs needs to be modified during a subdoc cmd, the xattrs blob
must be owned.

In this commit, we create a temp

MB-25938: Create a copy of the xattrs before modifying them

When xattrs needs to be modified during a subdoc cmd, the xattrs blob
must be owned.

In this commit, we create a temporary copy of the xattrs, write to it
and then replace the xattrs of the doc with the temporary modified
copy.

Change-Id: I0890b6a73235d3173878442aaf7c53967ae69f0e
Reviewed-on: http://review.couchbase.org/83339
Reviewed-by: Dave Rigby <daver@couchbase.com>
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Manu Dhundi <manu@couchbase.com>
Well-Formed: Build Bot <build@couchbase.com>

show more ...


# dc7b3bb9 12-Jul-2017 Jim Walker <jim@couchbase.com>

MB-25225: Add cb::xattr::Blob::iterator

Add a basic iterator to xattr::Blob so that we can iterate k/v pairs.

Change-Id: Idc57dddc639792dd457ff33f364cedc7b3e55024
Reviewed-on: h

MB-25225: Add cb::xattr::Blob::iterator

Add a basic iterator to xattr::Blob so that we can iterate k/v pairs.

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

show more ...


Revision tags: v4.6.2_ep, v4.6.2_mc
# 952a5b78 09-Mar-2017 Trond Norbye <trond.norbye@gmail.com>

MB-22691: Fix lookup of xattr entries

This fix a regression introduced by the previous fix for
this bug. It had a side effect that the current offset
wasn't updated correctly if the

MB-22691: Fix lookup of xattr entries

This fix a regression introduced by the previous fix for
this bug. It had a side effect that the current offset
wasn't updated correctly if the size of the next entry
was shorter than the key we looked for. That resulted
in getting out of sync.

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

show more ...


Revision tags: v4.6.1_ep
# 8c8ea770 26-Jan-2017 Trond Norbye <trond.norbye@gmail.com>

Add helper function to set an xattr

Change-Id: Ic927d27f24ba36d886340f8b4daf13f2b2103077
Reviewed-on: http://review.couchbase.org/72498
Tested-by: buildbot <build@couchbase.com>

Add helper function to set an xattr

Change-Id: Ic927d27f24ba36d886340f8b4daf13f2b2103077
Reviewed-on: http://review.couchbase.org/72498
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Jim Walker <jim@couchbase.com>

show more ...


# b418b782 12-Jan-2017 Trond Norbye <trond.norbye@gmail.com>

Add a method to convert an XATTR blob to JSON

This allows for easily dumping / manipulating of an xattr
blob in tools (like couchdb_dump)

Change-Id: I5aff63eec1ce8243dc895346952

Add a method to convert an XATTR blob to JSON

This allows for easily dumping / manipulating of an xattr
blob in tools (like couchdb_dump)

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

show more ...


# 45aa3627 02-Jan-2017 Trond Norbye <trond.norbye@gmail.com>

Add method to get the size of the system xattr's

Change-Id: I5f1f8a3c4dc6a4c5235357002377fdf530928529
Reviewed-on: http://review.couchbase.org/71484
Tested-by: buildbot <build@couchb

Add method to get the size of the system xattr's

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

show more ...


# 8b9f99b0 15-Dec-2016 Trond Norbye <trond.norbye@gmail.com>

Refactor: Move xattr to its own library

The underlying engines must be able to get a basic knowledge
of xattrs in order to allow the multiple combinations of
DCP:

* With a

Refactor: Move xattr to its own library

The underlying engines must be able to get a basic knowledge
of xattrs in order to allow the multiple combinations of
DCP:

* With and without value
* With and without xattrs

The current implementation of DCP will strip off the body
before sending to memcached if no value is requested (and
that would also result in no xattrs).

It is desirable to allow ep-engine to avoid fetching data
off disk which would be discarded in memcached.

Change-Id: I26b352438bbbf3396a4aa99a8022781b9cd3395c
Reviewed-on: http://review.couchbase.org/71256
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Daniel Owen <owend@couchbase.com>

show more ...


# 2e49b2ff 13-Dec-2016 Trond Norbye <trond.norbye@gmail.com>

Add a class representing an xattr::blob

This may be used to lookup/add/get xattr's and perform
operations on them.

Change-Id: Ibf4e893c6d092b5367cd75fc7dce96a92ef7d710
Revie

Add a class representing an xattr::blob

This may be used to lookup/add/get xattr's and perform
operations on them.

Change-Id: Ibf4e893c6d092b5367cd75fc7dce96a92ef7d710
Reviewed-on: http://review.couchbase.org/70930
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Jim Walker <jim@couchbase.com>

show more ...