Commit Graph

20748 Commits

Author SHA1 Message Date
Jingyu Zhou b9ff6bc129 Address AJ's comments 2022-06-08 09:38:32 -07:00
Jingyu Zhou 217ba24b6f Add rss_bytes to process memory and fix available_bytes calculation
Since memory is now limited with RSS size, add RSS size in status json for
reporting. Also change how available_bytes is calculated from:
  (available + virtual memory) * process_limit / machine_limit
to:
  (available memory) * process_limit / machine_limit
2022-06-07 16:44:14 -07:00
Andrew Noyes 1997e6057c
Fix a heap-use-after-free in a unit test (#7230)
* Fix a heap-use-after-free in a unit test

The data passed to IAsyncFile::write must remain valid until the future
is ready.

* Use holdWhile instead of a new state variable
2022-06-07 14:48:01 -07:00
Josh Slocum a0bb585260
Merge pull request #7333 from sfc-gh-jslocum/blob_metadata_valgrind_fix
fixes for blob metadata memory from valgrind
2022-06-07 15:24:11 -05:00
Andrew Noyes 1f8fc32f41
Save a memcpy in the tlog peek path (#7328) 2022-06-07 13:22:56 -07:00
Ray Jenkins 5a4082bfe8
Add DistributedTracerClient enum to mako. (#7297) 2022-06-07 14:07:08 -05:00
Josh Slocum ae865027d6 fixes for blob metadata memory from valgrind 2022-06-07 13:50:11 -05:00
A.J. Beamon 46e69fbe09
Merge pull request #7329 from sfc-gh-ajbeamon/fix-reverse-range-read-conflict-range
Fix bug in reverse range reads causing larger than desired conflict ranges
2022-06-07 10:59:12 -07:00
A.J. Beamon 6379d72521
Merge pull request #7192 from sfc-gh-jfu/jfu-mako-tenant-support
Add changes to mako to support performance testing with Tenants
2022-06-07 10:59:01 -07:00
A.J. Beamon 4f308b34fc Fix an off-by-one error in determining whether to include the entire range in the conflict ranges when a reverse range read returns early due to limit. 2022-06-07 08:52:10 -07:00
A.J. Beamon c97a1168cb Fix formatting issue 2022-06-07 08:51:10 -07:00
A.J. Beamon 0431635674
Merge branch 'main' into jfu-mako-tenant-support 2022-06-07 08:43:56 -07:00
Kevin Hoxha e579038018
Add DDSketch to mako (#7167)
* 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
2022-06-06 18:19:31 -07:00
Yao Xiao 5f1a061e3a
Disable rocksdb metrics. (#7327) 2022-06-06 14:27:41 -07:00
Clement Pang 043bc411ee
Make KeyArrayResult constructor public. (#7308) 2022-06-06 13:15:33 -07:00
Dan Adkins bd47f390bd
Add simulation test for three_data_hall configuration (#7305)
* Add simulation test for 1 data hall + 1 machine failure case.

* Disable BUGGIFY for DEGRADED_RESET_INTERVAL.

A simulation test discovered a situation where machines attempting to connect
to a dead coordinator (with a well-known endpoint) were getting themselves
marked degraded. This flapping of the degraded state prevented recovery from
completing, as it started over any time it noticed that tlogs on degraded
hosts could be relocated to non-degraded ones.

bin/fdbserver -r simulation -f tests/rare/CycleWithDeadHall.toml -b on -s 276841956
2022-06-06 13:14:49 -07:00
Bharadwaj V.R 990c789a5c
Increase quiet-database timeout when buggify is on; data-movements in simulation take longer than the timeout allows, and waiting for quiet-database does succeed when given some more time (#7290) 2022-06-06 13:13:11 -07:00
Josh Slocum bf69f545d3
Merge pull request #7275 from sfc-gh-jslocum/blob_granule_kms
Added blob metadata concept as new secret type, and integrated with blob granule access
2022-06-06 11:25:56 -05:00
Josh Slocum 4310e5d6a4 Merge branch 'main' into blob_granule_kms 2022-06-06 08:07:38 -05:00
Josh Slocum ff643cce76 compile fix 2022-06-03 11:50:33 -05:00
Hao Fu 96d3951205
Fix versionstamp in Tester (#7312) 2022-06-03 08:56:01 -07:00
Josh Slocum b650410a48 Merge branch 'main' into blob_granule_kms 2022-06-03 09:13:49 -05:00
Josh Slocum fcd20c479d addressing review comments 2022-06-03 08:36:07 -05:00
Hao Fu e7fa8e9f6f
Add versionstamp support in tuple (#7293)
Tuple in C++ needs to support Versionstamp.
2022-06-02 17:44:10 -07:00
Xiaoge Su c886a6efe4 Refactor the WriteMap.h
Split the interface and implementation, so adding debugging information
in the code will not trigger full rebuild.
2022-06-02 15:57:26 -07:00
Ata E Husain Bohra b66509eff0
Make EncryptKeyServer and KmsConnector API to be 'tenant' name aware (#7215)
Description

Major changes proposed include:
1. Update EncryptKeyServer APIs to be tenant aware.
2. Update KmsConnector APIs to be tenant aware

Client of above APIs such as: CP, SS and BlobWorker need to supply
encryption domain info that includes: tenantId and tenantName

Testing

1. Update EncryptKeyProxyTest
2. Update RESTKmsConnectorTest
3. Update SimKmsConnectorTest
2022-06-02 11:55:50 -07:00
Josh Slocum 872c25148f remove BUILD_ALWAYS from awssdk.cmake 2022-06-02 13:40:56 -05:00
Yao Xiao c75611bf94
[ShardedRocksDB] 2/N Support range read and integrate with read iterator pool. (#7266) 2022-06-02 11:03:49 -07:00
Junhyun Shim 3e79735b2f
Authz JWT support (#7279)
* 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
2022-06-02 13:22:50 +02:00
neethuhaneesha 768655992c
Merge pull request #7295 from neethuhaneesha/traceevent
Removing trace event invalid character causing simulation harness to fail.
2022-06-01 21:35:56 -07:00
Andrew Noyes 2e087a6ec6
Fix some spammy trace events (#7296)
* Exponential backoff for some GlobalConfig retry loops

* Fix incorrect usage of random01() <= p idiom
2022-06-01 16:49:25 -07:00
neethuhaneesha 410ab6352f Traceevent correction. 2022-06-01 15:21:15 -07:00
Marian Dvorsky 138618eef9
Include symbols from fdb_c_internal.h to C bindings client library for Apple platform (#7292) 2022-06-01 14:04:53 -07:00
Josh Slocum 567b1d35f7 Full integration with BlobConnectionProvider for blob granules 2022-06-01 12:39:51 -05:00
Ray Jenkins 8cc51064a5
Add NAPI: prefix to VerifyCausalReadRisky span. (#7285) 2022-06-01 11:47:28 -05:00
Junhyun Shim 3a7c8c72e3
Merge pull request #7283 from sfc-gh-vgasiunas/vgasiunas-fix-close-trace
Fix race conditions on closeTraceFile and flushTraceFileVoid
2022-06-01 13:24:55 +02:00
Evan Tschannen 473edf3d11
fix: the peek_using_streaming can cause memory corruption (#7286)
* fix: the peek_using_streaming can cause memory corruption

* changed how ALLOW_DANGEROUS_KNOBS is initialized

* only buggify streaming when simulated
2022-05-31 16:04:28 -07:00
A.J. Beamon 526d8b217e Fix formatting issues 2022-05-31 11:37:52 -07:00
A.J. Beamon ee3508c2f8 Address review comments. Primarily, this changes Tenant creation to be done via a method call on Database. 2022-05-31 11:19:02 -07:00
Vaidas Gasiunas 4d6ec7663f Close file at the end of runNetwork rather than in stopNetwork in order to avoid a race condition,
also in order to continue tracing the pending network thread activity.
Poll event throttler only in the network thread in order to avoid a race condition.
2022-05-31 13:59:09 +02:00
Junhyun Shim 46af909411
Merge pull request #7277 from apple/fix-mako-onerror-wait
Correctly wait on onError() future
2022-05-28 09:11:55 +02:00
Junhyun Shim f76d2454f5
Correctly wait on onError() future
Currently Mako worker thread waits on the original future that produced the error. Not the future returned by onError. Fix this.
2022-05-27 23:36:33 +02:00
Renxuan Wang 0500bcb3a7 Use unique pointer to avoid memory leak. 2022-05-27 14:15:21 -07:00
Renxuan Wang d502c47bfe Avoid creating new RequestStream when retry. 2022-05-27 14:15:21 -07:00
Josh Slocum ffa4255c65 Added blob metadata concept as new secret type, and verified blob workers can load it 2022-05-27 15:15:56 -05:00
Jon Fu 3bf4a8d521 move transaction creation to outside outer populate loop 2022-05-27 15:59:57 -04:00
Xiaoxi Wang 173bcfc528
Merge pull request #7262 from sfc-gh-xwang/readaware
Fix heap-use-after-free caused by early noErrorsActors destroy
2022-05-27 11:35:11 -07:00
Jingyu Zhou 56af76e406
Merge pull request #7259 from sfc-gh-jslocum/aws_sdk_auth_docs
Add documentation for aws sdk auth
2022-05-27 11:17:55 -07:00
Lukas Joswiak 43ece953e1 Remove actor for client profiling get range
Since the client profiling special key range now uses global config,
there is no longer any `wait` required.
2022-05-27 10:25:29 -07:00
Lukas Joswiak 43ab5e06a3 Always restart updater 2022-05-27 10:25:29 -07:00