couchbase 3.5.4 → 3.5.5

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.
Files changed (441) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/ext/CMakeLists.txt +8 -6
  4. data/ext/cache/cpm/{CPM_0.38.6.cmake → CPM_0.40.5.cmake} +152 -22
  5. data/ext/cache/extconf_include.rb +3 -3
  6. data/ext/cache/mozilla-ca-bundle.crt +32 -87
  7. data/ext/cache/mozilla-ca-bundle.sha256 +1 -1
  8. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/CMakeLists.txt +30 -6
  9. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/utils.cmake +13 -2
  10. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/async_logger-inl.h +5 -7
  11. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/mpmc_blocking_q.h +3 -3
  12. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/os-inl.h +3 -3
  13. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/thread_pool-inl.h +3 -8
  14. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/thread_pool.h +3 -14
  15. data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/base.h +47 -31
  16. data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/format-inl.h +32 -8
  17. data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/format.h +22 -14
  18. data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/ranges.h +1 -1
  19. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/mdc.h +4 -0
  20. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/pattern_formatter-inl.h +16 -2
  21. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ansicolor_sink.h +1 -1
  22. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/base_sink.h +4 -4
  23. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/callback_sink.h +1 -1
  24. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/daily_file_sink.h +3 -0
  25. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/hourly_file_sink.h +2 -0
  26. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/msvc_sink.h +1 -1
  27. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/rotating_file_sink-inl.h +1 -1
  28. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/syslog_sink.h +3 -2
  29. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/wincolor_sink-inl.h +9 -0
  30. data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/version.h +2 -2
  31. data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/format.cc → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/src/bundled_fmtlib_format.cpp} +10 -5
  32. data/ext/couchbase/CMakeLists.txt +3 -2
  33. data/ext/couchbase/cmake/APKBUILD.in +54 -0
  34. data/ext/couchbase/cmake/Backtrace.cmake +3 -1
  35. data/ext/couchbase/cmake/CPM.cmake +1 -1
  36. data/ext/couchbase/cmake/CompilerWarnings.cmake +0 -5
  37. data/ext/couchbase/cmake/Packaging.cmake +174 -11
  38. data/ext/couchbase/cmake/RPath.cmake +10 -0
  39. data/ext/couchbase/cmake/Testing.cmake +0 -4
  40. data/ext/couchbase/cmake/ThirdPartyDependencies.cmake +7 -26
  41. data/ext/couchbase/cmake/VersionInfo.cmake +4 -0
  42. data/ext/couchbase/cmake/build_version.hxx.in +1 -0
  43. data/ext/couchbase/cmake/couchbase-cxx-client.spec.in +2 -2
  44. data/ext/couchbase/cmake/couchbase_cxx_client.pc.in +2 -2
  45. data/ext/couchbase/core/agent_config.cxx +1 -1
  46. data/ext/couchbase/core/agent_group_config.cxx +1 -1
  47. data/ext/couchbase/core/bucket.cxx +9 -9
  48. data/ext/couchbase/core/cluster.cxx +0 -2
  49. data/ext/couchbase/core/cluster_agent_config.cxx +1 -1
  50. data/ext/couchbase/core/collections_component.cxx +1 -1
  51. data/ext/couchbase/core/columnar/agent_config.cxx +2 -2
  52. data/ext/couchbase/core/columnar/error.hxx +0 -1
  53. data/ext/couchbase/core/columnar/query_component.cxx +2 -2
  54. data/ext/couchbase/core/config_profiles.cxx +1 -1
  55. data/ext/couchbase/core/core_sdk_shim.cxx +1 -1
  56. data/ext/couchbase/core/crud_component.cxx +1 -1
  57. data/ext/couchbase/core/design_document_namespace_fmt.hxx +1 -1
  58. data/ext/couchbase/core/diagnostics_fmt.hxx +1 -1
  59. data/ext/couchbase/core/document_id.cxx +1 -1
  60. data/ext/couchbase/core/document_id_fmt.hxx +1 -1
  61. data/ext/couchbase/core/error_context/analytics_json.hxx +3 -1
  62. data/ext/couchbase/core/error_context/key_value_json.hxx +1 -1
  63. data/ext/couchbase/core/error_context/query_public_json.hxx +1 -1
  64. data/ext/couchbase/core/error_context/subdocument_json.hxx +1 -1
  65. data/ext/couchbase/core/fmt/key_value_error_map_attribute.hxx +1 -1
  66. data/ext/couchbase/core/fmt/key_value_extended_error_info.hxx +1 -1
  67. data/ext/couchbase/core/fmt/key_value_status_code.hxx +1 -1
  68. data/ext/couchbase/core/http_component.cxx +3 -3
  69. data/ext/couchbase/core/impl/analytics.cxx +1 -0
  70. data/ext/couchbase/core/impl/best_effort_retry_strategy.cxx +1 -1
  71. data/ext/couchbase/core/impl/collection.cxx +28 -4
  72. data/ext/couchbase/core/impl/date_range.cxx +2 -2
  73. data/ext/couchbase/core/impl/date_range_query.cxx +2 -2
  74. data/ext/couchbase/core/impl/dns_srv_tracker.cxx +1 -1
  75. data/ext/couchbase/core/impl/error.cxx +27 -4
  76. data/ext/couchbase/core/impl/expiry.cxx +2 -2
  77. data/ext/couchbase/core/impl/fail_fast_retry_strategy.cxx +1 -2
  78. data/ext/couchbase/core/impl/get_replica.hxx +2 -0
  79. data/ext/couchbase/core/impl/key_value_error_context.cxx +6 -4
  80. data/ext/couchbase/core/impl/lookup_in_replica.hxx +2 -0
  81. data/ext/couchbase/core/impl/numeric_range.cxx +1 -1
  82. data/ext/couchbase/core/impl/observe_seqno.hxx +2 -0
  83. data/ext/couchbase/core/impl/query.cxx +1 -0
  84. data/ext/couchbase/core/impl/query_error_context.cxx +3 -2
  85. data/ext/couchbase/core/impl/scope.cxx +5 -6
  86. data/ext/couchbase/core/impl/search.cxx +3 -1
  87. data/ext/couchbase/core/io/config_tracker.cxx +1 -1
  88. data/ext/couchbase/core/io/dns_client.cxx +23 -8
  89. data/ext/couchbase/core/io/http_command.hxx +2 -2
  90. data/ext/couchbase/core/io/http_parser.cxx +1 -1
  91. data/ext/couchbase/core/io/http_session.cxx +4 -0
  92. data/ext/couchbase/core/io/http_session.hxx +4 -2
  93. data/ext/couchbase/core/io/mcbp_command.hxx +2 -2
  94. data/ext/couchbase/core/key_value_config.cxx +2 -2
  95. data/ext/couchbase/core/logger/logger.hxx +1 -1
  96. data/ext/couchbase/core/management/rbac_fmt.hxx +1 -1
  97. data/ext/couchbase/core/mcbp/operation_queue.cxx +1 -1
  98. data/ext/couchbase/core/mcbp/packet.cxx +1 -1
  99. data/ext/couchbase/core/meta/features.hxx +11 -0
  100. data/ext/couchbase/core/meta/version.cxx +48 -7
  101. data/ext/couchbase/core/operations/document_analytics.cxx +23 -17
  102. data/ext/couchbase/core/operations/document_analytics.hxx +1 -0
  103. data/ext/couchbase/core/operations/document_append.hxx +2 -0
  104. data/ext/couchbase/core/operations/document_decrement.hxx +2 -0
  105. data/ext/couchbase/core/operations/document_exists.hxx +2 -0
  106. data/ext/couchbase/core/operations/document_get.hxx +2 -0
  107. data/ext/couchbase/core/operations/document_get_all_replicas.hxx +2 -0
  108. data/ext/couchbase/core/operations/document_get_and_lock.hxx +2 -0
  109. data/ext/couchbase/core/operations/document_get_and_touch.hxx +2 -0
  110. data/ext/couchbase/core/operations/document_get_any_replica.hxx +2 -0
  111. data/ext/couchbase/core/operations/document_get_projected.hxx +2 -0
  112. data/ext/couchbase/core/operations/document_increment.hxx +2 -0
  113. data/ext/couchbase/core/operations/document_insert.hxx +2 -0
  114. data/ext/couchbase/core/operations/document_lookup_in.hxx +2 -0
  115. data/ext/couchbase/core/operations/document_lookup_in_all_replicas.hxx +2 -0
  116. data/ext/couchbase/core/operations/document_lookup_in_any_replica.hxx +2 -0
  117. data/ext/couchbase/core/operations/document_mutate_in.hxx +2 -0
  118. data/ext/couchbase/core/operations/document_prepend.hxx +2 -0
  119. data/ext/couchbase/core/operations/document_query.hxx +1 -0
  120. data/ext/couchbase/core/operations/document_remove.hxx +2 -0
  121. data/ext/couchbase/core/operations/document_replace.hxx +2 -0
  122. data/ext/couchbase/core/operations/document_search.hxx +1 -0
  123. data/ext/couchbase/core/operations/document_touch.hxx +2 -0
  124. data/ext/couchbase/core/operations/document_unlock.hxx +2 -0
  125. data/ext/couchbase/core/operations/document_upsert.hxx +2 -0
  126. data/ext/couchbase/core/operations/document_view.hxx +1 -0
  127. data/ext/couchbase/core/operations/http_noop.hxx +2 -0
  128. data/ext/couchbase/core/operations/management/CMakeLists.txt +0 -1
  129. data/ext/couchbase/core/operations/management/analytics_dataset_create.cxx +1 -1
  130. data/ext/couchbase/core/operations/management/analytics_dataset_create.hxx +1 -0
  131. data/ext/couchbase/core/operations/management/analytics_dataset_drop.cxx +1 -1
  132. data/ext/couchbase/core/operations/management/analytics_dataset_drop.hxx +1 -0
  133. data/ext/couchbase/core/operations/management/analytics_dataset_get_all.hxx +1 -0
  134. data/ext/couchbase/core/operations/management/analytics_dataverse_create.cxx +1 -1
  135. data/ext/couchbase/core/operations/management/analytics_dataverse_create.hxx +1 -0
  136. data/ext/couchbase/core/operations/management/analytics_dataverse_drop.cxx +1 -1
  137. data/ext/couchbase/core/operations/management/analytics_dataverse_drop.hxx +1 -0
  138. data/ext/couchbase/core/operations/management/analytics_get_pending_mutations.cxx +1 -1
  139. data/ext/couchbase/core/operations/management/analytics_get_pending_mutations.hxx +2 -0
  140. data/ext/couchbase/core/operations/management/analytics_index_create.hxx +1 -0
  141. data/ext/couchbase/core/operations/management/analytics_index_drop.cxx +1 -1
  142. data/ext/couchbase/core/operations/management/analytics_index_drop.hxx +1 -0
  143. data/ext/couchbase/core/operations/management/analytics_index_get_all.hxx +1 -0
  144. data/ext/couchbase/core/operations/management/analytics_link_connect.cxx +1 -1
  145. data/ext/couchbase/core/operations/management/analytics_link_connect.hxx +1 -0
  146. data/ext/couchbase/core/operations/management/analytics_link_create.hxx +1 -0
  147. data/ext/couchbase/core/operations/management/analytics_link_disconnect.cxx +1 -1
  148. data/ext/couchbase/core/operations/management/analytics_link_disconnect.hxx +1 -0
  149. data/ext/couchbase/core/operations/management/analytics_link_drop.cxx +1 -1
  150. data/ext/couchbase/core/operations/management/analytics_link_drop.hxx +1 -0
  151. data/ext/couchbase/core/operations/management/analytics_link_get_all.cxx +24 -16
  152. data/ext/couchbase/core/operations/management/analytics_link_get_all.hxx +4 -3
  153. data/ext/couchbase/core/operations/management/analytics_link_replace.hxx +1 -0
  154. data/ext/couchbase/core/operations/management/analytics_link_utils.hxx +4 -3
  155. data/ext/couchbase/core/operations/management/bucket_create.hxx +1 -0
  156. data/ext/couchbase/core/operations/management/bucket_describe.cxx +1 -1
  157. data/ext/couchbase/core/operations/management/bucket_describe.hxx +1 -0
  158. data/ext/couchbase/core/operations/management/bucket_drop.cxx +1 -1
  159. data/ext/couchbase/core/operations/management/bucket_drop.hxx +1 -0
  160. data/ext/couchbase/core/operations/management/bucket_flush.cxx +1 -1
  161. data/ext/couchbase/core/operations/management/bucket_flush.hxx +1 -0
  162. data/ext/couchbase/core/operations/management/bucket_get.cxx +1 -1
  163. data/ext/couchbase/core/operations/management/bucket_get.hxx +1 -0
  164. data/ext/couchbase/core/operations/management/bucket_get_all.hxx +1 -0
  165. data/ext/couchbase/core/operations/management/bucket_update.hxx +1 -0
  166. data/ext/couchbase/core/operations/management/change_password.cxx +1 -1
  167. data/ext/couchbase/core/operations/management/change_password.hxx +1 -0
  168. data/ext/couchbase/core/operations/management/cluster_describe.hxx +1 -0
  169. data/ext/couchbase/core/operations/management/cluster_developer_preview_enable.hxx +1 -0
  170. data/ext/couchbase/core/operations/management/collection_create.cxx +1 -1
  171. data/ext/couchbase/core/operations/management/collection_create.hxx +2 -0
  172. data/ext/couchbase/core/operations/management/collection_drop.cxx +1 -1
  173. data/ext/couchbase/core/operations/management/collection_drop.hxx +1 -0
  174. data/ext/couchbase/core/operations/management/collection_update.cxx +1 -1
  175. data/ext/couchbase/core/operations/management/collection_update.hxx +2 -0
  176. data/ext/couchbase/core/operations/management/collections_manifest_get.hxx +2 -0
  177. data/ext/couchbase/core/operations/management/eventing_deploy_function.cxx +1 -1
  178. data/ext/couchbase/core/operations/management/eventing_deploy_function.hxx +3 -2
  179. data/ext/couchbase/core/operations/management/eventing_drop_function.cxx +1 -1
  180. data/ext/couchbase/core/operations/management/eventing_drop_function.hxx +3 -2
  181. data/ext/couchbase/core/operations/management/eventing_get_all_functions.hxx +3 -2
  182. data/ext/couchbase/core/operations/management/eventing_get_function.cxx +1 -1
  183. data/ext/couchbase/core/operations/management/eventing_get_function.hxx +3 -2
  184. data/ext/couchbase/core/operations/management/eventing_get_status.hxx +3 -2
  185. data/ext/couchbase/core/operations/management/eventing_pause_function.cxx +1 -1
  186. data/ext/couchbase/core/operations/management/eventing_pause_function.hxx +3 -2
  187. data/ext/couchbase/core/operations/management/eventing_resume_function.cxx +1 -1
  188. data/ext/couchbase/core/operations/management/eventing_resume_function.hxx +3 -2
  189. data/ext/couchbase/core/operations/management/eventing_undeploy_function.cxx +1 -1
  190. data/ext/couchbase/core/operations/management/eventing_undeploy_function.hxx +3 -2
  191. data/ext/couchbase/core/operations/management/eventing_upsert_function.cxx +1 -2
  192. data/ext/couchbase/core/operations/management/eventing_upsert_function.hxx +3 -2
  193. data/ext/couchbase/core/operations/management/freeform.hxx +2 -0
  194. data/ext/couchbase/core/operations/management/group_drop.cxx +1 -1
  195. data/ext/couchbase/core/operations/management/group_drop.hxx +1 -0
  196. data/ext/couchbase/core/operations/management/group_get.cxx +1 -1
  197. data/ext/couchbase/core/operations/management/group_get.hxx +1 -0
  198. data/ext/couchbase/core/operations/management/group_get_all.hxx +1 -0
  199. data/ext/couchbase/core/operations/management/group_upsert.hxx +1 -0
  200. data/ext/couchbase/core/operations/management/query_index_build.hxx +7 -5
  201. data/ext/couchbase/core/operations/management/query_index_build_deferred.hxx +3 -0
  202. data/ext/couchbase/core/operations/management/query_index_create.cxx +1 -1
  203. data/ext/couchbase/core/operations/management/query_index_create.hxx +1 -0
  204. data/ext/couchbase/core/operations/management/query_index_drop.cxx +1 -1
  205. data/ext/couchbase/core/operations/management/query_index_drop.hxx +1 -0
  206. data/ext/couchbase/core/operations/management/query_index_get_all.hxx +2 -0
  207. data/ext/couchbase/core/operations/management/query_index_get_all_deferred.hxx +3 -0
  208. data/ext/couchbase/core/operations/management/role_get_all.hxx +1 -0
  209. data/ext/couchbase/core/operations/management/scope_create.cxx +1 -1
  210. data/ext/couchbase/core/operations/management/scope_create.hxx +1 -0
  211. data/ext/couchbase/core/operations/management/scope_drop.cxx +1 -1
  212. data/ext/couchbase/core/operations/management/scope_drop.hxx +1 -0
  213. data/ext/couchbase/core/operations/management/scope_get_all.cxx +1 -1
  214. data/ext/couchbase/core/operations/management/scope_get_all.hxx +1 -0
  215. data/ext/couchbase/core/operations/management/search_get_stats.hxx +1 -0
  216. data/ext/couchbase/core/operations/management/search_index_analyze_document.cxx +1 -1
  217. data/ext/couchbase/core/operations/management/search_index_analyze_document.hxx +1 -0
  218. data/ext/couchbase/core/operations/management/search_index_control_ingest.cxx +1 -1
  219. data/ext/couchbase/core/operations/management/search_index_control_ingest.hxx +1 -0
  220. data/ext/couchbase/core/operations/management/search_index_control_plan_freeze.cxx +1 -1
  221. data/ext/couchbase/core/operations/management/search_index_control_plan_freeze.hxx +1 -0
  222. data/ext/couchbase/core/operations/management/search_index_control_query.cxx +1 -1
  223. data/ext/couchbase/core/operations/management/search_index_control_query.hxx +1 -0
  224. data/ext/couchbase/core/operations/management/search_index_drop.cxx +1 -1
  225. data/ext/couchbase/core/operations/management/search_index_drop.hxx +1 -0
  226. data/ext/couchbase/core/operations/management/search_index_get.cxx +1 -1
  227. data/ext/couchbase/core/operations/management/search_index_get.hxx +1 -0
  228. data/ext/couchbase/core/operations/management/search_index_get_all.cxx +1 -1
  229. data/ext/couchbase/core/operations/management/search_index_get_all.hxx +1 -0
  230. data/ext/couchbase/core/operations/management/search_index_get_documents_count.cxx +1 -1
  231. data/ext/couchbase/core/operations/management/search_index_get_documents_count.hxx +2 -0
  232. data/ext/couchbase/core/operations/management/search_index_get_stats.cxx +1 -1
  233. data/ext/couchbase/core/operations/management/search_index_get_stats.hxx +1 -0
  234. data/ext/couchbase/core/operations/management/search_index_upsert.cxx +1 -1
  235. data/ext/couchbase/core/operations/management/search_index_upsert.hxx +1 -0
  236. data/ext/couchbase/core/operations/management/user_drop.hxx +1 -0
  237. data/ext/couchbase/core/operations/management/user_get.hxx +1 -0
  238. data/ext/couchbase/core/operations/management/user_get_all.hxx +1 -0
  239. data/ext/couchbase/core/operations/management/user_upsert.cxx +3 -3
  240. data/ext/couchbase/core/operations/management/user_upsert.hxx +1 -0
  241. data/ext/couchbase/core/operations/management/view_index_drop.cxx +1 -1
  242. data/ext/couchbase/core/operations/management/view_index_drop.hxx +1 -0
  243. data/ext/couchbase/core/operations/management/view_index_get.cxx +1 -1
  244. data/ext/couchbase/core/operations/management/view_index_get.hxx +1 -0
  245. data/ext/couchbase/core/operations/management/view_index_get_all.cxx +1 -1
  246. data/ext/couchbase/core/operations/management/view_index_get_all.hxx +2 -0
  247. data/ext/couchbase/core/operations/management/view_index_upsert.cxx +1 -1
  248. data/ext/couchbase/core/operations/management/view_index_upsert.hxx +1 -0
  249. data/ext/couchbase/core/origin.cxx +3 -2
  250. data/ext/couchbase/core/platform/base64.h +8 -8
  251. data/ext/couchbase/core/protocol/client_opcode_fmt.hxx +1 -1
  252. data/ext/couchbase/core/protocol/client_response.hxx +1 -1
  253. data/ext/couchbase/core/protocol/frame_info_id_fmt.hxx +1 -1
  254. data/ext/couchbase/core/protocol/hello_feature_fmt.hxx +1 -1
  255. data/ext/couchbase/core/protocol/magic_fmt.hxx +1 -1
  256. data/ext/couchbase/core/protocol/server_opcode_fmt.hxx +1 -1
  257. data/ext/couchbase/core/query_context.hxx +7 -6
  258. data/ext/couchbase/core/retry_orchestrator.cxx +1 -1
  259. data/ext/couchbase/core/sasl/CMakeLists.txt +0 -1
  260. data/ext/couchbase/core/sasl/error_fmt.h +1 -1
  261. data/ext/couchbase/core/seed_config.cxx +2 -2
  262. data/ext/couchbase/core/service_type_fmt.hxx +1 -1
  263. data/ext/couchbase/core/topology/capabilities_fmt.hxx +1 -1
  264. data/ext/couchbase/core/topology/collections_manifest_fmt.hxx +2 -1
  265. data/ext/couchbase/core/topology/configuration_fmt.hxx +1 -1
  266. data/ext/couchbase/core/transactions/async_attempt_context.cxx +1 -1
  267. data/ext/couchbase/core/transactions/async_attempt_context.hxx +9 -22
  268. data/ext/couchbase/core/transactions/attempt_context.cxx +1 -1
  269. data/ext/couchbase/core/transactions/attempt_context.hxx +6 -33
  270. data/ext/couchbase/core/transactions/attempt_context_impl.cxx +41 -41
  271. data/ext/couchbase/core/transactions/attempt_context_impl.hxx +15 -16
  272. data/ext/couchbase/core/transactions/exceptions_fmt.hxx +1 -1
  273. data/ext/couchbase/core/transactions/internal/atr_cleanup_entry.hxx +1 -1
  274. data/ext/couchbase/core/transactions/internal/client_record.hxx +4 -3
  275. data/ext/couchbase/core/transactions/internal/doc_record_fmt.hxx +1 -1
  276. data/ext/couchbase/core/transactions/internal/exceptions_internal.hxx +0 -2
  277. data/ext/couchbase/core/transactions/internal/exceptions_internal_fmt.hxx +1 -1
  278. data/ext/couchbase/core/transactions/internal/logging.hxx +2 -0
  279. data/ext/couchbase/core/transactions/internal/transaction_context.hxx +3 -0
  280. data/ext/couchbase/core/transactions/result_fmt.hxx +1 -1
  281. data/ext/couchbase/core/transactions/transaction_context.cxx +12 -2
  282. data/ext/couchbase/core/transactions/transaction_get_result.hxx +0 -20
  283. data/ext/couchbase/core/transactions/transaction_links.hxx +1 -1
  284. data/ext/couchbase/core/utils/join_strings.hxx +2 -2
  285. data/ext/couchbase/core/utils/keyspace.hxx +2 -1
  286. data/ext/couchbase/core/utils/url_codec.cxx +1 -1
  287. data/ext/couchbase/couchbase/common_options.hxx +16 -1
  288. data/ext/couchbase/couchbase/fmt/analytics_scan_consistency.hxx +0 -2
  289. data/ext/couchbase/couchbase/fmt/analytics_status.hxx +0 -2
  290. data/ext/couchbase/couchbase/fmt/cas.hxx +0 -2
  291. data/ext/couchbase/couchbase/fmt/durability_level.hxx +0 -2
  292. data/ext/couchbase/couchbase/fmt/error.hxx +0 -2
  293. data/ext/couchbase/couchbase/fmt/error_context.hxx +0 -2
  294. data/ext/couchbase/couchbase/fmt/mutation_token.hxx +0 -2
  295. data/ext/couchbase/couchbase/fmt/query_profile.hxx +0 -2
  296. data/ext/couchbase/couchbase/fmt/query_scan_consistency.hxx +0 -2
  297. data/ext/couchbase/couchbase/fmt/query_status.hxx +0 -2
  298. data/ext/couchbase/couchbase/fmt/retry_reason.hxx +5 -1
  299. data/ext/couchbase/couchbase/fmt/search_scan_consistency.hxx +0 -2
  300. data/ext/couchbase/couchbase/fmt/tls_verify_mode.hxx +0 -2
  301. data/ext/couchbase/couchbase/fmt/transaction_keyspace.hxx +0 -2
  302. data/ext/couchbase/couchbase/metrics/otel_meter.hxx +16 -20
  303. data/ext/extconf.rb +1 -0
  304. data/ext/rcb_analytics.cxx +7 -7
  305. data/ext/rcb_backend.cxx +6 -1
  306. data/ext/rcb_buckets.cxx +1 -1
  307. data/ext/rcb_collections.cxx +1 -1
  308. data/ext/rcb_crud.cxx +51 -30
  309. data/ext/rcb_diagnostics.cxx +1 -1
  310. data/ext/rcb_exceptions.cxx +3 -2
  311. data/ext/rcb_extras.cxx +1 -1
  312. data/ext/rcb_range_scan.cxx +1 -1
  313. data/ext/rcb_search.cxx +1 -1
  314. data/ext/rcb_users.cxx +2 -2
  315. data/ext/rcb_utils.hxx +32 -0
  316. data/lib/couchbase/logger.rb +3 -3
  317. data/lib/couchbase/options.rb +48 -0
  318. data/lib/couchbase/version.rb +1 -1
  319. metadata +131 -153
  320. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/CMakeLists.txt +0 -520
  321. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/ChangeLog.md +0 -2598
  322. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/LICENSE +0 -27
  323. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/README.md +0 -484
  324. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/fmt.cc +0 -135
  325. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/src/os.cc +0 -403
  326. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/FindSetEnv.cmake +0 -7
  327. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/JoinPaths.cmake +0 -26
  328. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/fmt-config.cmake.in +0 -7
  329. data/ext/cache/fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/support/cmake/fmt.pc.in +0 -11
  330. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/args.h +0 -235
  331. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/chrono.h +0 -2240
  332. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/color.h +0 -643
  333. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/compile.h +0 -535
  334. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/core.h +0 -2969
  335. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/format-inl.h +0 -1678
  336. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/format.h +0 -4535
  337. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/os.h +0 -455
  338. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/ostream.h +0 -245
  339. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/printf.h +0 -675
  340. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/ranges.h +0 -738
  341. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/std.h +0 -537
  342. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/include/spdlog/fmt/bundled/xchar.h +0 -259
  343. data/ext/cache/spdlog/19df5d3d8e5526c255d27414e09568671ef87483/spdlog/src/bundled_fmtlib_format.cpp +0 -46
  344. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/LICENSE +0 -0
  345. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/ide.cmake +0 -0
  346. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/pch.h.in +0 -0
  347. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/spdlog.pc.in +0 -0
  348. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/spdlogCPack.cmake +0 -0
  349. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/spdlogConfig.cmake.in +0 -0
  350. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/cmake/version.rc.in +0 -0
  351. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/async.h +0 -0
  352. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/async_logger.h +0 -0
  353. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/argv.h +0 -0
  354. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/env.h +0 -0
  355. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/helpers-inl.h +0 -0
  356. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/cfg/helpers.h +0 -0
  357. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/common-inl.h +0 -0
  358. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/common.h +0 -0
  359. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/backtracer-inl.h +0 -0
  360. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/backtracer.h +0 -0
  361. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/circular_q.h +0 -0
  362. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/console_globals.h +0 -0
  363. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/file_helper-inl.h +0 -0
  364. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/file_helper.h +0 -0
  365. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/fmt_helper.h +0 -0
  366. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg-inl.h +0 -0
  367. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg.h +0 -0
  368. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg_buffer-inl.h +0 -0
  369. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/log_msg_buffer.h +0 -0
  370. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/null_mutex.h +0 -0
  371. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/os.h +0 -0
  372. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/periodic_worker-inl.h +0 -0
  373. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/periodic_worker.h +0 -0
  374. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/registry-inl.h +0 -0
  375. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/registry.h +0 -0
  376. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/synchronous_factory.h +0 -0
  377. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/tcp_client-windows.h +0 -0
  378. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/tcp_client.h +0 -0
  379. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/udp_client-windows.h +0 -0
  380. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/udp_client.h +0 -0
  381. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/details/windows_include.h +0 -0
  382. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/bin_to_hex.h +0 -0
  383. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/args.h +0 -0
  384. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/chrono.h +0 -0
  385. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/color.h +0 -0
  386. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/compile.h +0 -0
  387. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/core.h +0 -0
  388. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/bundled/fmt.license.rst +0 -0
  389. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/bundled/locale.h +0 -0
  390. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/os.h +0 -0
  391. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/ostream.h +0 -0
  392. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/printf.h +0 -0
  393. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/std.h +0 -0
  394. /data/ext/cache/{fmt/141a17a028e6c29914e109691389f6cf87f9cfe3/fmt/include/fmt → spdlog/7251ead404dccd824789f8f3a13df2a6fb56440c/spdlog/include/spdlog/fmt/bundled}/xchar.h +0 -0
  395. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/chrono.h +0 -0
  396. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/compile.h +0 -0
  397. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/fmt.h +0 -0
  398. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/ostr.h +0 -0
  399. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/ranges.h +0 -0
  400. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/std.h +0 -0
  401. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fmt/xchar.h +0 -0
  402. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/formatter.h +0 -0
  403. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/fwd.h +0 -0
  404. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/logger-inl.h +0 -0
  405. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/logger.h +0 -0
  406. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/pattern_formatter.h +0 -0
  407. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/android_sink.h +0 -0
  408. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ansicolor_sink-inl.h +0 -0
  409. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/base_sink-inl.h +0 -0
  410. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/basic_file_sink-inl.h +0 -0
  411. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/basic_file_sink.h +0 -0
  412. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/dist_sink.h +0 -0
  413. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/dup_filter_sink.h +0 -0
  414. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/kafka_sink.h +0 -0
  415. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/mongo_sink.h +0 -0
  416. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/null_sink.h +0 -0
  417. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ostream_sink.h +0 -0
  418. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/qt_sinks.h +0 -0
  419. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/ringbuffer_sink.h +0 -0
  420. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/rotating_file_sink.h +0 -0
  421. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/sink-inl.h +0 -0
  422. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/sink.h +0 -0
  423. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_color_sinks-inl.h +0 -0
  424. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_color_sinks.h +0 -0
  425. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_sinks-inl.h +0 -0
  426. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/stdout_sinks.h +0 -0
  427. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/systemd_sink.h +0 -0
  428. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/tcp_sink.h +0 -0
  429. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/udp_sink.h +0 -0
  430. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/win_eventlog_sink.h +0 -0
  431. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/sinks/wincolor_sink.h +0 -0
  432. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/spdlog-inl.h +0 -0
  433. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/spdlog.h +0 -0
  434. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/stopwatch.h +0 -0
  435. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/include/spdlog/tweakme.h +0 -0
  436. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/async.cpp +0 -0
  437. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/cfg.cpp +0 -0
  438. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/color_sinks.cpp +0 -0
  439. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/file_sinks.cpp +0 -0
  440. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/spdlog.cpp +0 -0
  441. /data/ext/cache/spdlog/{19df5d3d8e5526c255d27414e09568671ef87483 → 7251ead404dccd824789f8f3a13df2a6fb56440c}/spdlog/src/stdout_sinks.cpp +0 -0
