Commit Graph

20815 Commits

Author SHA1 Message Date
A.J. Beamon 4b69723a2f Cleanup metadata associated with a cluster when force removing it. Move some metacluster metadata into the normal key-space. Cleanup some todos. 2022-06-24 14:55:57 -07:00
A.J. Beamon 9260367cac Remove a few things and some other small cleanup. 2022-06-23 15:39:53 -07:00
A.J. Beamon 9f3819752f Change the command to create a metacluster from using 'configure tenant_mode=management' to 'metacluster create <NAME>'. Distribute this name to all processes in a metacluster. Eliminate the tenant mode entirely from metacluster clusters, instead relying on a metacluster registration key. 2022-06-22 12:15:43 -07:00
A.J. Beamon 96fad987eb Add new command to get total metacluster capacity. Fix bug where removing a data cluster could make it impossible to create new tenants on it. Add knobs for max data clusters and max tenants. 2022-06-17 10:42:03 -07:00
A.J. Beamon 986dd67278 Add some basic support for running multiple extra clusters in simulation. Use this to simulate a metacluster in some tests. 2022-06-10 10:08:18 -07:00
A.J. Beamon 739fc9ce6b Merge branch 'main' into feature-metacluster 2022-06-09 12:39:34 -07:00
Yao Xiao 0bb02f6415
[Sharded RocksDB] 3/N Implement functions for range clear. (#7310) 2022-06-09 10:50:39 -07:00
Junhyun Shim 631a59a65e
Merge pull request #7299 from sfc-gh-mdvorsky/mdvorsky/remove_tester_api_wrapper
Remove TesterApiWrapper, replace its uses with fdb_api.hpp
2022-06-09 10:42:05 +02:00
A.J. Beamon f26261eb03 Don't pass configure map by pointer 2022-06-08 16:44:25 -07:00
A.J. Beamon bf3a6863f2 Fix bug in tenant ID selection 2022-06-08 15:11:43 -07:00
Jingyu Zhou 7acd184a38
Merge pull request #7339 from jzhou77/fix-status-memory
Add rss_bytes to process memory and fix available_bytes calculation
2022-06-08 13:10:51 -07:00
A.J. Beamon 801dc16a9c Update fdbcli test with new gettenant output. Add tenantmap to the special keys management command map for use in API version 710. 2022-06-08 12:15:35 -07:00
Robert Barabas 8606923da2
Arm64 related build fixes (#7319)
* Add missing include

* Fix open call on arm64

* Bump up doctest to 2.4.8
2022-06-08 11:20:27 -07:00
A.J. Beamon bde65a79c7 Fix bug with configure new 2022-06-08 11:08:48 -07:00
A.J. Beamon 8d1bc5be3a Fix some tests to use the new tenant map special keys 2022-06-08 11:08:30 -07:00
Jingyu Zhou b9ff6bc129 Address AJ's comments 2022-06-08 09:38:32 -07:00
Andrew Noyes 07f49392ac
Avoid using structured bindings in doctest assertions (#7335)
* 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
2022-06-08 09:36:18 -07:00
Andrew Noyes e0eedc6a37
Fix asan message detection (#7338)
* Fix asan message detection

* Fix heap-buffer-overflow

Call to strlen on a not necessarily null terminated string

* Fix gcc build
2022-06-08 09:35:30 -07:00
Sreenath Bodagala fe5f11358f
Merge pull request #7318 from sbodagala/main
Introduce a knob that controls the placement of remote storage server commit versions in version vector
2022-06-08 12:18:15 -04:00
Marian Dvorsky 21b041317c Address review comments 2022-06-08 16:45:29 +02:00
Markus Pilman d141347500
Merge pull request #7282 from Doxense/fix-windows-tests
Fix windows tests
2022-06-08 08:18:47 -06:00
Bharadwaj V.R 886f56ff11
Merge pull request #7311 from sfc-gh-bvr/ddneat
A few uses of structured bindings to avoid use of .first and .second in pairs
2022-06-08 00:13:06 -07:00
Bharadwaj V.R d4b983264b
Merge branch 'apple:main' into ddneat 2022-06-07 23:10:56 -07:00
Bharadwaj V.R b40553556b
Merge pull request #7281 from sfc-gh-bvr/mcvf-nothrottle
Remove last-limited check from DDMountainChopper and DDValleyFiller
2022-06-07 21:15:47 -07:00
Yi Wu bbf8cb4b02
GetEncryptCipherKeys helper function and misc encryption changes (#7252)
Adding GetEncryptCipherKeys and GetLatestCipherKeys helper actors, which encapsulate cipher key fetch logic: getting cipher keys from local BlobCipherKeyCache, and on cache miss fetch from EKP (encrypt key proxy). These helper actors also handles the case if EKP get shutdown in the middle, they listen on ServerDBInfo to wait for new EKP start and send new request there instead.

The PR also have other misc changes:
* EKP is by default started in simulation regardless of. ENABLE_ENCRYPTION knob, so that in restart tests, if ENABLE_ENCRYPTION is switch from on to off after restart, encrypted data will still be able to be read.
* API tweaks for BlobCipher
* Adding a ENABLE_TLOG_ENCRYPTION knob which will be used in later PRs. The knob should normally be consistent with ENABLE_ENCRYPTION knob, but could be used to disable TLog encryption alone.

This PR is split out from #6942.
2022-06-07 21:00:13 -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
A.J. Beamon eabd43c0fd Add a workload that creates and deletes tenants simultaneously. 2022-06-07 13:48:12 -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
Sreenath Bodagala 96a88e3847 Merge remote-tracking branch 'apple-upstream/main' 2022-06-07 18:38:35 +00: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
A.J. Beamon ce1bd5f974 Merge branch 'multiple-tenant-creation' into feature-metacluster
# Conflicts:
#	fdbclient/GenericManagementAPI.actor.h
#	fdbclient/SpecialKeySpace.actor.cpp
#	fdbserver/tester.actor.cpp
#	fdbserver/workloads/FuzzApiCorrectness.actor.cpp
#	fdbserver/workloads/TenantManagement.actor.cpp
2022-06-06 15:04:10 -07:00
Yao Xiao 5f1a061e3a
Disable rocksdb metrics. (#7327) 2022-06-06 14:27:41 -07:00
Bharadwaj V.R aa84f8925e
Merge branch 'apple:main' into mcvf-nothrottle 2022-06-06 13:18:11 -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
Bharadwaj V.R 7f079a6c29
Merge branch 'apple:main' into mcvf-nothrottle 2022-06-06 12:03:13 -07:00
Bharadwaj V.R 418205eeab Use bindings for brevity in DDTC UT and a few places where server_info is iterated over 2022-06-06 11:56:48 -07:00
A.J. Beamon 49a9a850d6 Move the lock aware option into the database version of the tenant functions 2022-06-06 09:45:14 -07:00
A.J. Beamon 90625ba20d Update the create tenant transaction to take the ID as a parameter. Generate unique IDs for multiple creations in the same transaction. Don't set lock aware options inside the tenant transaction code. 2022-06-06 09:45:14 -07:00
A.J. Beamon eef2dfd84b Update test to exercise multiple tenant creation 2022-06-06 09:45:14 -07:00