Commit Graph

8845 Commits

Author SHA1 Message Date
Josh Slocum 903f7adbc4 more cleanup 2022-03-10 13:53:06 -06:00
Steve Atherton 8128f9f0b5 Merge branch 'main' of https://github.com/apple/foundationdb into redwood-rare-bugs 2022-03-10 11:28:09 -08:00
Josh Slocum c35e020da7 SS and BM test macros 2022-03-10 12:38:23 -06:00
Josh Slocum ba35e7908a off by one 2022-03-10 12:11:44 -06:00
Tao Lin e2c7c30faf
GetMappedRange support serializable & check RYW & continuation (#6181) 2022-03-10 10:05:44 -08:00
Josh Slocum d7367dad99 Simplifying CF gap validation to ignore SS CF fetches 2022-03-10 11:56:22 -06:00
Josh Slocum 4b254d259c Ensuring BM split retry is idempotent 2022-03-10 11:54:57 -06:00
Josh Slocum c8c97e0256 Blob Worker focused cleanup 2022-03-10 09:55:23 -06:00
Steve Atherton bade9a3ec3 Added toString() methods for DeltaTree::DecodeCache. 2022-03-10 00:07:22 -08:00
Steve Atherton 6cb5f86994 Added a boundary sample to the boundary verifier, which clear operations in the Redwood unit test will randomly make use of. Added cold start limit in BTree unit test to prevent test running too long, and a few other parameter changes. 2022-03-09 23:17:55 -08:00
Steve Atherton c76ba149b2 Removed unnecessary line as it does nothing, updated comment. 2022-03-09 20:28:14 -08:00
Steve Atherton 81d1e70435 Bug fix: Remap cleanup must delay freeing of unmapped destination pages until the oldest readable version passes the current latest readable version to prevent a very slow reader from reading a page after it has been recycled and reused. This is a very rare bug, seen in about 1 in 1 million runs of the Redwood unit test. 2022-03-09 19:08:00 -08:00
Steve Atherton 2ec15965ba No logic changes, just debugging output changes and variable renames for clarity. 2022-03-09 18:45:03 -08:00
Josh Slocum 1f964ac085 BM focused cleanup 2022-03-09 15:04:17 -06:00
Josh Slocum 9dbb6d216e SS-focused cleanup 2022-03-09 10:39:04 -06:00
Josh Slocum b21d0943b9 client-focused cleanup 2022-03-09 10:01:25 -06:00
Josh Slocum 4d909abbd1 re-enabling all storage engine types 2022-03-09 09:21:45 -06:00
Josh Slocum f230ac0e41 Fixing more merge issues 2022-03-09 09:13:03 -06:00
Josh Slocum e71b3533f9 Merge branch 'main' into blob_integration 2022-03-09 08:59:56 -06:00
A.J. Beamon 402fa4dd9e
Merge pull request #6428 from sfc-gh-ajbeamon/fdb-tenant-add-interfaces
Add server-side and protocol support for tenants
2022-03-08 15:33:18 -08:00
A.J. Beamon 63b8b838a2
Merge pull request #6558 from sfc-gh-ajbeamon/special-keys-limits
Add support for a limits hint in special keys range reads
2022-03-08 15:32:59 -08:00
A.J. Beamon 6f7adb04a5 Send a version along with GetKeyServerLocationsRequests to allow the proxy to reject missing tenants more quickly. Change the commit proxy tenant map to be unversioned. 2022-03-08 13:33:56 -08:00
Jon Fu 24d0c158b4 Apply stricter condition for special keys check 2022-03-08 16:22:09 -05:00
A.J. Beamon 5003a0d662 Remove unnecessary parameter from clampRangeToTenant 2022-03-08 12:01:51 -08:00
A.J. Beamon f39a53787f Ignore changes that happen in the system key-space when evaluating whether a transaction should have conflicted in the conflict range test. 2022-03-08 07:46:07 -06:00
Steve Atherton e96dc76aad Bug fix: When a BTree node is updated and is to the left of a completely removed sibling subtree the placeholder record providing its upper decode boundary could be lost because expectedUpperBound was not being set. 2022-03-08 03:56:29 -08:00
Steve Atherton d034d0c30f Bug fix in boundary verifier which caused false failures after a process restart when a commit was in progress because the verification map would contain changes that were rolled back. 2022-03-08 03:33:22 -08:00
Steve Atherton 77f06eedfd Use printable() on page boundary debug output. 2022-03-07 23:21:07 -08:00
Steve Atherton 8f844437da Avoid unused variable warning when debug output is not on. 2022-03-07 23:12:32 -08:00
Steve Atherton 9f690d5bd5 Added StringRef::same() which checks data pointers and lengths for match. Fixed a false negative (but not a bug) in boundariesNormal() and used same() to avoid string comparisons. 2022-03-07 22:44:24 -08:00
Steve Atherton 35df00eba2 Re-enable simulation-only boundary verification. 2022-03-07 22:31:29 -08:00
Steve Atherton 55c98a4287 Large refactor of redwood debug output to improve context and readability. 2022-03-07 22:30:20 -08:00
neethuhaneesha 212deb05e9
Merge pull request #6501 from neethuhaneesha/rocksdb-CompBytesLimiter
Rocksdb knobs for compaction, storageserver canCommit() waiting if rocksdb overloaded
2022-03-07 14:59:34 -08:00
Yao Xiao 36edfb8820
Update error type for timeouts. (#6503) 2022-03-07 13:14:20 -08:00
Steve Atherton 8f8f95931b In the SQLite storage engine, destroy and create new cursors after SQLITE_CURSOR_MAX_LIFETIME_BYTES of KV read usage because cursor usage increases page cache memory usage in SQLite (internal page cache, not AsyncFileCached) by pinning pages which are not freed until the cursor is destroyed. 2022-03-07 11:20:59 -08:00
A.J. Beamon 07169b1f11 Add unknown_tenant error to documentation. Avoid doing an extra tenant lookup in the clampRangeToTenant function. 2022-03-07 10:37:22 -08:00
A.J. Beamon 3ae98189af Server processes send unknown_tenant responses back to clients, which is meant to be retried after updating the tenant cache. Fix bug where key selectors could be truncated after applying the tenant prefix. 2022-03-06 21:54:21 -08:00
A.J. Beamon 72a34945ce Add the ability to disable tenants. Server processes verify the ID of tenants being read or written. 2022-03-06 21:54:21 -08:00
A.J. Beamon b4feddea8d Fix a couple bugs. Don't store old versions in tenant map indefinitely. 2022-03-06 21:54:21 -08:00
A.J. Beamon e898e59d18 Fix merge issue that caused tenant serialization problems. Fix case where arena was passed by value rather than reference. Watches should check the tenant map at the latest version rather than the watch version. 2022-03-06 21:54:21 -08:00
A.J. Beamon c99c7cf55f Apply tenant prefixes on the storage server. The commit proxy can serve tenant location requests. Fix some bugs. 2022-03-06 21:54:21 -08:00
A.J. Beamon bd3920c23d Wait to initialize the SS tenant map until after the storage server has been added. Add some extra logging around inserting and erasing tenants. 2022-03-06 21:54:21 -08:00
A.J. Beamon b8192828d9 Add support for the global tenant prefix to tenant map entries 2022-03-06 21:54:21 -08:00
A.J. Beamon 9c4773164e Add ID to requests 2022-03-06 21:54:21 -08:00
A.J. Beamon 5fa9d3e1b7 Add a tenant parameter to read and commit requests. Store a map of all tenants on commit proxy and storage servers. Add an option to require tenant mode. 2022-03-06 21:54:21 -08:00
A.J. Beamon 36435af4f5 Add support for a limits hint in special keys. Fix a typo and resolve some comment formatting weirdness. 2022-03-06 21:52:39 -08:00
Steve Atherton 11f25bc08f Initialize decode boundary verifier to nullptr for restart tests, also disable check for now as the feature is not finished. 2022-03-04 17:20:31 -08:00
Steve Atherton f03c0b8c3c Added ISimulated::restarted for detecting a restarted simulation test. 2022-03-04 17:19:46 -08:00
Trevor Clinkenbeard ddb42f33e5
Merge pull request #6475 from sfc-gh-ajbeamon/fix-trace-double-escaping
Fix several instances where trace events were double-escaping strings
2022-03-04 16:10:49 -08:00
Jingyu Zhou 1a5bf25b5c Update code base to use fmt 8.1.1 2022-03-04 15:52:06 -08:00
A.J. Beamon ad792630aa Fix formatting 2022-03-04 14:06:16 -08:00
A.J. Beamon 41d1e4b5d5 Fix several instances where we were converting keys, ranges, and key selectors into strings before passing them into trace events. This had the effect of double escaping certain characters. 2022-03-04 13:58:36 -08:00
A.J. Beamon 45649c543d
Merge pull request #6500 from sfc-gh-ajbeamon/fix-merge-error
Fix conflict between two recent merges by using the new errorUnsuppressed function
2022-03-04 13:56:52 -08:00
A.J. Beamon f4291af1ab
Merge pull request #6476 from sfc-gh-ajbeamon/fix-clang-formatting-issues
Fix formatting issues caused by clang-format in WriteDuringRead workload
2022-03-04 12:46:12 -08:00
A.J. Beamon 11fbd1564e Fix two more cases of error(e, true) 2022-03-04 12:44:52 -08:00
Neethu Haneesha Bingi 8796a763a5 Rocksdb knobs for compaction, storageserver canCommit() waiting if rocksdb overloaded. 2022-03-04 12:41:17 -08:00
A.J. Beamon cdebda35ab
Merge pull request #5725 from sfc-gh-jfu/jfu-grv-cache
Add transaction option for clients to use cached read versions
2022-03-04 09:17:27 -08:00
neethuhaneesha 49bd0c34cc
Merge pull request #6493 from neethuhaneesha/rocks-compaction
RocksDB increasing background threads to speedup compaction.
2022-03-04 07:24:19 -08:00
Xiaoxi Wang 6024bf0109
Merge pull request #6482 from sfc-gh-xwang/ppw-status
Print the IP:Port address of wiggling server in status
2022-03-03 15:50:58 -08:00
Neethu Haneesha Bingi 83e0368eaa RocksDB increasing background threads to speedup compaction. 2022-03-03 15:14:37 -08:00
Evan Tschannen 976375466f fixed more pruning bugs 2022-03-02 17:03:37 -08:00
Trevor Clinkenbeard e7a82b68f2
Merge pull request #6486 from sfc-gh-tclinkenbeard/fix-commitlatencybands-sample
Fix name of `ProxyCommitData::commitLatencyBands` sample
2022-03-02 16:24:19 -08:00
sfc-gh-tclinkenbeard 8b2b74980e Fix name of ProxyCommitData::commitLatencyBands sample 2022-03-02 14:57:42 -08:00
Xiaoxi Wang 887d5a25cb add storage wiggle to status 2022-03-02 11:31:55 -08:00
Xiaoxi Wang e73c0a31e6 add wiggle_server_ids and wiggle_server_addresses in status json 2022-03-02 10:03:23 -08:00
Steve Atherton 9f1d4580e4 Added simulation-only verification of DeltaTree initialization boundaries between writes and reads over time. 2022-03-01 23:46:38 -08:00
Josh Slocum a14f3ff067 Do some verify tests with no pruning 2022-03-01 12:52:26 -06:00
Josh Slocum e0578f24d2 Fixes for range streaming BG snapshot 2022-03-01 12:45:58 -06:00
Evan Tschannen 6f1fb71949 Fixed a number of different pruning problems 2022-03-01 10:13:20 -08:00
Evan Tschannen 8f8987ad67 Merge branch 'blob_integration' of https://github.com/apple/foundationdb into blob_integration 2022-03-01 10:12:36 -08:00
Josh Slocum 06f58f848d Improving change feed validation, and another popped while reading race fixed 2022-03-01 12:05:55 -06:00
Josh Slocum 92a888910f Fix many repeated recruitment bug 2022-03-01 12:00:53 -06:00
Josh Slocum ce176e846e Switching initial granule snapshot to use range stream 2022-03-01 11:20:44 -06:00
A.J. Beamon 97aec45ce8 Fix formatting issues caused by clang-format 2022-03-01 08:51:50 -08:00
Josh Slocum 3090fb174c Tweaks to granule initial snapshot 2022-03-01 08:52:38 -06:00
Josh Slocum c27204d401 more BM split race fixes 2022-03-01 07:18:43 -06:00
sfc-gh-tclinkenbeard 59794ffcb2 Add randomlyRenameZoneId test parameter 2022-03-01 00:42:24 -08:00
Josh Slocum 839edbf5ea moved granule split evaluation to not be specific to any individual blob worker, to simplify it and handle additional cases 2022-02-28 16:49:58 -06:00
Josh Slocum 642aab2b8b blob manager range assignment race fixes 2022-02-28 16:12:27 -06:00
sfc-gh-tclinkenbeard 7acb633db8 Clean up SaveAndKillWorkload 2022-02-28 13:12:31 -08:00
sfc-gh-tclinkenbeard db8def68db Use std::unique_ptr for ISimulator::extraDB 2022-02-28 13:12:31 -08:00
Trevor Clinkenbeard fe957deef8
Merge pull request #6399 from sfc-gh-bvr/fdb#4271
Introduce a new server knob and use it to test if storage servers are…
2022-02-28 13:02:23 -08:00
Josh Slocum f277662419 Fixing some change feed pop durability inconsistencies 2022-02-28 12:50:43 -06:00
Josh Slocum a556582041 Fixes for new BM reecovery 2022-02-28 10:36:28 -06:00
Josh Slocum 921be1dedf fixed revoking when same worker has granule 2022-02-28 08:44:12 -06:00
Steve Atherton ee5030d06c Fixed memory "leak" where child node update tracker entries for freed internal pages were not removed so the map would just grow. 2022-02-28 00:16:10 -08:00
Steve Atherton 398374c7d7 Rename cacheSizeBytes to pageCacheBytes to match other tests. 2022-02-27 00:36:23 -08:00
Steve Atherton 73a81a86da Added Redwood metrics printing during set unit test using new generic repeatEvery() actor. 2022-02-26 23:37:30 -08:00
Steve Atherton 3a666610ad Tweaked Redwood unit test ops limits and added total record read count to prevent test instances that run too long. 2022-02-26 23:36:37 -08:00
Steve Atherton 6f16702042 Merge branch 'main' of https://github.com/apple/foundationdb into redwood-bug-fixes-and-memory-leak 2022-02-26 18:00:18 -08:00
Steve Atherton c122cf1ce0 Bug fix: Avoid having a local temporary Cursor destructed after the Reference<Page> containing its DecodeCache has been dropped by using the BTreeCursor's leaf cursor by reference. 2022-02-26 02:03:43 -08:00
Steve Atherton a47f481bae Bug fix, the extent cache used during recovery is not allowed to evict anything so it now uses a private Evictor with no size limit. 2022-02-25 19:21:11 -08:00
Renxuan Wang 233c918ffb Replace printf() and fprintf() with fmt::print(). 2022-02-25 19:06:57 -08:00
Renxuan Wang f7eb66441d Try eliminating warnings in macOS and Windows CI builds.
MacOS warnings are format warnings, e.g., `format specifies type 'long' but the argument has type 'Version' (aka 'long long')`.
Windows warnings are `ACTOR does not contain a wait() statement`.
2022-02-25 19:06:57 -08:00
Andrew Noyes 276cf3a402
Fix minor bugs turned up by _GLIBCXX_DEBUG (#6375)
* Fix a benign bug turned up by _GLIBCXX_DEBUG

Just calling std::vector::operator[] with an out of bounds index at all
is technically undefined behavior.

* Fix compilation issue with _GLIBCXX_DEBUG

For some reason std::max with an initializer list isn't constexpr with
_GLIBCXX_DEBUG set
2022-02-25 13:50:41 -08:00
Andrew Noyes 7a9217a392
Add contrib/debug_determinism (#6389)
* Add contrib/debug_determinism

Add an instrumentation-based technique for debugging unseen mismatches. Also guard a few existing sources of nondeterminism that don't affect unseen with the DEBUG_DETERMINISM macro.

Also change the simulated run loop to not run as the only task inside the real run loop, since that was a source of nondeterminism.

Also fix nondeterminism from calling timer_int

* Add StorageMetadataType::currentTime

Basically a deterministic-in-simulation version of timer_int that we can
use instead of timer_int for StorageMetadataType::createdTime
2022-02-25 12:54:31 -08:00
Josh Slocum ed9f95b299 simplifying blob manager recovery by always treating the DB granule mapping as the source of truth, and persisting all boundary changes there BEFORE updating workers 2022-02-25 14:46:14 -06:00
Evan Tschannen 940f26cb0c Merge branch 'blob_integration' of https://github.com/apple/foundationdb into blob_integration 2022-02-25 11:00:13 -08:00
Josh Slocum ee94f3ed23 Merge branch 'blob_integration' of github.com:apple/foundationdb into blob_integration 2022-02-25 11:46:25 -06:00
Josh Slocum bc7cc984b0 Fixing BGVerifyBalance test killing issues 2022-02-25 11:30:21 -06:00
Josh Slocum d41b18d132 more change feed validation fixes 2022-02-25 09:08:26 -06:00
Josh Slocum 623db663dc don't reset watch config transaction 2022-02-25 08:48:52 -06:00
Josh Slocum eac1cd6366 Fixing another case in change feed validation 2022-02-25 08:16:03 -06:00
Steve Atherton a32c3a2891 Redwood now uses one global page cache eviction order and size limit for all page sizes, for real or virtual processes, and DecodeCache memory is counted against the global page cache budget. 2022-02-25 03:20:53 -08:00
Renxuan Wang 06b1d06d38 Support hostname in coordinators commands. 2022-02-24 23:02:29 -08:00
Renxuan Wang 3a3b44efe2 Fix macOS CI broken by #6449.
foundationdb/fdbserver/CoroFlow.actor.cpp:262:8: error: no member named 'errorUnsuppressed' in 'BaseTraceEvent'
2022-02-24 20:26:13 -08:00
Josh Slocum f3f4764916 Fixing change feed validation to handle special case 2022-02-24 17:12:05 -06:00
Josh Slocum cee9f42099 More fixes and debugging improvements found by validation 2022-02-24 16:39:24 -06:00
Josh Slocum e5b4fb3d80 Adding explicit popVersion to change feed reply, like tlogs have 2022-02-24 15:20:18 -06:00
A.J. Beamon e7d2abd764 Fix formatting issue 2022-02-24 12:28:13 -08:00
A.J. Beamon 250a88e682 Enforce that trace event suppression calls happen first when using trace event call chaining. Fix various instances where we weren't following this requirement. 2022-02-24 12:25:52 -08:00
Josh Slocum 43543b0d0e Removing incorrect CF validation asserts 2022-02-24 12:39:15 -06:00
Josh Slocum b6d02478cd Adding stream uid tracking for ss feed debugging 2022-02-24 12:19:25 -06:00
Josh Slocum 86236b766d Added print debugging for CF memory vs disk validation 2022-02-24 12:11:06 -06:00
Josh Slocum b67930cb93 Fixing bug in new change feed fetch logic 2022-02-24 11:31:36 -06:00
Josh Slocum 1de4fb1b9e Adding explicit stopVersion instead of stopped status to change feed durable data, several other minor fixes 2022-02-24 11:02:15 -06:00
Zhe Wang f14e08a991 addRocksDBPerfContextMetrics 2022-02-23 22:29:07 -05:00
Josh Slocum 2701e44564 Fixing error handling and race for blob worker status stream to manager 2022-02-23 15:55:16 -06:00
Bharadwaj V.R 8cb554a006 Fix formatting issues in DDTeamCollection.actor.cpp 2022-02-23 10:21:34 -08:00
Bharadwaj V.R 102dcb30c6
Merge branch 'main' into fdb#4271 2022-02-23 10:04:19 -08:00
Jon Fu ce1d71472d Merge branch 'main' of github.com:apple/foundationdb into jfu-grv-cache 2022-02-23 12:35:25 -05:00
Josh Slocum 0714b7a250 Fixed blob manager split and reassign race 2022-02-23 08:48:45 -06:00
Renxuan Wang 3c1394578b Address comments. 2022-02-22 16:29:59 -08:00
Renxuan Wang ea8b2bd314 Resolve hostnames synchronously when calling actor is impossible. 2022-02-22 16:29:59 -08:00
Renxuan Wang 622d89b552 Rebase on main.
Since we changed ClusterConnectionString's status flag from boolean to enum in #6422, we need to update this PR correspondingly.
2022-02-22 16:29:59 -08:00
Renxuan Wang 8eb7a10404 Address comments. 2022-02-22 16:29:59 -08:00
Renxuan Wang 481587a8c6 Turn on hostname logic. 2022-02-22 16:29:59 -08:00
Lukas Joswiak 803fc86e61 Fix compaction issue when rolling nodes back 2022-02-22 16:21:33 -08:00
Josh Slocum 6739d506c4 More fixes for handling change feed empty version >= ss version 2022-02-22 16:23:32 -06:00
Jon Fu ae071a7211 clean up debug trace lines 2022-02-22 17:16:11 -05:00
Evan Tschannen 1990216e89 use global knowledge inside simulation to determine when it should be possible to get a too_old error 2022-02-22 13:03:57 -08:00
Evan Tschannen 330b2b48ec improved file cleanup execution and testing 2022-02-22 12:00:09 -08:00
Bharadwaj V.R f7aeae5a5c
Merge branch 'apple:main' into dd-utestclass 2022-02-22 11:59:11 -08:00
Josh Slocum d89c6bb3de Fixing initial change feed stream reply to be in try/catch 2022-02-22 13:55:40 -06:00
Josh Slocum 5dca00a21d Cleaning up change feed on move triggers when stream is cancelled 2022-02-22 13:48:57 -06:00
Lukas Joswiak a8828db58e Load balance dynamic knob requests
This commit also removes an attempt to read the latest configuration
snapshot when a rollforward timeout occurs. The normal retry loop will
eventually fetch an up to date snapshot and the rollforward will be
retried.
2022-02-22 10:53:48 -08:00
Jon Fu 2e2c8bf88c Merge branch 'main' of github.com:apple/foundationdb into jfu-grv-cache 2022-02-22 12:43:55 -05:00
Josh Slocum e75ab5f3a0 not advancing popped version of change feed sideband from another server 2022-02-22 11:22:35 -06:00
Steve Atherton f995b4a502 Merge branch 'main' of https://github.com/apple/foundationdb into redwood-bug-fixes-and-memory-leak 2022-02-18 18:44:28 -08:00
Trevor Clinkenbeard 82bbfa8aee
Merge pull request #6395 from sfc-gh-tclinkenbeard/global-tag-throttling
Create `TagThrottler` class
2022-02-18 13:17:28 -08:00
Steve Atherton a45c9ccce1 Revert "Added Redwood knob to reserve part of configured page cache size for Redwood page decode cache state."
This reverts commit 072bc86bb1.
2022-02-18 11:14:40 -08:00
Steve Atherton 17fe322bc4 Added near real-time tracking of Redwood page DecodeCache memory. 2022-02-18 03:26:05 -08:00
Bharadwaj V.R c1b0b336ce Fix merge conflicts in DDTC.actor.cpp - change serverMetrics to setServerMetrics and setTeamHealthy to markTeamUnhealthy 2022-02-17 20:41:38 -08:00
Bharadwaj V.R 49d2a56776
Merge branch 'main' into dd-utestclass 2022-02-17 20:22:07 -08:00
Josh Slocum f9f676abf9 Also re-persisting change feed metadata on fetch after cleanup 2022-02-17 19:21:40 -06:00
Steve Atherton 072bc86bb1 Added Redwood knob to reserve part of configured page cache size for Redwood page decode cache state. 2022-02-17 16:15:01 -08:00
Josh Slocum ef25e4fdfb Sending empty version back immediately to establish stream connection and acknowledgement queue for change feed stream requests 2022-02-17 18:10:17 -06:00
Xiaoxi Wang 4dffb61f78
Merge pull request #6403 from sfc-gh-xwang/ppw-restarting
move perpetual wiggle upgrade & downgrade test to 7.1
2022-02-17 15:57:24 -08:00
Josh Slocum 38a75a8b89 Merge branch 'main' into blob_integration 2022-02-17 17:47:38 -06:00
Josh Slocum c87d868dd2 Fix SS restart and change feed pop races 2022-02-17 15:55:24 -06:00
Josh Slocum f60420a8e6 Correctly updating change feed storage/durable versions after fetch 2022-02-17 10:36:32 -06:00
Bharadwaj V.R c568f9884d Make a few more DDCollection methods private 2022-02-17 08:25:20 -08:00
Josh Slocum 662618a5bc Blob Manager lock fixes 2022-02-17 10:01:20 -06:00
Bharadwaj V.R 7a17dbeacc Create DD unit test class. Start to make test-specific methods in DDTeamCollection private 2022-02-16 19:18:24 -08:00
Xiaoxi Wang f2b59af9b0 format code 2022-02-16 16:32:06 -08:00
Bharadwaj V.R 27855bc5b5
Merge branch 'apple:main' into fdb#4271 2022-02-16 15:38:36 -08:00
Zhe Wu e07ae6fdb9 Address comments 2022-02-16 15:28:56 -08:00
Zhe Wu 9da735c38e Batch empty peek reply 2022-02-16 15:28:56 -08:00
Jon Fu e0d3b0a488 format times in trace event 2022-02-16 16:55:14 -05:00
Jon Fu 6199faadc3 fix bug which constantly overwrote start time of last throttled queue 2022-02-16 16:52:38 -05:00
Jon Fu 5846dda410 temporary changes and extra traces for debugging 2022-02-16 15:05:25 -05:00
Bharadwaj V.R 949f1f1c3e Switch to testing MIN_AVAILABLE_SPACE 2022-02-16 11:33:07 -08:00
Xiaoxi Wang 3dfdc6943c move downgrade/upgrade test to XXX_7.1.0 because in 7.0 the workload doesn't have the fix 2022-02-16 10:48:31 -08:00
Bharadwaj V.R 3fe6a952f1 Merge with upstream tcinfo refactor and move the server knob init to be adjacent to related knobs 2022-02-16 10:28:55 -08:00
Bharadwaj V.R cb5f44c76d
Merge branch 'apple:main' into fdb#4271 2022-02-16 10:14:50 -08:00
Josh Slocum bfb1902a7a Fixing logic for when granule split is valid 2022-02-16 11:34:22 -06:00
Bharadwaj V.R fe03e6f822 Introduce a new server knob and use it to test if storage servers are near the min bar for available space 2022-02-15 22:43:06 -08:00
sfc-gh-tclinkenbeard 32bbabefd7 Merge remote-tracking branch 'origin/main' into dd-refactor 2022-02-15 14:11:30 -08:00
Josh Slocum 26480c4705 change feed popping fixes 2022-02-15 15:12:23 -06:00
Josh Slocum 53573e7648 Don't reset CF fetch version on pop 2022-02-15 15:12:05 -06:00
Jon Fu d399daebed Merge branch 'main' of github.com:apple/foundationdb into jfu-grv-cache 2022-02-15 15:09:40 -05:00
Jon Fu 6f1c3d50bb add debug traces for testing 2022-02-15 15:08:53 -05:00
Steve Atherton 42136bf808 Fixed memory leak (and minor performance bug) where RedwoodRecordRef::updateCache() would create the key copy to be placed in the cache but not actually place it into the real cache entry because the cache parameter was accepted by value. 2022-02-14 22:47:30 -08:00
sfc-gh-tclinkenbeard 47d5492459 Make many fields and methods of Ratekeeper private 2022-02-14 19:28:19 -08:00
sfc-gh-tclinkenbeard 0f4c808f37 Remove TagThrottler::ratekeeper field 2022-02-14 19:08:23 -08:00
Bharadwaj V.R 39e7e4cdaa
Merge branch 'apple:main' into dd-utest 2022-02-14 19:01:28 -08:00
sfc-gh-tclinkenbeard 182fb8de3d Change type of TagThrottlerImpl::ratekeeper 2022-02-14 18:57:16 -08:00
sfc-gh-tclinkenbeard 58669717f1 Move tryAutoThrottleTag method to TagThrottler 2022-02-14 18:54:12 -08:00
sfc-gh-tclinkenbeard b80f89204a Use PImpl for TagThrottler class 2022-02-14 18:17:55 -08:00
sfc-gh-tclinkenbeard 796249e99d Move lastBusiestCommitTagPick field back to Ratekeeper 2022-02-14 16:15:51 -08:00
sfc-gh-tclinkenbeard 00f12687c6 Add TagThrottler class 2022-02-14 16:03:37 -08:00
Vaidas Gasiunas 092b5cee4b MVC2.0: Rollback added code 2022-02-14 13:50:42 -08:00
Josh Slocum c5810b2127 Reducing possibility for large write rate in BGCorrectness 2022-02-14 15:45:46 -06:00
sfc-gh-tclinkenbeard 49ba96e0bb Clean up ratekeeper includes 2022-02-14 13:02:09 -08:00
sfc-gh-tclinkenbeard 8074630530 Rename class RatekeeperData to Ratekeeper 2022-02-14 12:42:25 -08:00
sfc-gh-tclinkenbeard d6c5239080 Fix copyright headers 2022-02-14 12:36:44 -08:00
sfc-gh-tclinkenbeard d4b4479399 Rename RatekeeperData.actor.cpp to Ratekeeper.actor.cpp 2022-02-14 12:35:50 -08:00
sfc-gh-tclinkenbeard 687df447ce Move all code from Ratekeeper.actor.cpp into RatekeeperData.actor.cpp 2022-02-14 12:32:34 -08:00
sfc-gh-tclinkenbeard 9beae3fb64 Add RatekeeperData class with refactored implementation 2022-02-14 11:49:45 -08:00
Josh Slocum abdbc5aafb Fixing granule opening after not deleting granule locks 2022-02-14 13:20:54 -06:00
Jon Fu 7492b755d8 Merge branch 'main' of github.com:apple/foundationdb into jfu-grv-cache 2022-02-14 14:06:49 -05:00
Jon Fu 8129c4e21c simplify sidebandsingle workload and be stricter with batch throttling on rk 2022-02-14 13:58:56 -05:00
Bharadwaj V.R eaef2a373e Remove superfluous wait statements in DD unit tests. They wait on the getTeam future 2022-02-14 10:11:00 -08:00
Josh Slocum b5ff2006b2 Removing incorrect assert 2022-02-14 11:36:54 -06:00
Josh Slocum 7f3f77fd77 Not cleaning up granule locks immediately after split 2022-02-14 11:29:21 -06:00
Bharadwaj V.R a14377641c Renamed a couple of test-only collection methods and make the test case waits more succinct 2022-02-13 23:53:12 -08:00
Xiaoxi Wang 5445dd3106 add option to fix consistency check 2022-02-13 23:30:14 -08:00
sfc-gh-tclinkenbeard e77b70c508 Encapsulate TCMachineTeamInfo fields 2022-02-12 15:50:51 -08:00
sfc-gh-tclinkenbeard 51afe403d1 Encapsulate TCMachineTeamInfo::id field 2022-02-11 22:56:16 -08:00
sfc-gh-tclinkenbeard a958fd2fbc Encapsulate TCServerInfo::serverMetrics 2022-02-11 22:05:57 -08:00
sfc-gh-tclinkenbeard 62dbd29ddc Remove unnecessary whitespace 2022-02-11 21:47:36 -08:00
sfc-gh-tclinkenbeard 10f40294a3 Encapsulate TCServerInfo::teams field 2022-02-11 21:44:28 -08:00
sfc-gh-tclinkenbeard 45f68c7db7 Add TCServerInfo::removeTeamsContainingServer method 2022-02-11 21:29:52 -08:00
sfc-gh-tclinkenbeard 5bfb2669a2 Add TCServerInfo::removeTeam method 2022-02-11 21:05:45 -08:00
sfc-gh-tclinkenbeard 3959ee6c27 Encapsulate TCServerInfo::dataInFlightToServer 2022-02-11 19:41:04 -08:00
sfc-gh-tclinkenbeard 0fe4dcf469 Make several more TCServerInfo fields private 2022-02-11 19:41:04 -08:00
sfc-gh-tclinkenbeard 4aa5a329ac Encapsulate TCServerInfo::collection and TCServerInfo::tracker 2022-02-11 19:41:04 -08:00
sfc-gh-tclinkenbeard 711462dfd7 Encapsulate TCServerInfo::inDesiredDC 2022-02-11 19:41:04 -08:00
Josh Slocum 9175ba354a Adding a separate phase for the end of change feed fetching to handle changes in fetchKeys available durability 2022-02-11 17:25:56 -06:00
Josh Slocum 0db843bc56 more CF movement and cleanup races 2022-02-11 16:04:28 -06:00
Bharadwaj V.R c3bb248d61 Adapt to members of DDCollection class that were accessed directly in test cases becoming private 2022-02-11 13:56:00 -08:00
Jon Fu a63d218e9d simplify test workload and adjust ratekeeper throttling strategy 2022-02-11 16:41:14 -05:00
Bharadwaj V.R 36c5d3a1e6
Merge branch 'main' into dd-utest 2022-02-11 12:25:31 -08:00
Trevor Clinkenbeard b8d8eafdec
Merge pull request #6379 from sfc-gh-tclinkenbeard/dd-refactor
Shrink public interface of `DDTeamCollection`
2022-02-11 11:44:15 -08:00
Josh Slocum e6d68a0fdb more variability in write workload for BGCorrectness and making tiny values drive slightly less hard 2022-02-11 13:35:39 -06:00
sfc-gh-tclinkenbeard 9158564bfc Fix formatting 2022-02-11 10:27:41 -08:00
Josh Slocum 3bbddce668 Fixing shard move away and back race 2022-02-11 10:14:26 -06:00
Josh Slocum 8a56349ea3 Fixing shard move away then back then away race 2022-02-11 10:12:49 -06:00
Josh Slocum 08505325d3 Fixing change feed mapping in cleanup refactor 2022-02-11 08:41:01 -06:00
Josh Slocum f9c16ed937 misc change feed improvements 2022-02-11 08:14:00 -06:00
sfc-gh-tclinkenbeard 3f8c1e2e69 Encapsulate TCServerInfo::id 2022-02-10 23:04:25 -08:00
Bharadwaj V.R faf74b2563 Removed some trace statements that were accidentally left behind in the code 2022-02-10 22:23:03 -08:00
Trevor Clinkenbeard ef68e6fe0d
Merge pull request #6353 from sfc-gh-ljoswiak/fixes/dynamic-knobs
Fix dynamic knobs correctness issues
2022-02-10 22:13:02 -08:00
Bharadwaj V.R 41bd39a82a Fix code formatting 2022-02-10 22:10:50 -08:00
Bharadwaj V.R b306288c62
Merge branch 'main' into dd-utest 2022-02-10 22:00:52 -08:00
Bharadwaj V.R df2f5c5709 Make UT parameters sensitive to server-knobs 2022-02-10 21:52:30 -08:00
Bharadwaj V.R 83b7f1fcbf Add test descriptions for DD unit tests 2022-02-10 19:29:34 -08:00
sfc-gh-tclinkenbeard 6e87c01404 Move implementations of TC*Info methods to TCInfo.actor.cpp 2022-02-10 19:19:50 -08:00
Bharadwaj V.R 7790d57c06 Mask the use of the delay in getTeam and the buildTeams path in the DD unit test
delay doesn't work as expected in the UT envionment
2022-02-10 18:52:40 -08:00
sfc-gh-tclinkenbeard 2165635478 Make printSnapshotTeamsInfo a static function of DDTeamCollection 2022-02-10 18:45:52 -08:00
sfc-gh-tclinkenbeard 9bc38ae73e Make DDTeamCollection::distributorId private 2022-02-10 18:26:06 -08:00
sfc-gh-tclinkenbeard 14c8483e9d Mark DDTeamCollection::primary private 2022-02-10 18:16:57 -08:00
sfc-gh-tclinkenbeard 8e7963172b Mark DDTeamCollection::excludedServers private 2022-02-10 17:58:59 -08:00
sfc-gh-tclinkenbeard 7ba250a991 Fix -Wreorder-ctor warnings 2022-02-10 17:54:57 -08:00
sfc-gh-tclinkenbeard 1f64477938 Make more DDTeamCollection fields private 2022-02-10 17:44:49 -08:00
Josh Slocum 36742bcd7e Fixing durability model of change feed cleanup 2022-02-10 18:52:17 -06:00
sfc-gh-tclinkenbeard 6e60e26730 Make some DDTeamCollection fields private 2022-02-10 16:48:26 -08:00
sfc-gh-tclinkenbeard 641a38bd0b Make more DDTeamCollection methods private.
The methods only used by DDTeamCollection::run can now be made private.
2022-02-10 16:19:32 -08:00
sfc-gh-tclinkenbeard c4508330d2 Make dataDistributionTeamCollection a static function of DDTeamCollection 2022-02-10 16:19:32 -08:00
sfc-gh-tclinkenbeard 5477012ad8 Change DDTeamCollection method signatures to accept references.
Passing nullptr to these methods is invalid, but previously the
signature didn't indicate this. We previously needed to pass pointers
due to actor compiler restrictions, but these restrictions no longer
apply.
2022-02-10 16:19:32 -08:00
sfc-gh-tclinkenbeard b51944b262 Pass constant reference to DDTeamCollection::isCorrectDC 2022-02-10 16:19:32 -08:00
sfc-gh-tclinkenbeard c024fbe845 Mark DDTeamCollection::waitUntilHealthy const 2022-02-10 16:19:32 -08:00
Trevor Clinkenbeard f7118ad406
Merge pull request #6371 from sfc-gh-tclinkenbeard/dd-refactor
Move `DDTeamCollection` method implementations into `.cpp` file
2022-02-10 15:03:01 -08:00
Jon Fu 2e63ac6963 code review changes: additional test checks, cleanup extra code, mark internal option hidden 2022-02-10 17:01:09 -05:00
Zhe Wang d684508540 Add RatekeeperLimitReasonDetails traceevent for RK 2022-02-10 13:59:47 -08:00
sfc-gh-tclinkenbeard 0dce252c92 Make many DDTeamCollection methods private 2022-02-10 13:44:39 -08:00
Jon Fu 458e708272 addressed code review comments: renamed variables, small functional changes, style changes 2022-02-10 16:17:54 -05:00
sfc-gh-tclinkenbeard 36700791a1 Use structured bindings in some for loops in DDTeamCollection.actor.cpp 2022-02-10 12:10:45 -08:00
sfc-gh-tclinkenbeard 3141698c41 Use special ASSERT_* macros for numeric comparison in data distribution
code.

This helps debugging by printing the exact input values when an
assertion fails.
2022-02-10 11:59:19 -08:00
sfc-gh-tclinkenbeard 975b9f3b32 Remove get helper function from DataDistribution.actor.cpp 2022-02-10 11:32:33 -08:00
sfc-gh-tclinkenbeard f16aa56d4c Fix comment grammar 2022-02-10 11:26:39 -08:00
sfc-gh-tclinkenbeard b5cefdbcc2 Mark DDTeamCollection methods const 2022-02-10 11:26:04 -08:00
sfc-gh-tclinkenbeard 3c00a66f36 Remove public DDTeamCollection::zeroServerLeftLoggerActor method 2022-02-10 11:19:34 -08:00
sfc-gh-tclinkenbeard b96c2477a3 Mark TSSPairState methods const 2022-02-10 11:12:40 -08:00
sfc-gh-tclinkenbeard c37be7a898 Move DDTeamCollection method implementations into cpp file 2022-02-10 11:09:31 -08:00
Josh Slocum 631cf0b085 minor memory optimizations for SS change feeds 2022-02-10 12:21:22 -06:00
Josh Slocum f997b2dab4 Smarter change feed cancelling when data moved away 2022-02-10 12:21:22 -06:00
Ben Collins 017f9b2308 ApiWorkload ctor failed to perform null check on g_simulator 2022-02-10 09:51:37 -08:00
Josh Slocum 031a11116b Fixing race between range mover and range split reassign 2022-02-10 11:50:51 -06:00
Josh Slocum 4af1b24c74 Using higher transferred version when fetching change feeds 2022-02-10 08:00:52 -06:00
Steve Atherton a023d49947 Bug fix in DeltaTree - Insert() of record outside of lower/upper boundaries used for key decoding would calculate incorrect record delta. 2022-02-10 01:36:24 -08:00
Bharadwaj V.R 6d46b03651 Add some unit tests for DD team selection 2022-02-09 22:22:56 -08:00
sfc-gh-tclinkenbeard 1b3aba018c Mark DDTeamCollection::isCorrectDC const 2022-02-09 15:51:52 -08:00
sfc-gh-tclinkenbeard 3f0e2ae62e Merge remote-tracking branch 'origin/main' into dd-refactor 2022-02-09 14:29:16 -08:00
Josh Slocum 7a76b86b53 Blob worker request timeout race 2022-02-09 16:22:56 -06:00
Lukas Joswiak f300cec6ed Fast-track ConfigNode registration with Simple DB
When using the `ConfigDBType::Simple` configuration database, allow
nodes to immediately register with the broadcaster without having to
wait for a quorum.
2022-02-09 14:18:48 -08:00
Josh Slocum c8cd8c0622 Adding request timeout for blob worker 2022-02-09 15:49:33 -06:00
Lukas Joswiak e8354d82bd Fix timeout issue when using >3 coordinators
The calculation to determine how many non-timeout replies had been
received was incorrect, causing rollback/rollforward requests to not be
sent, causing the dynamic knob subsystem to get stuck.
2022-02-09 13:43:33 -08:00
Lukas Joswiak 7fc4f0d649 Reuse existing quorum timeout error code 2022-02-09 13:43:33 -08:00
Lukas Joswiak ce67d1937f Add explanation of out-or-order messages from broadcaster 2022-02-09 13:43:33 -08:00
Lukas Joswiak b5a3312a26 Factor out known replica update step 2022-02-09 13:43:33 -08:00
Lukas Joswiak 1d496b7b30 Remove timeout
There are a few occasional failures after removing this timeout. They
mostly seem to be caused from contention among the ConfigIncrement
actors which have similar backoffs, causing an infinite loop of attempts
to get their generation accepted on a majority of ConfigNodes.
2022-02-09 13:43:33 -08:00
Lukas Joswiak c86712b4c0 Move single interface serve functions to testing interface 2022-02-09 13:43:33 -08:00
Lukas Joswiak 1d15aa5580 Fix internal function name 2022-02-09 13:43:32 -08:00
Lukas Joswiak d5a562e6b8 Fix dynamic knobs correctness issues 2022-02-09 13:43:32 -08:00
Josh Slocum 9189ea0448 Fixed SS restart and mutation log race 2022-02-09 15:37:09 -06:00
sfc-gh-tclinkenbeard dcbbee56a0 Update copyright dates 2022-02-09 13:28:40 -08:00
Aaron Molitor 96dd86ebf8 update RocskDB and Boost
add Finduring, and include into fdbserver
add BOOST asio/uring settings to fdbserver compile
move portable rocks, liburing up to be configurable at build time.
2022-02-09 10:48:18 -06:00
Josh Slocum f4c235f134 propagating change_feed_popped correctly 2022-02-09 09:34:13 -06:00
Josh Slocum 0fb512489e Removing incorrect epoch check 2022-02-09 09:33:57 -06:00
Josh Slocum 4d77932def fixed reordering 2022-02-09 08:05:20 -06:00
sfc-gh-tclinkenbeard 3d3223d13c Remove uses of pid2server_info 2022-02-08 15:58:20 -08:00
Josh Slocum 9277296102 Set doneRecovering for first blob manager 2022-02-08 17:47:08 -06:00
Josh Slocum f05a589669 Fixing blob manager recovery/blob worker status stream races 2022-02-08 17:17:32 -06:00
Josh Slocum b385db68a4 capped time and total data for BGVerifySmall tests to avoid OOM 2022-02-08 16:47:44 -06:00
sfc-gh-tclinkenbeard ebf940b710 Remove pid2server_info field 2022-02-08 14:25:16 -08:00
Josh Slocum d7955a9017 Much better mechanism for change feed popped checking 2022-02-08 14:23:04 -06:00
Josh Slocum 713c05bdcd Improved availability checking at end of BG workload 2022-02-08 14:21:11 -06:00
Josh Slocum 6adf119e3d Fixing change feed durableFetchVersion not getting updated 2022-02-08 13:59:06 -06:00
Josh Slocum 90a870962d Unblocking bounded change feed request in changeFeedClientVersions once it hit end 2022-02-08 13:22:17 -06:00
sfc-gh-tclinkenbeard acb3e840ac Merge remote-tracking branch 'origin/main' into dd-refactor 2022-02-08 00:33:51 -08:00
sfc-gh-tclinkenbeard 04a1347df2 Merge remote-tracking branch 'origin/main' into dd-refactor 2022-02-08 00:33:27 -08:00
Josh Slocum 9aaee145b2 Fixing range assignment bug 2022-02-07 17:48:56 -06:00
Josh Slocum 9885d2cc90 More change feed fetch and read race fixes 2022-02-07 16:21:38 -06:00
Jon Fu 7d17e00003 clean up extra trace messages in SidebandSingle workload 2022-02-07 16:58:29 -05:00
Yi Wu 607b2a0184 update comment 2022-02-07 13:32:52 -08:00
Yi Wu b32c843522 Revert "use DiskQueueVersion::V2 for KeyValueStoreMemory"
This reverts commit ba83d73acd.
2022-02-07 13:32:52 -08:00
Yi Wu eae3dab04d use DiskQueueVersion::V2 for KeyValueStoreMemory 2022-02-07 13:32:52 -08:00
Yi Wu 8c92c330c3 fix hash size 2022-02-07 13:32:52 -08:00
Yi Wu 0bd4618b79 minor fix 2022-02-07 13:32:52 -08:00