@@ -15,12 +15,13 @@
15
15
  * limitations under the License.
16
16
  */
17
17
 
18
- #include <couchbase/fmt/retry_reason.hxx>
19
-
20
18
  #include "core/error_context/query_error_context.hxx"
21
19
 
20
+ #include <spdlog/fmt/bundled/core.h>
22
21
  #include <tao/json/to_string.hpp>
23
22
 
23
+ #include <couchbase/fmt/retry_reason.hxx>
24
+
24
25
  namespace couchbase::core
25
26
  {
26
27
  auto
@@ -31,7 +31,7 @@
31
31
  #include <couchbase/collection.hxx>
32
32
  #include <couchbase/scope.hxx>
33
33
 
34
- #include <fmt/core.h>
34
+ #include <spdlog/fmt/bundled/core.h>
35
35
 
36
36
  #include <memory>
37
37
  #include <utility>
@@ -136,8 +136,8 @@ scope::query(std::string statement, const query_options& options, query_handler&
136
136
  }
137
137
 
138
138
  auto
139
- scope::query(std::string statement,
140
- const query_options& options) const -> std::future<std::pair<error, query_result>>
139
+ scope::query(std::string statement, const query_options& options) const
140
+ -> std::future<std::pair<error, query_result>>
141
141
  {
142
142
  auto barrier = std::make_shared<std::promise<std::pair<error, query_result>>>();
143
143
  auto future = barrier->get_future();
@@ -178,9 +178,8 @@ scope::search(std::string index_name,
178
178
  }
179
179
 
180
180
  auto
181
- scope::search(std::string index_name,
182
- search_request request,
183
- const search_options& options) const -> std::future<std::pair<error, search_result>>
181
+ scope::search(std::string index_name, search_request request, const search_options& options) const
182
+ -> std::future<std::pair<error, search_result>>
184
183
  {
185
184
  auto barrier = std::make_shared<std::promise<std::pair<error, search_result>>>();
186
185
  auto future = barrier->get_future();
@@ -29,7 +29,7 @@
29
29
  #include <couchbase/match_none_query.hxx>
30
30
  #include <utility>
31
31
 
32
- #include <fmt/core.h>
32
+ #include <spdlog/fmt/bundled/core.h>
33
33
 
34
34
  namespace couchbase::core::impl
35
35
  {
@@ -165,6 +165,7 @@ build_search_request(std::string index_name,
165
165
  options.client_context_id,
166
166
  options.timeout,
167
167
  };
168
+ request.parent_span = options.parent_span;
168
169
  return request;
169
170
  }
170
171
 
@@ -207,6 +208,7 @@ build_search_request(std::string index_name,
207
208
  options.client_context_id,
208
209
  options.timeout,
209
210
  };
211
+ core_request.parent_span = options.parent_span;
210
212
 
211
213
  if (auto vector_search = request.vector_search(); vector_search.has_value()) {
212
214
  core_request.vector_search = core::utils::json::generate_binary(vector_search->query);
@@ -29,7 +29,7 @@
29
29
  #include "mcbp_session.hxx"
30
30
 
31
31
  #include <asio/steady_timer.hpp>
32
- #include <fmt/chrono.h>
32
+ #include <spdlog/fmt/bundled/chrono.h>
33
33
 
34
34
  namespace couchbase::core::io
35
35
  {
@@ -27,10 +27,8 @@
27
27
  #include <asio/ip/tcp.hpp>
28
28
  #include <asio/read.hpp>
29
29
  #include <asio/write.hpp>
30
-
31
- #include <fmt/chrono.h>
32
-
33
30
  #include <spdlog/fmt/bin_to_hex.h>
31
+ #include <spdlog/fmt/bundled/chrono.h>
34
32
 
35
33
  #include <chrono>
36
34
  #include <memory>
@@ -98,6 +96,9 @@ public:
98
96
  bytes_transferred1);
99
97
  if (ec1) {
100
98
  self->udp_deadline_.cancel();
99
+ if (ec1 == asio::error::operation_aborted) {
100
+ return;
101
+ }
101
102
  CB_LOG_DEBUG(
102
103
  "DNS UDP write operation has got error, retrying with TCP, address=\"{}:{}\", ec={}",
103
104
  self->address_.to_string(),
@@ -121,6 +122,9 @@ public:
121
122
 
122
123
  self->udp_deadline_.cancel();
123
124
  if (ec2) {
125
+ if (ec2 == asio::error::operation_aborted) {
126
+ return;
127
+ }
124
128
  CB_LOG_DEBUG(
125
129
  "DNS UDP read operation has got error, retrying with TCP, address=\"{}:{}\", ec={}",
126
130
  self->address_.to_string(),
@@ -151,11 +155,12 @@ public:
151
155
  if (ec == asio::error::operation_aborted) {
152
156
  return;
153
157
  }
158
+ self->udp_.cancel();
154
159
  CB_LOG_DEBUG("DNS UDP deadline has been reached, cancelling UDP operation and fall back to "
155
160
  "TCP, address=\"{}:{}\"",
156
161
  self->address_.to_string(),
157
162
  self->port_);
158
- self->udp_.cancel();
163
+ return self->retry_with_tcp();
159
164
  });
160
165
 
161
166
  deadline_.expires_after(total_timeout);
@@ -172,6 +177,7 @@ public:
172
177
  if (self->tcp_.is_open()) {
173
178
  self->tcp_.cancel();
174
179
  }
180
+ return self->handler_({ errc::common::unambiguous_timeout });
175
181
  });
176
182
  }
177
183
 
@@ -195,6 +201,9 @@ private:
195
201
  const asio::ip::tcp::endpoint endpoint(address_, port_);
196
202
  tcp_.async_connect(endpoint, [self = shared_from_this()](std::error_code ec1) mutable {
197
203
  if (ec1) {
204
+ if (ec1 == asio::error::operation_aborted) {
205
+ return;
206
+ }
198
207
  self->deadline_.cancel();
199
208
  CB_LOG_DEBUG("DNS TCP connection has been aborted, address=\"{}:{}\", ec={}",
200
209
  self->address_.to_string(),
@@ -220,14 +229,14 @@ private:
220
229
  ec2 ? ec2.message() : "ok",
221
230
  bytes_transferred2);
222
231
  if (ec2) {
232
+ if (ec2 == asio::error::operation_aborted) {
233
+ return;
234
+ }
223
235
  CB_LOG_DEBUG("DNS TCP write operation has been aborted, address=\"{}:{}\", ec={}",
224
236
  self->address_.to_string(),
225
237
  self->port_,
226
238
  ec2.message());
227
239
  self->deadline_.cancel();
228
- if (ec2 == asio::error::operation_aborted) {
229
- ec2 = errc::common::unambiguous_timeout;
230
- }
231
240
  return self->handler_({ ec2 });
232
241
  }
233
242
  asio::async_read(
@@ -244,6 +253,9 @@ private:
244
253
  reinterpret_cast<std::uint8_t*>(&self->recv_buf_size_) +
245
254
  bytes_transferred3));
246
255
  if (ec3) {
256
+ if (ec3 == asio::error::operation_aborted) {
257
+ return;
258
+ }
247
259
  CB_LOG_DEBUG(
248
260
  "DNS TCP buf size read operation has been aborted, address=\"{}:{}\", ec={}",
249
261
  self->address_.to_string(),
@@ -259,7 +271,6 @@ private:
259
271
  self->tcp_,
260
272
  asio::buffer(self->recv_buf_),
261
273
  [self](std::error_code ec4, std::size_t bytes_transferred4) mutable {
262
- self->deadline_.cancel();
263
274
  CB_LOG_PROTOCOL(
264
275
  "[DNS, TCP, IN] host=\"{}\", port={}, rc={}, bytes_received={}{:a}",
265
276
  self->address_.to_string(),
@@ -269,6 +280,10 @@ private:
269
280
  spdlog::to_hex(self->recv_buf_.data(),
270
281
  self->recv_buf_.data() + bytes_transferred4));
271
282
 
283
+ if (ec4 == asio::error::operation_aborted) {
284
+ return;
285
+ }
286
+ self->deadline_.cancel();
272
287
  if (ec4) {
273
288
  CB_LOG_DEBUG(
274
289
  "DNS TCP read operation has been aborted, address=\"{}:{}\", ec={}",
@@ -246,8 +246,8 @@ private:
246
246
  }
247
247
  if (self->meter_) {
248
248
  metrics::metric_attributes attrs{
249
- service_type::key_value,
250
- fmt::format("{}", self->encoded.path),
249
+ self->request.type,
250
+ self->request.observability_identifier,
251
251
  ec,
252
252
  };
253
253
  self->meter_->record_value(std::move(attrs), start);
@@ -17,8 +17,8 @@
17
17
 
18
18
  #include "http_parser.hxx"
19
19
 
20
- #include <fmt/core.h>
21
20
  #include <llhttp.h>
21
+ #include <spdlog/fmt/bundled/core.h>
22
22
 
23
23
  #include <algorithm>
24
24
 
@@ -19,10 +19,14 @@
19
19
 
20
20
  #include "core/logger/logger.hxx"
21
21
  #include "core/meta/version.hxx"
22
+ #include "core/platform/base64.h"
22
23
  #include "core/platform/uuid.h"
23
24
  #include "core/service_type_fmt.hxx"
24
25
 
25
26
  #include <couchbase/error_codes.hxx>
27
+
28
+ #include <spdlog/fmt/bin_to_hex.h>
29
+
26
30
  #include <utility>
27
31
 
28
32
  namespace couchbase::core::io
@@ -20,7 +20,6 @@
20
20
  #include <couchbase/build_config.hxx>
21
21
 
22
22
  #include "core/diagnostics.hxx"
23
- #include "core/impl/bootstrap_error.hxx"
24
23
  #include "core/origin.hxx"
25
24
  #include "core/platform/base64.h"
26
25
  #include "core/utils/movable_function.hxx"
@@ -30,9 +29,12 @@
30
29
  #include "http_streaming_parser.hxx"
31
30
  #include "http_streaming_response.hxx"
32
31
  #include "streams.hxx"
32
+ #ifdef COUCHBASE_CXX_CLIENT_COLUMNAR
33
+ #include "core/impl/bootstrap_error.hxx"
34
+ #endif
33
35
 
34
36
  #include <asio.hpp>
35
- #include <spdlog/fmt/bin_to_hex.h>
37
+ #include <spdlog/fmt/bundled/chrono.h>
36
38
 
37
39
  #include <memory>
38
40
  #include <optional>
@@ -36,7 +36,7 @@
36
36
  #include <couchbase/error_codes.hxx>
37
37
 
38
38
  #include <asio/steady_timer.hpp>
39
- #include <fmt/chrono.h>
39
+ #include <spdlog/fmt/bundled/chrono.h>
40
40
 
41
41
  #include <functional>
42
42
  #include <utility>
@@ -269,7 +269,7 @@ struct mcbp_command : public std::enable_shared_from_this<mcbp_command<Manager,
269
269
  std::optional<key_value_error_map_info> /* error_info */) mutable {
270
270
  metrics::metric_attributes attrs{
271
271
  service_type::key_value,
272
- fmt::format("{}", encoded_request_type::body_type::opcode),
272
+ self->request.observability_identifier,
273
273
  ec,
274
274
  self->request.id.bucket(),
275
275
  self->request.id.scope(),
@@ -15,8 +15,8 @@
15
15
 
16
16
  #include "key_value_config.hxx"
17
17
 
18
- #include <fmt/chrono.h>
19
- #include <fmt/core.h>
18
+ #include <spdlog/fmt/bundled/chrono.h>
19
+ #include <spdlog/fmt/bundled/core.h>
20
20
 
21
21
  namespace couchbase::core
22
22
  {
@@ -27,7 +27,7 @@
27
27
 
28
28
  #include "level.hxx"
29
29
 
30
- #include <fmt/core.h>
30
+ #include <spdlog/fmt/bundled/core.h>
31
31
  #include <spdlog/fwd.h>
32
32
 
33
33
  #include <memory>
@@ -19,7 +19,7 @@
19
19
 
20
20
  #include "rbac.hxx"
21
21
 
22
- #include <fmt/core.h>
22
+ #include <spdlog/fmt/bundled/core.h>
23
23
 
24
24
  template<>
25
25
  struct fmt::formatter<couchbase::core::management::rbac::auth_domain> {
@@ -23,7 +23,7 @@
23
23
 
24
24
  #include <couchbase/error_codes.hxx>
25
25
 
26
- #include <fmt/core.h>
26
+ #include <spdlog/fmt/bundled/core.h>
27
27
 
28
28
  #include <algorithm>
29
29
  #include <iterator>
@@ -22,8 +22,8 @@
22
22
 
23
23
  #include "core/fmt/key_value_status_code.hxx"
24
24
 
25
- #include <fmt/core.h>
26
25
  #include <spdlog/fmt/bin_to_hex.h>
26
+ #include <spdlog/fmt/bundled/core.h>
27
27
 
28
28
  #include <iterator>
29
29
 
@@ -195,3 +195,14 @@
195
195
  * encode document content or decode results.
196
196
  */
197
197
  #define COUCHBASE_CXX_CLIENT_PUBLIC_API_USES_TAO_JSON_ONLY_FOR_CONTENT
198
+
199
+ /**
200
+ * couchbase::metrics::otel_meter uses the GA version of the OpenTelemetry Metrics API.
201
+ * The Metrics API for OpenTelemetry was GA'd in version 1.7.0.
202
+ */
203
+ #define COUCHBASE_CXX_CLIENT_OTEL_METER_USES_GA_METRICS_API 1
204
+
205
+ /**
206
+ * All options classes in the Public API expose the parent_span option.
207
+ */
208
+ #define COUCHBASE_CXX_CLIENT_PUBLIC_API_PARENT_SPAN 1
@@ -27,12 +27,12 @@
27
27
  #include <couchbase/build_version.hxx>
28
28
 
29
29
  #include <asio/version.hpp>
30
- #include <fmt/core.h>
31
30
  #include <hdr/hdr_histogram_version.h>
32
31
  #include <llhttp.h>
33
32
  #include <openssl/crypto.h>
34
33
  #include <openssl/x509.h>
35
34
  #include <snappy-stubs-public.h>
35
+ #include <spdlog/fmt/bundled/core.h>
36
36
  #include <spdlog/version.h>
37
37
 
38
38
  #include <regex>
@@ -316,6 +316,28 @@ os() -> const std::string&
316
316
  return system;
317
317
  }
318
318
 
319
+ namespace
320
+ {
321
+ constexpr auto
322
+ has_wrapper_sdk_id() -> bool
323
+ {
324
+ return COUCHBASE_CXX_CLIENT_WRAPPER_UNIFIED_ID != nullptr &&
325
+ COUCHBASE_CXX_CLIENT_WRAPPER_UNIFIED_ID[0] != '\0';
326
+ }
327
+
328
+ auto
329
+ wrapper_sdk_id() -> std::string
330
+ {
331
+ return COUCHBASE_CXX_CLIENT_WRAPPER_UNIFIED_ID;
332
+ }
333
+
334
+ auto
335
+ cxx_sdk_id() -> std::string
336
+ {
337
+ return fmt::format("cxx/{}", sdk_semver());
338
+ }
339
+ } // namespace
340
+
319
341
  constexpr const char* ssl_lib_id =
320
342
  #if defined(COUCHBASE_CXX_CLIENT_STATIC_BORINGSSL)
321
343
  "bssl"
@@ -329,16 +351,24 @@ user_agent_for_http(const std::string& client_id,
329
351
  const std::string& session_id,
330
352
  const std::string& extra) -> std::string
331
353
  {
332
- auto user_agent = fmt::format("{};{}/0x{:x};client/{};session/{};{}",
333
- couchbase::core::meta::sdk_id(),
354
+ std::string user_agent{ has_wrapper_sdk_id() ? wrapper_sdk_id() : cxx_sdk_id() };
355
+ user_agent.append(" (");
356
+ if (has_wrapper_sdk_id()) {
357
+ user_agent.append(cxx_sdk_id()).append(";");
358
+ }
359
+
360
+ user_agent.append(fmt::format("{}/{};{}/0x{:x};client/{};session/{};{}",
361
+ COUCHBASE_CXX_CLIENT_SYSTEM_NAME,
362
+ COUCHBASE_CXX_CLIENT_SYSTEM_PROCESSOR,
334
363
  ssl_lib_id,
335
364
  OpenSSL_version_num(),
336
365
  client_id,
337
366
  session_id,
338
- couchbase::core::meta::os());
367
+ couchbase::core::meta::os()));
339
368
  if (!extra.empty()) {
340
369
  user_agent.append(";").append(extra);
341
370
  }
371
+ user_agent.append(")");
342
372
  for (auto& ch : user_agent) {
343
373
  if (ch == '\n' || ch == '\r') {
344
374
  ch = ' ';
@@ -356,12 +386,22 @@ user_agent_for_mcbp(const std::string& client_id,
356
386
  tao::json::value user_agent{
357
387
  { "i", fmt::format("{}/{}", client_id, session_id) },
358
388
  };
359
- const std::string core_id =
360
- fmt::format("{};{}/0x{:x}", couchbase::core::meta::sdk_id(), ssl_lib_id, OpenSSL_version_num());
389
+ std::string core_id{ has_wrapper_sdk_id() ? wrapper_sdk_id() : cxx_sdk_id() };
390
+ core_id.append(" (");
391
+ if (has_wrapper_sdk_id()) {
392
+ core_id.append(cxx_sdk_id()).append(";");
393
+ }
394
+ core_id.append(fmt::format("{}/{};{}/0x{:x}",
395
+ COUCHBASE_CXX_CLIENT_SYSTEM_NAME,
396
+ COUCHBASE_CXX_CLIENT_SYSTEM_PROCESSOR,
397
+ ssl_lib_id,
398
+ OpenSSL_version_num()));
361
399
  std::string sdk_id = core_id;
400
+ core_id.append(")");
362
401
  if (!extra.empty()) {
363
402
  sdk_id.append(";").append(extra);
364
403
  }
404
+ sdk_id.append(")");
365
405
  if (max_length > 0) {
366
406
  auto current_length = utils::json::generate(user_agent).size();
367
407
  auto allowed_length = max_length - current_length;
@@ -373,7 +413,8 @@ user_agent_for_mcbp(const std::string& client_id,
373
413
  /* user-provided string is too weird, lets just fall back to just core */
374
414
  sdk_id = core_id;
375
415
  } else {
376
- sdk_id.erase(allowed_length - escaped_characters);
416
+ sdk_id.erase(allowed_length - escaped_characters - 1);
417
+ sdk_id.append(")");
377
418
  }
378
419
  }
379
420
  }
@@ -116,12 +116,16 @@ analytics_request::make_response(error_context::analytics&& ctx,
116
116
  response.ctx.ec = errc::common::parsing_failure;
117
117
  return response;
118
118
  }
119
- response.meta.request_id = payload.at("requestID").get_string();
120
- response.meta.client_context_id = payload.at("clientContextID").get_string();
121
- if (response.ctx.client_context_id != response.meta.client_context_id) {
122
- CB_LOG_WARNING(R"(unexpected clientContextID returned by service: "{}", expected "{}")",
123
- response.meta.client_context_id,
124
- response.ctx.client_context_id);
119
+ if (const auto* i = payload.find("requestID"); i != nullptr) {
120
+ response.meta.request_id = i->get_string();
121
+ }
122
+ if (const auto* i = payload.find("clientContextID"); i != nullptr) {
123
+ response.meta.client_context_id = i->get_string();
124
+ if (response.ctx.client_context_id != response.meta.client_context_id) {
125
+ CB_LOG_WARNING(R"(unexpected clientContextID returned by service: "{}", expected "{}")",
126
+ response.meta.client_context_id,
127
+ response.ctx.client_context_id);
128
+ }
125
129
  }
126
130
  if (auto& status_prop = payload.at("status"); status_prop.is_string()) {
127
131
  const auto& status = status_prop.get_string();
@@ -154,17 +158,19 @@ analytics_request::make_response(error_context::analytics&& ctx,
154
158
  response.meta.signature = couchbase::core::utils::json::generate(*s);
155
159
  }
156
160
 
157
- const tao::json::value& metrics = payload.at("metrics");
158
- response.meta.metrics.result_count = metrics.at("resultCount").get_unsigned();
159
- response.meta.metrics.result_size = metrics.at("resultSize").get_unsigned();
160
- response.meta.metrics.elapsed_time =
161
- utils::parse_duration(metrics.at("elapsedTime").get_string());
162
- response.meta.metrics.execution_time =
163
- utils::parse_duration(metrics.at("executionTime").get_string());
164
- response.meta.metrics.processed_objects = metrics.at("processedObjects").get_unsigned();
165
- response.meta.metrics.error_count = metrics.optional<std::uint64_t>("errorCount").value_or(0);
166
- response.meta.metrics.warning_count =
167
- metrics.optional<std::uint64_t>("warningCount").value_or(0);
161
+ if (const auto* metrics = payload.find("metrics"); metrics != nullptr) {
162
+ response.meta.metrics.result_count = metrics->at("resultCount").get_unsigned();
163
+ response.meta.metrics.result_size = metrics->at("resultSize").get_unsigned();
164
+ response.meta.metrics.elapsed_time =
165
+ utils::parse_duration(metrics->at("elapsedTime").get_string());
166
+ response.meta.metrics.execution_time =
167
+ utils::parse_duration(metrics->at("executionTime").get_string());
168
+ response.meta.metrics.processed_objects = metrics->at("processedObjects").get_unsigned();
169
+ response.meta.metrics.error_count =
170
+ metrics->optional<std::uint64_t>("errorCount").value_or(0);
171
+ response.meta.metrics.warning_count =
172
+ metrics->optional<std::uint64_t>("warningCount").value_or(0);
173
+ }
168
174
 
169
175
  if (const auto* e = payload.find("errors"); e != nullptr) {
170
176
  for (const auto& err : e->get_array()) {
@@ -80,6 +80,7 @@ struct analytics_request {
80
80
  using error_context_type = error_context::analytics;
81
81
 
82
82
  static const inline service_type type = service_type::analytics;
83
+ static const inline std::string observability_identifier = "analytics";
83
84
 
84
85
  std::string statement;
85
86
 
@@ -44,6 +44,8 @@ struct append_request {
44
44
  using encoded_request_type = protocol::client_request<protocol::append_request_body>;
45
45
  using encoded_response_type = protocol::client_response<protocol::append_response_body>;
46
46
 
47
+ static const inline std::string observability_identifier = "append";
48
+
47
49
  document_id id;
48
50
  std::vector<std::byte> value;
49
51
  std::uint16_t partition{};
@@ -45,6 +45,8 @@ struct decrement_request {
45
45
  using encoded_request_type = protocol::client_request<protocol::decrement_request_body>;
46
46
  using encoded_response_type = protocol::client_response<protocol::decrement_response_body>;
47
47
 
48
+ static const inline std::string observability_identifier = "decrement";
49
+
48
50
  document_id id;
49
51
  std::uint16_t partition{};
50
52
  std::uint32_t opaque{};
@@ -50,6 +50,8 @@ struct exists_request {
50
50
  using encoded_request_type = protocol::client_request<protocol::get_meta_request_body>;
51
51
  using encoded_response_type = protocol::client_response<protocol::get_meta_response_body>;
52
52
 
53
+ static const inline std::string observability_identifier = "exists";
54
+
53
55
  document_id id;
54
56
  std::uint16_t partition{};
55
57
  std::uint32_t opaque{};
@@ -41,6 +41,8 @@ struct get_request {
41
41
  using encoded_request_type = protocol::client_request<protocol::get_request_body>;
42
42
  using encoded_response_type = protocol::client_response<protocol::get_response_body>;
43
43
 
44
+ static const inline std::string observability_identifier = "get";
45
+
44
46
  document_id id;
45
47
  std::uint16_t partition{};
46
48
  std::uint32_t opaque{};
@@ -50,6 +50,8 @@ struct get_all_replicas_request {
50
50
  using encoded_response_type =
51
51
  core::protocol::client_response<core::protocol::get_replica_response_body>;
52
52
 
53
+ static const inline std::string observability_identifier = "get_all_replicas";
54
+
53
55
  core::document_id id;
54
56
  std::optional<std::chrono::milliseconds> timeout{};
55
57
  couchbase::read_preference read_preference{ couchbase::read_preference::no_preference };
@@ -41,6 +41,8 @@ struct get_and_lock_request {
41
41
  using encoded_request_type = protocol::client_request<protocol::get_and_lock_request_body>;
42
42
  using encoded_response_type = protocol::client_response<protocol::get_and_lock_response_body>;
43
43
 
44
+ static const inline std::string observability_identifier = "get_and_lock";
45
+
44
46
  document_id id;
45
47
  std::uint16_t partition{};
46
48
  std::uint32_t opaque{};
@@ -42,6 +42,8 @@ struct get_and_touch_request {
42
42
  using encoded_request_type = protocol::client_request<protocol::get_and_touch_request_body>;
43
43
  using encoded_response_type = protocol::client_response<protocol::get_and_touch_response_body>;
44
44
 
45
+ static const inline std::string observability_identifier = "get_and_touch";
46
+
45
47
  document_id id;
46
48
  std::uint16_t partition{};
47
49
  std::uint32_t opaque{};
@@ -46,6 +46,8 @@ struct get_any_replica_request {
46
46
  using encoded_response_type =
47
47
  core::protocol::client_response<core::protocol::get_replica_response_body>;
48
48
 
49
+ static const inline std::string observability_identifier = "get_any_replica";
50
+
49
51
  core::document_id id;
50
52
  std::optional<std::chrono::milliseconds> timeout{};
51
53
  couchbase::read_preference read_preference{ couchbase::read_preference::no_preference };
@@ -42,6 +42,8 @@ struct get_projected_request {
42
42
  using encoded_request_type = protocol::client_request<protocol::lookup_in_request_body>;
43
43
  using encoded_response_type = protocol::client_response<protocol::lookup_in_response_body>;
44
44
 
45
+ static const inline std::string observability_identifier = "get";
46
+
45
47
  document_id id;
46
48
  std::uint16_t partition{};
47
49
  std::uint32_t opaque{};
@@ -45,6 +45,8 @@ struct increment_request {
45
45
  using encoded_request_type = protocol::client_request<protocol::increment_request_body>;
46
46
  using encoded_response_type = protocol::client_response<protocol::increment_response_body>;
47
47
 
48
+ static const inline std::string observability_identifier = "increment";
49
+
48
50
  document_id id;
49
51
  std::uint16_t partition{};
50
52
  std::uint32_t opaque{};
@@ -44,6 +44,8 @@ struct insert_request {
44
44
  using encoded_request_type = protocol::client_request<protocol::insert_request_body>;
45
45
  using encoded_response_type = protocol::client_response<protocol::insert_response_body>;
46
46
 
47
+ static const inline std::string observability_identifier = "insert";
48
+
47
49
  document_id id;
48
50
  std::vector<std::byte> value;
49
51
  std::uint16_t partition{};
@@ -54,6 +54,8 @@ struct lookup_in_request {
54
54
  using encoded_request_type = protocol::client_request<protocol::lookup_in_request_body>;
55
55
  using encoded_response_type = protocol::client_response<protocol::lookup_in_response_body>;
56
56
 
57
+ static const inline std::string observability_identifier = "lookup_in";
58
+
57
59
  document_id id;
58
60
  std::uint16_t partition{};
59
61
  std::uint32_t opaque{};
@@ -61,6 +61,8 @@ struct lookup_in_all_replicas_request {
61
61
  using encoded_response_type =
62
62
  core::protocol::client_response<core::protocol::lookup_in_replica_response_body>;
63
63
 
64
+ static const inline std::string observability_identifier = "lookup_in_all_replicas";
65
+
64
66
  core::document_id id;
65
67
  std::vector<couchbase::core::impl::subdoc::command> specs{};
66
68
  std::optional<std::chrono::milliseconds> timeout{};
@@ -59,6 +59,8 @@ struct lookup_in_any_replica_request {
59
59
  using encoded_response_type =
60
60
  core::protocol::client_response<core::protocol::lookup_in_replica_response_body>;
61
61
 
62
+ static const inline std::string observability_identifier = "lookup_in_any_replica";
63
+
62
64
  core::document_id id;
63
65
  std::vector<couchbase::core::impl::subdoc::command> specs{};
64
66
  std::optional<std::chrono::milliseconds> timeout{};