Commit Graph

8845 Commits

Author SHA1 Message Date
A.J. Beamon d0dc756c6d Allow disabling tenant mode in simulation. Fix a few bugs. 2022-03-17 12:10:18 -07:00
A.J. Beamon 81e8c7c362 Various test fixes to work with tenants. 2022-03-17 12:10:18 -07:00
A.J. Beamon 4b521b38cb Update various workloads to specify that they are expecting raw access. A couple other raw access related fixes. Disable tenant tests in backup and DR tests for now. 2022-03-17 12:10:18 -07:00
A.J. Beamon 592f31755e Fixes to the new tenant tests 2022-03-17 12:10:18 -07:00
A.J. Beamon 05495908b8 Implement some tenant tests 2022-03-17 12:10:18 -07:00
Andrew Noyes d39b881045
Avoid a call to VersionedMap::ViewAtVersion::lower_bound (#6606)
* Avoid a call to VersionedMap::ViewAtVersion::lower_bound in some cases

* Avoid lower_bound in both cases
2022-03-17 09:03:20 -07:00
sfc-gh-tclinkenbeard 44b0e05538 Merge remote-tracking branch 'origin/main' into arena-get-size-boolean-param 2022-03-16 22:53:30 -07:00
sfc-gh-tclinkenbeard 56026b5b6f Merge remote-tracking branch 'origin/main' into global-tag-throttling2 2022-03-16 22:29:43 -07:00
sfc-gh-tclinkenbeard c4bc35da09 Merge remote-tracking branch 'origin/main' into fix-includes 2022-03-16 22:29:18 -07:00
Evan Tschannen a0ba3f73f8
Merge pull request #6619 from sfc-gh-ajbeamon/storage-cache-request-handling
Update the storage cache to handle all requests types
2022-03-16 17:37:24 -07:00
sfc-gh-tclinkenbeard 0ae9ba5fd0 Add FastInaccurateEstimate boolean parameter for Arena::getSize 2022-03-16 16:54:27 -07:00
Evan Tschannen f28dfc12b2
Merge pull request #6484 from kakaiu/adaptive-fetchKey
Quick fix fetchKeys
2022-03-16 15:06:22 -07:00
A.J. Beamon 31bd9c8b3e Use the new name for mapped key values requests 2022-03-16 15:05:06 -07:00
A.J. Beamon 052220f8ab Update the storage cache to handle all requests types. Most assert false, one is updated to send a broken_promise as a workaround to the fact that we do expect some requests to go there. 2022-03-16 14:57:53 -07:00
sfc-gh-tclinkenbeard 320c115c71 Apply clang-format to mis-formatted files 2022-03-16 14:25:32 -07:00
sfc-gh-tclinkenbeard 0e7dc83f25 Fix compilation issues with ModelInterface construction in configuration database code 2022-03-16 14:25:32 -07:00
sfc-gh-tclinkenbeard 58de6e22cc Add BalanceOnRequests boolean parameter for ModelInterface 2022-03-16 14:25:32 -07:00
sfc-gh-tclinkenbeard 1ab18aae6a Fix calls to DDTeamCollection::addTeam 2022-03-16 14:21:58 -07:00
sfc-gh-tclinkenbeard 62f547ff6e Add line before actorcompiler.h include (to prevent IDE from reordering includes) 2022-03-16 14:15:48 -07:00
sfc-gh-tclinkenbeard 71976e51c5 Merge remote-tracking branch 'origin/main' into global-tag-throttling2 2022-03-16 13:53:46 -07:00
sfc-gh-tclinkenbeard faecd8a8f8 Merge remote-tracking branch 'origin/main' into global-tag-throttling2 2022-03-16 13:45:23 -07:00
Trevor Clinkenbeard 765e018afb
Merge pull request #6580 from sfc-gh-tclinkenbeard/const-smoother
Mark `Smoother::smooth*` methods `const`
2022-03-16 13:43:25 -07:00
Zhe Wang 73fd5c01ae quick-fix-fetch-key 2022-03-16 16:39:35 -04:00
sfc-gh-tclinkenbeard eaa699c203 Merge remote-tracking branch 'origin/main' into ddteamcollection-boolean-param 2022-03-16 13:38:28 -07:00
sfc-gh-tclinkenbeard 1aabbb07d2 Add missing copyright headers 2022-03-16 11:25:02 -07:00
Trevor Clinkenbeard 10c536c700
Merge pull request #6435 from sfc-gh-ljoswiak/fixes/dynamic-knobs-release-readiness
Dynamic knobs improvements
2022-03-16 10:26:56 -07:00
Lukas Joswiak c3e48fff9f
Update fdbserver/PaxosConfigConsumer.actor.cpp
Co-authored-by: Trevor Clinkenbeard <trevor.clinkenbeard@snowflake.com>
2022-03-16 08:59:12 -07:00
sfc-gh-tclinkenbeard 66d71e107d Move actorcompiler.h include to the end of includes 2022-03-16 00:09:16 -07:00
Trevor Clinkenbeard cd5247b377
Merge pull request #6608 from xis19/dataDistribution
Fix the includes in DataDistribution.actor.cpp
2022-03-15 19:53:43 -07:00
Xiaoge Su cbd381778e Fix the includes in DataDistribution.actor.cpp
Update the comment to re-trigger failed checks
2022-03-15 18:05:55 -07:00
Steve Atherton 59762fc784
Merge pull request #6423 from sfc-gh-satherton/redwood-bug-fixes-and-memory-leak
Redwood memory usage and small memory leak fixes
2022-03-15 16:52:28 -07:00
Xiaoxi Wang 22040583aa
Merge pull request #6596 from sfc-gh-xwang/ppw-getteam
Deprioritize seleting team in the wiggle paused state
2022-03-15 14:26:47 -07:00
A.J. Beamon 7464c7747c
Merge pull request #6600 from sfc-gh-ajbeamon/add-tenant-support-back-to-mapped-range
Add tenant support back to mapped range requests
2022-03-15 13:46:32 -07:00
Evan Tschannen 2c88a189a9 more pruning bug fixes 2022-03-15 13:34:59 -07:00
Evan Tschannen d46e551f11 merge 2022-03-15 13:09:10 -07:00
He Liu c3a68d661e
Physical Shard Move (#6264)
Physical Shard Move part I: Checkpoint creation, transfer and restore.
2022-03-15 13:03:23 -07:00
Josh Slocum ce5b567971 Cleanup the cleanup 2022-03-15 15:02:28 -05:00
A.J. Beamon a04934465c Add tenant support back to mapped range requests. Fix ACTOR warning. 2022-03-15 12:41:08 -07:00
A.J. Beamon e8077b65e1
Merge pull request #6559 from sfc-gh-ajbeamon/fdb-tenant-client
Add client support for tenants
2022-03-15 12:40:17 -07:00
Josh Slocum 67eba5ec7c Limiting DD Moves by destination SS. 2022-03-15 13:52:19 -05:00
Lukas Joswiak 582ba5d519 Fix issue with stuck config nodes
In rare circumstances where the cluster controller dies / moves to a new
machine, sometimes only a minority of `ConfigNode`s received messages
telling them they were registered. When the `ConfigNode`s attempt to
register with the new broadcaster (on the new cluster controller), the
knob system would get stuck because only a minority would be registered.
Part of this change allows registration of unregistered `ConfigNode`s if
there is no path to a majority of registered nodes.
2022-03-15 11:42:58 -07:00
Jingyu Zhou e89ee7d5a0
Merge pull request #6589 from sfc-gh-tclinkenbeard/fix-typos
Fix typos
2022-03-15 10:10:23 -07:00
A.J. Beamon 1d44ef1c8e Specify system key access for a few move keys transactions 2022-03-15 09:23:30 -07:00
A.J. Beamon fb73e1857a Some get key requests should not happen within a tenant. Don't set read_system_keys in watch logic unless necessary. Set access_system_keys in a couple movekeys functions. 2022-03-15 09:23:30 -07:00
A.J. Beamon 2a21126028 Don't apply read prefixes on the client. Cache tenant data locally. 2022-03-15 09:23:30 -07:00
A.J. Beamon c635dcd3ad Add tenant support in the FDB native client 2022-03-15 09:21:27 -07:00
Josh Slocum b27d6bbfab Have BW read manager lock on startup to avoid races with old BM 2022-03-15 10:10:29 -05:00
Yao Xiao 09df9d83fd
Enable RocksDB with Valgrind. (#6595) 2022-03-14 21:11:44 -07:00
Josh Slocum 9d9b70abd4 Fixing another BM recovery and granule splitting race 2022-03-14 18:56:44 -05:00
Xiaoxi Wang 7855dc70f2 add unit test 2022-03-14 16:43:02 -07:00
sfc-gh-tclinkenbeard 5fa135c8ad Merge remote-tracking branch 'origin/main' into ddteamcollection-boolean-param 2022-03-14 16:35:16 -07:00
Xiaoxi Wang 87640673f7 add hasWigglePausedServer method; add new sort criteria 2022-03-14 16:02:42 -07:00
Josh Slocum 8c35ceb684 switching bg file keys to sort on version then type, and using that to fix race where 2 blob workers try to split the same granule at different versions 2022-03-14 17:38:31 -05:00
Josh Slocum 1c14d4674d Fixing more BM races with granule splitting 2022-03-14 16:11:17 -05:00
Josh Slocum 3e278e8580 asserts for assign is empty is false if BM dies and rangeAssigner actor is dead 2022-03-14 15:53:09 -05:00
Trevor Clinkenbeard 6a28bddd35
Fix file names in copyright headers (#6578) 2022-03-14 13:24:25 -07:00
Josh Slocum e7aa534cae Forgot to update worker mapping after picking worker 2022-03-14 15:04:43 -05:00
Josh Slocum 8d88b7ca41 making range assigner boundary changes fully synchronous to ensure no races with things reading assignments 2022-03-14 14:39:00 -05:00
Lukas Joswiak d0da6c63c1 Rollforward out of date nodes, compaction fixes 2022-03-14 11:20:56 -07:00
sfc-gh-tclinkenbeard 8dcac2f76d Fix typos 2022-03-13 10:02:11 -03:00
Bharadwaj V.R 8be519a5d8 Make getServerMetrics private to TCServerInfo class and rename some methods to remove redundant reference to 'server' 2022-03-12 17:30:50 -04:00
Bharadwaj V.R 7bad6c5093 Make server API for load metrics 2022-03-12 17:30:50 -04:00
Bharadwaj V.R 2d2f7ed2c6 Refactor team space methods and create new TCServerInfo method to expose space metrics 2022-03-12 17:30:50 -04:00
Bharadwaj V.R c5a17f48c0 Make some TCServerInfo methods that are only used in DDTCUnitTest class private 2022-03-12 17:30:50 -04:00
sfc-gh-tclinkenbeard a13b408793 Add StorageQueueInfo::addCommitCost method 2022-03-12 14:28:50 -04:00
sfc-gh-tclinkenbeard cdc099b192 Add StorageQueueInfo::update method 2022-03-12 14:17:44 -04:00
sfc-gh-tclinkenbeard 1ef0102974 Add TLogQueueInfo::update method 2022-03-12 14:04:10 -04:00
sfc-gh-tclinkenbeard 324a678e39 Minor bug fix in TagThrottlerImpl::tryUpdateAutoThrottling 2022-03-12 13:32:41 -04:00
Josh Slocum 82eef0c7f7 Better CF tracing for client and server 2022-03-11 16:50:38 -06:00
Josh Slocum 26e95d43ef SS needs to persist its TSS pair ID to make metrics accurate (and avoid buggify issues in simulation) 2022-03-11 11:38:58 -06:00
Josh Slocum 67dd3d071e Fixing incorrect assert in BM split handling 2022-03-11 10:50:46 -06:00
sfc-gh-tclinkenbeard cc52a44df5 Clean up TagThrottler* files 2022-03-11 12:23:01 -04:00
sfc-gh-tclinkenbeard 5799b6cbd7 Add comments and modify ITagThrottler::tryUpdateAutoThrottling method 2022-03-11 12:13:34 -04:00
sfc-gh-tclinkenbeard 3efe5803fd Add comments to RkTagThrottleCollection 2022-03-11 12:09:15 -04:00
sfc-gh-tclinkenbeard 28cb7d956f Make RkTagThrottleCollection::computeTargetTpsRate static 2022-03-11 12:09:15 -04:00
sfc-gh-tclinkenbeard ea9dd4b86c Make some RkTagThrottleCollection methods private 2022-03-11 12:09:15 -04:00
sfc-gh-tclinkenbeard af69058596 Move RkTagThrottleCollection class into its own files 2022-03-11 12:09:15 -04:00
sfc-gh-tclinkenbeard 5c053c6c37 Move expiredTagThrottleCleanup into TagThrottler class 2022-03-11 12:09:15 -04:00
sfc-gh-tclinkenbeard eb5a556c98 Move constructor implementations out of Ratekeeper.h 2022-03-11 12:09:15 -04:00
sfc-gh-tclinkenbeard 229f0cca8b Add StorageQueueInfo::refreshCommitCost method 2022-03-11 12:09:15 -04:00
sfc-gh-tclinkenbeard 455b75abca Use structured bindings for for loop in Ratekeeper::refreshStorageServerCommitCost 2022-03-11 12:09:15 -04:00
sfc-gh-tclinkenbeard cad106f9eb Support sending multiple busy tags from storage server to ratekeeper 2022-03-11 12:09:15 -04:00
sfc-gh-tclinkenbeard 96983fdd7a Improve TransactionTagCounter encapsulation 2022-03-11 12:09:15 -04:00
sfc-gh-tclinkenbeard e61c26758c Move TransactionTagCounter implementation into .cpp file 2022-03-11 12:09:15 -04:00
sfc-gh-tclinkenbeard 91d1a172d8 Move TransactionTagCounter into separate file 2022-03-11 12:09:15 -04:00
sfc-gh-tclinkenbeard e0006ea957 Mark TransactionTagCounter::costFunction const 2022-03-11 12:09:15 -04:00
sfc-gh-tclinkenbeard ccbbaa07f2 Remove redundant UID field from TagThrottlerImpl::autoThrottleTag 2022-03-11 12:09:15 -04:00
sfc-gh-tclinkenbeard 184f0d7586 Improve const correctness of storage wiggler classes 2022-03-11 09:20:53 -04:00
sfc-gh-tclinkenbeard 3a6568580a Improve encapsulation of TimerSmoother 2022-03-11 07:47:26 -04:00
sfc-gh-tclinkenbeard e00820cdd7 Reduce mutable access to *QueueInfo objects in Ratekeeper.actor.cpp 2022-03-11 01:04:13 -04:00
sfc-gh-tclinkenbeard 9aca5f8011 Mark several methods const 2022-03-11 00:47:35 -04:00
sfc-gh-tclinkenbeard 0f8435e407 Make DDTeamCollection::addTeamsBestOf private 2022-03-11 00:11:51 -04:00
sfc-gh-tclinkenbeard 7a5105a9d5 Add type safety to boolean parameters in DDTeamCollection 2022-03-11 00:10:12 -04:00
sfc-gh-tclinkenbeard 01e00f3c7d Make DDTeamCollection::addTeam private 2022-03-10 23:35:56 -04:00
Steve Atherton e496f3efb7 Improved comments and readability of FIFOQueue::Cursor read methods. 2022-03-10 14:35:46 -08:00
Josh Slocum 479ac313ca Fixing conflict handling in BM recovery 2022-03-10 16:35:08 -06:00
Steve Atherton 30957c3a43 Fix unclear comment. 2022-03-10 14:22:45 -08:00
Josh Slocum 4f88e00404 Adding change feed pop to set of expected granule errors 2022-03-10 14:37:32 -06:00
Ata E Husain Bohra 944ec48415
Introduce a simulate EncryptKeyVaultProxy interface (#6576)
Description

Major changes proposed are:
1. Rename ServerKnob->ENABLE_ENCRYPT_KEY_PROXY to
   ServerKnob->ENABLE_ENCRYPTION. Approach simplifies enabling
   controlling encyrption code change using a single knob (desirable)
2. Implement EncyrptKeyVaultProxy simulated interface to assist
   validating encyrption workflows in simulation runs. The interface
   is leveraged to satisfy "encryption keys" lookup which otherwise
   gets satisfied by integrating organization preferred Encryption
   Key Management solution.

Testing

Unit test to validate the newly added code
2022-03-10 12:06:49 -08:00
Josh Slocum 211e5b579a Adding back debug stream uid to help track down bugs 2022-03-10 13:55:42 -06:00
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