couchbase 4.4.5 → 4.4.6-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/deps/couchbase-cxx-cache/mozilla-ca-bundle.crt +64 -33
- package/deps/couchbase-cxx-cache/mozilla-ca-bundle.sha256 +1 -1
- package/deps/couchbase-cxx-cache/snappy/{585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c → 3cde171792b3607f75c14e5011eaf69da4857bd8}/snappy/CMakeLists.txt +14 -10
- package/deps/couchbase-cxx-cache/snappy/{585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c → 3cde171792b3607f75c14e5011eaf69da4857bd8}/snappy/README.md +4 -4
- package/deps/couchbase-cxx-cache/snappy/{585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c → 3cde171792b3607f75c14e5011eaf69da4857bd8}/snappy/snappy.cc +7 -4
- package/deps/couchbase-cxx-client/CMakeLists.txt +1 -1
- package/deps/couchbase-cxx-client/README.md +2 -2
- package/deps/couchbase-cxx-client/cmake/ThirdPartyDependencies.cmake +2 -2
- package/deps/couchbase-cxx-client/cmake/couchbase_cxx_client.pc.in +1 -1
- package/deps/couchbase-cxx-client/core/bucket.cxx +16 -14
- package/deps/couchbase-cxx-client/core/bucket.hxx +2 -1
- package/deps/couchbase-cxx-client/core/cluster.cxx +9 -7
- package/deps/couchbase-cxx-client/core/cluster.hxx +2 -1
- package/deps/couchbase-cxx-client/core/impl/binary_collection.cxx +4 -0
- package/deps/couchbase-cxx-client/core/impl/cluster.cxx +55 -18
- package/deps/couchbase-cxx-client/core/impl/collection.cxx +12 -11
- package/deps/couchbase-cxx-client/core/impl/observe_poll.cxx +7 -7
- package/deps/couchbase-cxx-client/core/impl/replica_utils.cxx +5 -5
- package/deps/couchbase-cxx-client/core/impl/replica_utils.hxx +2 -1
- package/deps/couchbase-cxx-client/core/logger/logger.cxx +1 -1
- package/deps/couchbase-cxx-client/core/meta/features.hxx +5 -0
- package/deps/couchbase-cxx-client/core/operations/document_append.cxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/document_append.hxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/document_get_all_replicas.hxx +3 -4
- package/deps/couchbase-cxx-client/core/operations/document_get_any_replica.hxx +3 -3
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in_all_replicas.hxx +3 -3
- package/deps/couchbase-cxx-client/core/operations/document_lookup_in_any_replica.hxx +3 -3
- package/deps/couchbase-cxx-client/core/operations/document_prepend.cxx +1 -0
- package/deps/couchbase-cxx-client/core/operations/document_prepend.hxx +1 -0
- package/deps/couchbase-cxx-client/couchbase-sdk-cxx-black-duck-manifest.yaml +1 -1
- package/dist/binarycollection.d.ts +11 -1
- package/dist/binding.d.ts +4 -0
- package/dist/collection.js +4 -0
- package/dist/collectionmanager.d.ts +1 -1
- package/dist/collectionmanager.js +2 -2
- package/package.json +8 -8
- package/scripts/buildPrebuild.js +4 -3
- package/scripts/prebuilds.js +6 -0
- package/src/binding.cpp +2 -0
- package/src/connection.cpp +3 -3
- package/src/jstocbpp_autogen.hpp +8 -0
- package/tools/gen-bindings-json.py +0 -1
- /package/deps/couchbase-cxx-cache/snappy/{585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c → 3cde171792b3607f75c14e5011eaf69da4857bd8}/snappy/CONTRIBUTING.md +0 -0
- /package/deps/couchbase-cxx-cache/snappy/{585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c → 3cde171792b3607f75c14e5011eaf69da4857bd8}/snappy/COPYING +0 -0
- /package/deps/couchbase-cxx-cache/snappy/{585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c → 3cde171792b3607f75c14e5011eaf69da4857bd8}/snappy/cmake/SnappyConfig.cmake.in +0 -0
- /package/deps/couchbase-cxx-cache/snappy/{585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c → 3cde171792b3607f75c14e5011eaf69da4857bd8}/snappy/cmake/config.h.in +0 -0
- /package/deps/couchbase-cxx-cache/snappy/{585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c → 3cde171792b3607f75c14e5011eaf69da4857bd8}/snappy/snappy-c.cc +0 -0
- /package/deps/couchbase-cxx-cache/snappy/{585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c → 3cde171792b3607f75c14e5011eaf69da4857bd8}/snappy/snappy-c.h +0 -0
- /package/deps/couchbase-cxx-cache/snappy/{585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c → 3cde171792b3607f75c14e5011eaf69da4857bd8}/snappy/snappy-internal.h +0 -0
- /package/deps/couchbase-cxx-cache/snappy/{585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c → 3cde171792b3607f75c14e5011eaf69da4857bd8}/snappy/snappy-sinksource.cc +0 -0
- /package/deps/couchbase-cxx-cache/snappy/{585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c → 3cde171792b3607f75c14e5011eaf69da4857bd8}/snappy/snappy-sinksource.h +0 -0
- /package/deps/couchbase-cxx-cache/snappy/{585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c → 3cde171792b3607f75c14e5011eaf69da4857bd8}/snappy/snappy-stubs-internal.cc +0 -0
- /package/deps/couchbase-cxx-cache/snappy/{585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c → 3cde171792b3607f75c14e5011eaf69da4857bd8}/snappy/snappy-stubs-internal.h +0 -0
- /package/deps/couchbase-cxx-cache/snappy/{585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c → 3cde171792b3607f75c14e5011eaf69da4857bd8}/snappy/snappy-stubs-public.h.in +0 -0
- /package/deps/couchbase-cxx-cache/snappy/{585305c8dbb8f762f2c2e17f937f1cf3ac6cbc9c → 3cde171792b3607f75c14e5011eaf69da4857bd8}/snappy/snappy.h +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
##
|
2
2
|
## Bundle of CA Root Certificates
|
3
3
|
##
|
4
|
-
## Certificate data from Mozilla as of: Tue
|
4
|
+
## Certificate data from Mozilla as of: Tue Feb 25 04:12:03 2025 GMT
|
5
5
|
##
|
6
6
|
## Find updated versions here: https://curl.se/docs/caextract.html
|
7
7
|
##
|
@@ -16,7 +16,7 @@
|
|
16
16
|
## Just configure this file as the SSLCACertificateFile.
|
17
17
|
##
|
18
18
|
## Conversion done with mk-ca-bundle.pl version 1.29.
|
19
|
-
## SHA256:
|
19
|
+
## SHA256: 620fd89c02acb0019f1899dab7907db5d20735904f5a9a0d3a8771a5857ac482
|
20
20
|
##
|
21
21
|
|
22
22
|
|
@@ -371,37 +371,6 @@ NU0LbbqhPcCT4H8js1WtciVORvnSFu+wZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6Lqj
|
|
371
371
|
viOvrv1vA+ACOzB2+httQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ
|
372
372
|
-----END CERTIFICATE-----
|
373
373
|
|
374
|
-
SwissSign Silver CA - G2
|
375
|
-
========================
|
376
|
-
-----BEGIN CERTIFICATE-----
|
377
|
-
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
-
BgNVBAoTDFN3aXNzU2lnbiBBRzEhMB8GA1UEAxMYU3dpc3NTaWduIFNpbHZlciBDQSAtIEcyMB4X
|
379
|
-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
-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
-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
-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
-
+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
-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
-
MGoM9ZDulebyzYLs2aFK7PayS+VFheZteJMELpyCbTapxDFkH4aDCyr0NQp4yVXPQbBH6TCfmb5h
|
386
|
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-
DGi8aRl5xB9+lwW/xekkUV7U1UtT7dkjWjYDZaPBA61BMPNGG4WQr2W11bHkFlt4dR2Xem1ZqSqP
|
399
|
-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
-
WxcFyPKNIzFTONItaj+CuY0IavdeQXRuwxF+B6wpYJE/OMpXEA29MC/HpeZBoNquBYeaoKRlbEwJ
|
401
|
-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
-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
|
403
|
-
-----END CERTIFICATE-----
|
404
|
-
|
405
374
|
SecureTrust CA
|
406
375
|
==============
|
407
376
|
-----BEGIN CERTIFICATE-----
|
@@ -3609,3 +3578,65 @@ AgEGMB0GA1UdDgQWBBTrQciu/NWeUUj1vYv0hyCTQSvT9DAKBggqhkjOPQQDAwNoADBlAjEA2S6J
|
|
3609
3578
|
fl5OpBEHvVnCB96rMjhTKkZEBhd6zlHp4P9mLQlO4E/0BdGF9jVg3PVys0Z9AjBEmEYagoUeYWmJ
|
3610
3579
|
SwdLZrWeqrqgHkHZAXQ6bkU6iYAZezKYVWOr62Nuk22rGwlgMU4=
|
3611
3580
|
-----END CERTIFICATE-----
|
3581
|
+
|
3582
|
+
D-TRUST BR Root CA 2 2023
|
3583
|
+
=========================
|
3584
|
+
-----BEGIN CERTIFICATE-----
|
3585
|
+
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
|
3610
|
+
n/mtd+ArY0+ew+43u3gJhJ65bvspmZDogNOfJA==
|
3611
|
+
-----END CERTIFICATE-----
|
3612
|
+
|
3613
|
+
D-TRUST EV Root CA 2 2023
|
3614
|
+
=========================
|
3615
|
+
-----BEGIN CERTIFICATE-----
|
3616
|
+
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
|
3641
|
+
+KIkBI3Y4WNeApI02phhXBxvWHZks/wCuPWdCg==
|
3642
|
+
-----END CERTIFICATE-----
|
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
50a6277ec69113f00c5fd45f09e8b97a4b3e32daa35d3a95ab30137a55386cef cacert.pem
|
@@ -26,8 +26,8 @@
|
|
26
26
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
27
27
|
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
28
28
|
|
29
|
-
cmake_minimum_required(VERSION 3.
|
30
|
-
project(Snappy VERSION 1.2.
|
29
|
+
cmake_minimum_required(VERSION 3.10)
|
30
|
+
project(Snappy VERSION 1.2.2 LANGUAGES C CXX)
|
31
31
|
|
32
32
|
# C++ standard can be overridden when this is used as a sub-project.
|
33
33
|
if(NOT CMAKE_CXX_STANDARD)
|
@@ -38,7 +38,7 @@ if(NOT CMAKE_CXX_STANDARD)
|
|
38
38
|
endif(NOT CMAKE_CXX_STANDARD)
|
39
39
|
|
40
40
|
# https://github.com/izenecloud/cmake/blob/master/SetCompilerWarningAll.cmake
|
41
|
-
if(
|
41
|
+
if(MSVC)
|
42
42
|
# Use the highest warning level for Visual Studio.
|
43
43
|
set(CMAKE_CXX_WARNING_LEVEL 4)
|
44
44
|
if(CMAKE_CXX_FLAGS MATCHES "/W[0-4]")
|
@@ -55,7 +55,7 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
|
55
55
|
# Disable RTTI.
|
56
56
|
string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
57
57
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-")
|
58
|
-
else(
|
58
|
+
else(MSVC)
|
59
59
|
# Use -Wall for clang and gcc.
|
60
60
|
if(NOT CMAKE_CXX_FLAGS MATCHES "-Wall")
|
61
61
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
|
@@ -85,7 +85,7 @@ else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
|
85
85
|
# Disable RTTI.
|
86
86
|
string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
87
87
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
|
88
|
-
endif(
|
88
|
+
endif(MSVC)
|
89
89
|
|
90
90
|
# BUILD_SHARED_LIBS is a standard CMake variable, but we declare it here to make
|
91
91
|
# it prominent in the GUI.
|
@@ -206,10 +206,13 @@ int main() {
|
|
206
206
|
|
207
207
|
check_cxx_source_compiles("
|
208
208
|
#include <arm_neon.h>
|
209
|
+
#include <stdint.h>
|
209
210
|
int main() {
|
210
211
|
uint8_t val = 3, dup[8];
|
211
|
-
uint8x16_t
|
212
|
-
|
212
|
+
uint8x16_t v1 = vld1q_dup_u8(&val);
|
213
|
+
uint8x16_t v2 = vqtbl1q_u8(v1, v1);
|
214
|
+
vst1q_u8(dup, v1);
|
215
|
+
vst1q_u8(dup, v2);
|
213
216
|
return 0;
|
214
217
|
}" SNAPPY_HAVE_NEON)
|
215
218
|
|
@@ -258,9 +261,7 @@ target_sources(snappy
|
|
258
261
|
"snappy-stubs-internal.cc"
|
259
262
|
"snappy.cc"
|
260
263
|
"${PROJECT_BINARY_DIR}/config.h"
|
261
|
-
|
262
|
-
# Only CMake 3.3+ supports PUBLIC sources in targets exported by "install".
|
263
|
-
$<$<VERSION_GREATER:CMAKE_VERSION,3.2>:PUBLIC>
|
264
|
+
PUBLIC
|
264
265
|
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/snappy-c.h>
|
265
266
|
$<INSTALL_INTERFACE:include/snappy-c.h>
|
266
267
|
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/snappy-sinksource.h>
|
@@ -297,6 +298,9 @@ if(SNAPPY_BUILD_TESTS OR SNAPPY_BUILD_BENCHMARKS)
|
|
297
298
|
|
298
299
|
# Test files include snappy-test.h, HAVE_CONFIG_H must be defined.
|
299
300
|
target_compile_definitions(snappy_test_support PUBLIC -DHAVE_CONFIG_H)
|
301
|
+
if(BUILD_SHARED_LIBS)
|
302
|
+
set_target_properties(snappy_test_support PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON)
|
303
|
+
endif(BUILD_SHARED_LIBS)
|
300
304
|
|
301
305
|
target_link_libraries(snappy_test_support snappy)
|
302
306
|
|
@@ -140,10 +140,10 @@ explicitly supports the following:
|
|
140
140
|
1. C++11
|
141
141
|
2. Clang (gcc and MSVC are best-effort).
|
142
142
|
3. Low level optimizations (e.g. assembly or equivalent intrinsics) for:
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
143
|
+
- [x86](https://en.wikipedia.org/wiki/X86)
|
144
|
+
- [x86-64](https://en.wikipedia.org/wiki/X86-64)
|
145
|
+
- ARMv7 (32-bit)
|
146
|
+
- ARMv8 (AArch64)
|
147
147
|
4. Supports only the Snappy compression scheme as described in
|
148
148
|
[format_description.txt](format_description.txt).
|
149
149
|
5. CMake for building
|
@@ -74,6 +74,7 @@
|
|
74
74
|
#include <cstdint>
|
75
75
|
#include <cstdio>
|
76
76
|
#include <cstring>
|
77
|
+
#include <functional>
|
77
78
|
#include <memory>
|
78
79
|
#include <string>
|
79
80
|
#include <utility>
|
@@ -1498,7 +1499,7 @@ class SnappyDecompressor {
|
|
1498
1499
|
// If ip < ip_limit_min_maxtaglen_ it's safe to read kMaxTagLength from
|
1499
1500
|
// buffer.
|
1500
1501
|
const char* ip_limit_min_maxtaglen_;
|
1501
|
-
|
1502
|
+
uint64_t peeked_; // Bytes peeked from reader (need to skip)
|
1502
1503
|
bool eof_; // Hit end of input without an error?
|
1503
1504
|
char scratch_[kMaximumTagLength]; // See RefillTag().
|
1504
1505
|
|
@@ -1689,7 +1690,8 @@ constexpr uint32_t CalculateNeeded(uint8_t tag) {
|
|
1689
1690
|
#if __cplusplus >= 201402L
|
1690
1691
|
constexpr bool VerifyCalculateNeeded() {
|
1691
1692
|
for (int i = 0; i < 1; i++) {
|
1692
|
-
if (CalculateNeeded(i) != (char_table[i] >> 11) + 1)
|
1693
|
+
if (CalculateNeeded(i) != static_cast<uint32_t>((char_table[i] >> 11)) + 1)
|
1694
|
+
return false;
|
1693
1695
|
}
|
1694
1696
|
return true;
|
1695
1697
|
}
|
@@ -1725,7 +1727,7 @@ bool SnappyDecompressor::RefillTag() {
|
|
1725
1727
|
assert(needed <= sizeof(scratch_));
|
1726
1728
|
|
1727
1729
|
// Read more bytes from reader if needed
|
1728
|
-
|
1730
|
+
uint64_t nbuf = ip_limit_ - ip;
|
1729
1731
|
if (nbuf < needed) {
|
1730
1732
|
// Stitch together bytes from ip and reader to form the word
|
1731
1733
|
// contents. We store the needed bytes in "scratch_". They
|
@@ -1738,7 +1740,7 @@ bool SnappyDecompressor::RefillTag() {
|
|
1738
1740
|
size_t length;
|
1739
1741
|
const char* src = reader_->Peek(&length);
|
1740
1742
|
if (length == 0) return false;
|
1741
|
-
|
1743
|
+
uint64_t to_add = std::min<uint64_t>(needed - nbuf, length);
|
1742
1744
|
std::memcpy(scratch_ + nbuf, src, to_add);
|
1743
1745
|
nbuf += to_add;
|
1744
1746
|
reader_->Skip(to_add);
|
@@ -1801,6 +1803,7 @@ size_t Compress(Source* reader, Sink* writer, CompressionOptions options) {
|
|
1801
1803
|
int token = 0;
|
1802
1804
|
size_t written = 0;
|
1803
1805
|
size_t N = reader->Available();
|
1806
|
+
assert(N <= 0xFFFFFFFFu);
|
1804
1807
|
const size_t uncompressed_size = N;
|
1805
1808
|
char ulength[Varint::kMax32];
|
1806
1809
|
char* p = Varint::Encode32(ulength, N);
|
@@ -21,7 +21,7 @@ endif()
|
|
21
21
|
|
22
22
|
project(
|
23
23
|
couchbase_cxx_client
|
24
|
-
VERSION "1.0.
|
24
|
+
VERSION "1.0.6"
|
25
25
|
LANGUAGES CXX C)
|
26
26
|
message(STATUS "Couchbase C++ client ${couchbase_cxx_client_VERSION} build ${couchbase_cxx_client_BUILD_NUMBER}, master: ${COUCHBASE_CXX_CLIENT_MASTER_PROJECT}")
|
27
27
|
message(STATUS "System: ${CMAKE_SYSTEM_NAME}, ${CMAKE_SYSTEM_VERSION}, ${CMAKE_SYSTEM_PROCESSOR}")
|
@@ -1,7 +1,7 @@
|
|
1
1
|
prefix=@CMAKE_INSTALL_PREFIX@
|
2
2
|
exec_prefix=@CMAKE_INSTALL_PREFIX@
|
3
3
|
includedir=@CMAKE_INSTALL_PREFIX@/include
|
4
|
-
libdir=@CMAKE_INSTALL_LIBDIR@
|
4
|
+
libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@
|
5
5
|
|
6
6
|
Name: couchbase-cxx-client @COUCHBASE_CXX_CLIENT_PKGCONFIG_VERSION@
|
7
7
|
Description: Couchbase C++ SDK
|
@@ -356,7 +356,7 @@ public:
|
|
356
356
|
void restart_sessions()
|
357
357
|
{
|
358
358
|
const std::scoped_lock lock(config_mutex_, sessions_mutex_);
|
359
|
-
if (!config_
|
359
|
+
if (!config_) {
|
360
360
|
return;
|
361
361
|
}
|
362
362
|
|
@@ -512,37 +512,38 @@ public:
|
|
512
512
|
}
|
513
513
|
|
514
514
|
void with_configuration(
|
515
|
-
utils::movable_function<void(std::error_code, topology::configuration)>&&
|
515
|
+
utils::movable_function<void(std::error_code, std::shared_ptr<topology::configuration>)>&&
|
516
|
+
handler)
|
516
517
|
{
|
517
518
|
if (closed_) {
|
518
|
-
return handler(errc::network::configuration_not_available,
|
519
|
+
return handler(errc::network::configuration_not_available, nullptr);
|
519
520
|
}
|
520
521
|
if (configured_) {
|
521
|
-
std::
|
522
|
+
std::shared_ptr<topology::configuration> config{};
|
522
523
|
{
|
523
524
|
const std::scoped_lock config_lock(config_mutex_);
|
524
525
|
config = config_;
|
525
526
|
}
|
526
527
|
if (config) {
|
527
|
-
return handler({}, config
|
528
|
+
return handler({}, config);
|
528
529
|
}
|
529
|
-
return handler(errc::network::configuration_not_available,
|
530
|
+
return handler(errc::network::configuration_not_available, nullptr);
|
530
531
|
}
|
531
532
|
const std::scoped_lock lock(deferred_commands_mutex_);
|
532
533
|
deferred_commands_.emplace([self = shared_from_this(), handler = std::move(handler)]() mutable {
|
533
534
|
if (self->closed_ || !self->configured_) {
|
534
|
-
return handler(errc::network::configuration_not_available,
|
535
|
+
return handler(errc::network::configuration_not_available, nullptr);
|
535
536
|
}
|
536
537
|
|
537
|
-
std::
|
538
|
+
std::shared_ptr<topology::configuration> config{};
|
538
539
|
{
|
539
540
|
const std::scoped_lock config_lock(self->config_mutex_);
|
540
541
|
config = self->config_;
|
541
542
|
}
|
542
543
|
if (config) {
|
543
|
-
return handler({}, config
|
544
|
+
return handler({}, std::move(config));
|
544
545
|
}
|
545
|
-
return handler(errc::network::configuration_not_available,
|
546
|
+
return handler(errc::network::configuration_not_available, nullptr);
|
546
547
|
});
|
547
548
|
}
|
548
549
|
|
@@ -715,7 +716,7 @@ public:
|
|
715
716
|
config_->rev_str(),
|
716
717
|
config.rev_str());
|
717
718
|
return;
|
718
|
-
} else if (config_ < config) {
|
719
|
+
} else if (*config_ < config) {
|
719
720
|
CB_LOG_DEBUG("{} will update the configuration old={} -> new={}",
|
720
721
|
log_prefix_,
|
721
722
|
config_->rev_str(),
|
@@ -742,7 +743,7 @@ public:
|
|
742
743
|
added = config.nodes;
|
743
744
|
}
|
744
745
|
config_.reset();
|
745
|
-
config_ = config;
|
746
|
+
config_ = std::make_shared<topology::configuration>(config);
|
746
747
|
configured_ = true;
|
747
748
|
|
748
749
|
{
|
@@ -964,7 +965,7 @@ private:
|
|
964
965
|
std::atomic_bool closed_{ false };
|
965
966
|
std::atomic_bool configured_{ false };
|
966
967
|
|
967
|
-
std::
|
968
|
+
std::shared_ptr<topology::configuration> config_{};
|
968
969
|
mutable std::mutex config_mutex_{};
|
969
970
|
|
970
971
|
std::vector<std::shared_ptr<config_listener>> config_listeners_{};
|
@@ -1081,7 +1082,8 @@ bucket::bootstrap(utils::movable_function<void(std::error_code, topology::config
|
|
1081
1082
|
|
1082
1083
|
void
|
1083
1084
|
bucket::with_configuration(
|
1084
|
-
utils::movable_function<void(std::error_code, topology::configuration)>&&
|
1085
|
+
utils::movable_function<void(std::error_code, std::shared_ptr<topology::configuration>)>&&
|
1086
|
+
handler)
|
1085
1087
|
{
|
1086
1088
|
return impl_->with_configuration(std::move(handler));
|
1087
1089
|
}
|
@@ -189,7 +189,8 @@ public:
|
|
189
189
|
void update_config(topology::configuration config) override;
|
190
190
|
void bootstrap(utils::movable_function<void(std::error_code, topology::configuration)>&& handler);
|
191
191
|
void with_configuration(
|
192
|
-
utils::movable_function<void(std::error_code, topology::configuration)>&&
|
192
|
+
utils::movable_function<void(std::error_code, std::shared_ptr<topology::configuration>)>&&
|
193
|
+
handler);
|
193
194
|
|
194
195
|
void on_configuration_update(std::shared_ptr<config_listener> handler);
|
195
196
|
void close();
|
@@ -578,12 +578,12 @@ public:
|
|
578
578
|
return self->with_bucket_configuration(
|
579
579
|
bucket_name,
|
580
580
|
[self, cap, request = std::move(request), handler = std::forward<Handler>(handler)](
|
581
|
-
std::error_code ec, const topology::configuration
|
581
|
+
std::error_code ec, const std::shared_ptr<topology::configuration>& config) mutable {
|
582
582
|
if (ec) {
|
583
583
|
handler(request.make_response({ ec }, {}));
|
584
584
|
return;
|
585
585
|
}
|
586
|
-
if (!config
|
586
|
+
if (!config->capabilities.has_bucket_capability(cap)) {
|
587
587
|
handler(request.make_response({ errc::common::feature_not_available }, {}));
|
588
588
|
return;
|
589
589
|
}
|
@@ -980,10 +980,11 @@ public:
|
|
980
980
|
|
981
981
|
void with_bucket_configuration(
|
982
982
|
const std::string& bucket_name,
|
983
|
-
utils::movable_function<void(std::error_code, topology::configuration)>&&
|
983
|
+
utils::movable_function<void(std::error_code, std::shared_ptr<topology::configuration>)>&&
|
984
|
+
handler)
|
984
985
|
{
|
985
986
|
if (stopped_) {
|
986
|
-
return handler(errc::network::cluster_closed,
|
987
|
+
return handler(errc::network::cluster_closed, nullptr);
|
987
988
|
}
|
988
989
|
if (auto bucket = find_bucket_by_name(bucket_name); bucket != nullptr) {
|
989
990
|
return bucket->with_configuration(std::move(handler));
|
@@ -992,13 +993,13 @@ public:
|
|
992
993
|
bucket_name,
|
993
994
|
[self = shared_from_this(), bucket_name, handler = std::move(handler)](auto ec) mutable {
|
994
995
|
if (ec) {
|
995
|
-
return handler(ec,
|
996
|
+
return handler(ec, nullptr);
|
996
997
|
}
|
997
998
|
|
998
999
|
if (auto bucket = self->find_bucket_by_name(bucket_name); bucket != nullptr) {
|
999
1000
|
return bucket->with_configuration(std::move(handler));
|
1000
1001
|
}
|
1001
|
-
return handler(errc::common::bucket_not_found,
|
1002
|
+
return handler(errc::common::bucket_not_found, nullptr);
|
1002
1003
|
});
|
1003
1004
|
}
|
1004
1005
|
|
@@ -1326,7 +1327,8 @@ cluster::ping(std::optional<std::string> report_id,
|
|
1326
1327
|
void
|
1327
1328
|
cluster::with_bucket_configuration(
|
1328
1329
|
const std::string& bucket_name,
|
1329
|
-
utils::movable_function<void(std::error_code, topology::configuration)>&&
|
1330
|
+
utils::movable_function<void(std::error_code, std::shared_ptr<topology::configuration>)>&&
|
1331
|
+
handler) const
|
1330
1332
|
{
|
1331
1333
|
if (impl_) {
|
1332
1334
|
impl_->with_bucket_configuration(bucket_name, std::move(handler));
|
@@ -77,7 +77,8 @@ public:
|
|
77
77
|
|
78
78
|
void with_bucket_configuration(
|
79
79
|
const std::string& bucket_name,
|
80
|
-
utils::movable_function<void(std::error_code, topology::configuration)>&&
|
80
|
+
utils::movable_function<void(std::error_code, std::shared_ptr<topology::configuration>)>&&
|
81
|
+
handler) const;
|
81
82
|
|
82
83
|
void execute(o::analytics_request request, mf<void(o::analytics_response)>&& handler) const;
|
83
84
|
void execute(o::append_request request, mf<void(o::append_response)>&& handler) const;
|
@@ -96,6 +96,7 @@ public:
|
|
96
96
|
std::move(data),
|
97
97
|
{},
|
98
98
|
{},
|
99
|
+
options.cas,
|
99
100
|
options.durability_level,
|
100
101
|
options.timeout,
|
101
102
|
{ options.retry_strategy },
|
@@ -114,6 +115,7 @@ public:
|
|
114
115
|
std::move(data),
|
115
116
|
{},
|
116
117
|
{},
|
118
|
+
options.cas,
|
117
119
|
durability_level::none,
|
118
120
|
options.timeout,
|
119
121
|
{ options.retry_strategy },
|
@@ -165,6 +167,7 @@ public:
|
|
165
167
|
std::move(data),
|
166
168
|
{},
|
167
169
|
{},
|
170
|
+
options.cas,
|
168
171
|
options.durability_level,
|
169
172
|
options.timeout,
|
170
173
|
{ options.retry_strategy },
|
@@ -183,6 +186,7 @@ public:
|
|
183
186
|
std::move(data),
|
184
187
|
{},
|
185
188
|
{},
|
189
|
+
options.cas,
|
186
190
|
durability_level::none,
|
187
191
|
options.timeout,
|
188
192
|
{ options.retry_strategy },
|
@@ -79,8 +79,8 @@ cluster::cluster(std::shared_ptr<cluster_impl> impl)
|
|
79
79
|
namespace
|
80
80
|
{
|
81
81
|
auto
|
82
|
-
options_to_origin(const std::string& connection_string,
|
83
|
-
|
82
|
+
options_to_origin(const std::string& connection_string, const couchbase::cluster_options& options)
|
83
|
+
-> core::origin
|
84
84
|
{
|
85
85
|
auto opts = options.build();
|
86
86
|
|
@@ -215,12 +215,27 @@ fork_event_to_asio(fork_event event) -> asio::execution_context::fork_event
|
|
215
215
|
class cluster_impl : public std::enable_shared_from_this<cluster_impl>
|
216
216
|
{
|
217
217
|
public:
|
218
|
-
cluster_impl(
|
218
|
+
cluster_impl(std::string connection_string, cluster_options options)
|
219
|
+
: connection_string_{ std::move(connection_string) }
|
220
|
+
, options_{ std::move(options) }
|
221
|
+
{
|
222
|
+
}
|
223
|
+
|
219
224
|
cluster_impl(const cluster_impl&) = delete;
|
220
225
|
cluster_impl(cluster_impl&&) = delete;
|
221
226
|
auto operator=(const cluster_impl&) = delete;
|
222
227
|
auto operator=(cluster_impl&&) = delete;
|
223
228
|
|
229
|
+
[[nodiscard]] auto connection_string() const -> const std::string&
|
230
|
+
{
|
231
|
+
return connection_string_;
|
232
|
+
}
|
233
|
+
|
234
|
+
[[nodiscard]] auto options() const -> const cluster_options&
|
235
|
+
{
|
236
|
+
return options_;
|
237
|
+
}
|
238
|
+
|
224
239
|
~cluster_impl()
|
225
240
|
{
|
226
241
|
std::promise<void> barrier;
|
@@ -238,12 +253,10 @@ public:
|
|
238
253
|
future.get();
|
239
254
|
}
|
240
255
|
|
241
|
-
void open(
|
242
|
-
const cluster_options& options,
|
243
|
-
cluster_connect_handler&& handler)
|
256
|
+
void open(cluster_connect_handler&& handler)
|
244
257
|
{
|
245
258
|
core_.open(
|
246
|
-
options_to_origin(
|
259
|
+
options_to_origin(connection_string_, options_),
|
247
260
|
[impl = shared_from_this(), handler = std::move(handler)](std::error_code ec) mutable {
|
248
261
|
if (ec) {
|
249
262
|
return handler(ec, {});
|
@@ -350,7 +363,7 @@ public:
|
|
350
363
|
}
|
351
364
|
io_.notify_fork(fork_event_to_asio(event));
|
352
365
|
|
353
|
-
if (transactions_) {
|
366
|
+
if (event != fork_event::child && transactions_) {
|
354
367
|
transactions_->notify_fork(event);
|
355
368
|
}
|
356
369
|
}
|
@@ -393,6 +406,8 @@ private:
|
|
393
406
|
}
|
394
407
|
}
|
395
408
|
|
409
|
+
std::string connection_string_;
|
410
|
+
cluster_options options_;
|
396
411
|
asio::io_context io_{ ASIO_CONCURRENCY_HINT_SAFE };
|
397
412
|
core::cluster core_{ io_ };
|
398
413
|
std::shared_ptr<core::transactions::transactions> transactions_{ nullptr };
|
@@ -423,8 +438,8 @@ cluster::query(std::string statement, const query_options& options, query_handle
|
|
423
438
|
}
|
424
439
|
|
425
440
|
auto
|
426
|
-
cluster::query(std::string statement,
|
427
|
-
|
441
|
+
cluster::query(std::string statement, const query_options& options) const
|
442
|
+
-> std::future<std::pair<error, query_result>>
|
428
443
|
{
|
429
444
|
auto barrier = std::make_shared<std::promise<std::pair<error, query_result>>>();
|
430
445
|
auto future = barrier->get_future();
|
@@ -500,9 +515,8 @@ cluster::search(std::string index_name,
|
|
500
515
|
}
|
501
516
|
|
502
517
|
auto
|
503
|
-
cluster::search(std::string index_name,
|
504
|
-
|
505
|
-
const search_options& options) const -> std::future<std::pair<error, search_result>>
|
518
|
+
cluster::search(std::string index_name, search_request request, const search_options& options) const
|
519
|
+
-> std::future<std::pair<error, search_result>>
|
506
520
|
{
|
507
521
|
auto barrier = std::make_shared<std::promise<std::pair<error, search_result>>>();
|
508
522
|
search(
|
@@ -513,8 +527,8 @@ cluster::search(std::string index_name,
|
|
513
527
|
}
|
514
528
|
|
515
529
|
auto
|
516
|
-
cluster::connect(const std::string& connection_string,
|
517
|
-
|
530
|
+
cluster::connect(const std::string& connection_string, const cluster_options& options)
|
531
|
+
-> std::future<std::pair<error, cluster>>
|
518
532
|
{
|
519
533
|
auto barrier = std::make_shared<std::promise<std::pair<error, cluster>>>();
|
520
534
|
auto future = barrier->get_future();
|
@@ -535,8 +549,8 @@ cluster::connect(const std::string& connection_string,
|
|
535
549
|
auto barrier = std::make_shared<std::promise<std::pair<error, cluster>>>();
|
536
550
|
auto future = barrier->get_future();
|
537
551
|
{
|
538
|
-
auto impl = std::make_shared<cluster_impl>();
|
539
|
-
impl->open(
|
552
|
+
auto impl = std::make_shared<cluster_impl>(connection_string, options);
|
553
|
+
impl->open([barrier](auto err, auto c) {
|
540
554
|
barrier->set_value({ std::move(err), std::move(c) });
|
541
555
|
});
|
542
556
|
}
|
@@ -552,7 +566,30 @@ cluster::notify_fork(fork_event event) -> void
|
|
552
566
|
if (!impl_) {
|
553
567
|
return;
|
554
568
|
}
|
555
|
-
|
569
|
+
impl_->notify_fork(event);
|
570
|
+
if (event != fork_event::child) {
|
571
|
+
return;
|
572
|
+
}
|
573
|
+
|
574
|
+
auto new_impl = std::make_shared<cluster_impl>(impl_->connection_string(), impl_->options());
|
575
|
+
impl_.reset();
|
576
|
+
|
577
|
+
{
|
578
|
+
auto barrier = std::make_shared<std::promise<void>>();
|
579
|
+
auto future = barrier->get_future();
|
580
|
+
|
581
|
+
new_impl->open([this, barrier, new_impl](const auto& err, const auto& /* c */) {
|
582
|
+
if (err.ec()) {
|
583
|
+
// TODO(SA): we should fall to background reconnect loop similar to Columnar build
|
584
|
+
CB_LOG_ERROR("Unable to reconnect instance after fork: {}", err.ec().message());
|
585
|
+
return;
|
586
|
+
}
|
587
|
+
impl_ = new_impl;
|
588
|
+
barrier->set_value();
|
589
|
+
});
|
590
|
+
|
591
|
+
future.get();
|
592
|
+
}
|
556
593
|
}
|
557
594
|
|
558
595
|
void
|