* Avoid using structured bindings in doctest assertions
clang doesn't allow this with the latest releases of doctest
This will unblock #7319
* Add constructor to MappedKV
* Add logic for DDSketch in mako
* Return double from percentile() and fix crash in deserialize()
* make sure to serialize and print result from mergeSketchReport()
* clean up comments
* move ddsketch into its own file
* remove LatencySampleBin and add DDSketch to ThreadStatistics
* Update DDSketch implementation
* remove assertions that cause circular references
* add DDSketchMako as a subsclass from DDSketch
* Merge branch 'ddsketch_mako' of github.com:sfc-gh-khoxha/foundationdb into ddsketch_mako
* Revert "Merge branch 'ddsketch_mako' of github.com:sfc-gh-khoxha/foundationdb into ddsketch_mako"
This reverts commit cc29a68aef.
* add ddsketch mako class and rename export flag
* remove redundant decimal roundings
* print max/min/avg from ddsketch
* remove latency sample bin completly
* Make ThreadStatistics dump latency to a file and read from file in printReport()
* make sure to add latency data from file to final stats
* change mergeSketchReport to use new ThreadStatistics serialization (1)
* use C-style string arrays in Arguments instead of std::string
* remove unused header
* only serialize non-empty sketches
* fix CentOS build error
* Update report file count properly
* avoid deserializing empty sketches
* fix segmentation fault when getting file name for export_sketch_path
* make sure to properly add file to report_files list
* fix printing bugs when running in report mode
* fix incorrect insertion of report files
* don't use range based loop for char array
* don't reset args.num_report_files
* Update the usage info for new options
* switch to using std::vector for sketches instead of std::array
* make sure to use true/false instead of 1/0 for booleans
* remove op_name if not being used
* remove fp code in dumpThreadSamples
* replace lambda with function in printReport
* merge and print stats in seperate functions
* make sure to exit after printing report
* address review feedback
* make defaultMin, defaultMax static and move setBucketSize to protected
* switch to reverse iterators when moving backwards along bucket array
* Add JWT support to TokenSign
* Encapsulate OpenSSL public/private key type
Type-safe passing around of keys without having to DER/PEM-serialize
(OpenSSL doesn't have distinct types for public and private key)
* Apply Clang format
* Add verify benchmark for JWT and FlatBuffers token
* Unit test base64url::{encode, decode}
* Make all payload fields optional
Let user code validate non-signature fields
* Make all payload fields optional
Completely defer field check to user code
* Move rapidjson from fdbclient to contrib
* Make fdbrpc's rapidjson linkage private
Currently only sources include them.
* Modify rapidjson path in apiversioner.py
* Algorithm::Unknown > Algorithm::UNKNOWN
Only fetch requested worker interfaces in rebootWorkerActor
Add killall test to multiprocess_fdbcli_tests
Make the rebootWorker only sends requests if all the requested workers are valid
Add comments; Organize print texts; Fix the bug clear the map every time run kill/suspend/expensive_data_check
* Make java binding work for prefetch match index modes.
It adds boundaryAndExist in return value, so that caller can see
whether a boundary index is orphan or not.
* Make Java code work with index match modes
* Add test for boundaryAndExist in java binding test
* Add missing secondary queries tests for index prefetch
This change adds test for missing secondary queries for index prefetch,
in this case, MATCHED_ONLY mode would NOT return KV and UNMATCHED_ONLY
mode would return KV.
* remove default value for params
* Enable MATCHED and UNMATCHED mode for index prefetch
MATCHED mode returns index entries whose secondary KVs are present,
UNMATCHED mode returns index entries whose secondary KVs are absent.
Note that the conflict read range of this txn is set in 2 steps:
* Set the conflict range for primary query according to request
* Set the conflict ranges for secondary queries according to responses.
As a result, conflicts of different match_index mode are taken care of.
* Fix c binding
* Add support for specifying distributed client tracer in Mako.
Introduces a new command line option --distributed_tracer_client. Defaults to disabled, user may specify
disabled, log_file, network_lossy, or sim_end.
Testing locally and verified with distributed tracing receiver. Note: We use a simple integer here
to denote tracer type rather directly using the TracerType enum in flow/Tracing.h. Including Tracing.h pulls in
FDBTypes.h and results in conflicts with several classes, including Database.
Description
Major changes include:
1. FDB native MockKMS REST server implementation - Golang based.
2. Implements "getEncryptionKeys" endpoint utilized by
FDB RESTKmsConnector module.
3. Ability to inject faults to induce errors at various points
during query execution
NextSteps:
Need to integrate MockKMS to FDB build system.
Testing
1. Implements mockkms_test.go module providing extensive test coverage
for newly added code.
2. Postman based local testing.