Commit Graph

23462 Commits

Author SHA1 Message Date
Andrew Noyes b457032722 Fix two cases where test harness failed to report test failure 2022-10-24 09:25:21 -07:00
Steve Atherton 84c51fb61a Merge commit 'c93e8c9da159cd89f670117201b17115ad03cdf0' into redwood-page-lifetimes 2022-10-23 22:28:52 -07:00
Steve Atherton ff6d5ddf0c Enable read/write cancel checking in AsyncFileNonDurable for all file types. 2022-10-23 17:53:36 -07:00
Steve Atherton 5058402c73 Bug fixes in AsyncFileEncrypted buffer and class instance lifetimes. IO buffers must be kept alive until underlying reads or writes completes, and some use cases allow the class reference to be dropped while operations are outstanding so that is also made safe. 2022-10-23 17:47:54 -07:00
Steve Atherton a627df88c6 IO buffer lifetime fix, source buffer must stay alive until the file write completes. 2022-10-23 16:38:08 -07:00
Steve Atherton 344290fdf1 IO buffer lifetime fix, buf must stay alive until the file read completes. 2022-10-23 16:28:31 -07:00
Steve Atherton 59a2800173 IO buffer lifetime fix, block output buffer must stay alive until the file operation completes. 2022-10-23 16:27:00 -07:00
Steve Atherton 4e338257c7 Simulation-only safety check for cancelled read and write ops which is unsafe for many IAsyncFile implementations. For now, the check is only enabled for sqlite, redwood, and fdq files. 2022-10-23 13:19:16 -07:00
sfc-gh-tclinkenbeard 520439ee13 Merge remote-tracking branch 'origin/main' into fix-asan-failure 2022-10-23 10:51:09 -07:00
Trevor Clinkenbeard c93e8c9da1
Merge pull request #8532 from sfc-gh-tclinkenbeard/clear-key-provider
Clear `DecodeBoundaryVerifier::keyProvider` in `~VersionedBTree`
2022-10-23 10:50:27 -07:00
sfc-gh-tclinkenbeard da4ceaf735 Improve code coverage for proxy-level transaction tag throttling 2022-10-23 10:39:59 -07:00
sfc-gh-tclinkenbeard 1ae98808f9 Retry on proxy_tag_throttled errors 2022-10-23 09:56:30 -07:00
sfc-gh-tclinkenbeard 59db8a8f0e Merge remote-tracking branch 'origin/main' into clear-key-provider 2022-10-23 09:53:14 -07:00
Steve Atherton fdc8e2118e Changed Redwood shutdown order so that users get the error signal first and have a chance to cancel pending operations before they are canceled by force which causes broken_promise errors. 2022-10-23 01:52:25 -07:00
Steve Atherton 970eb4a043 Add option in ObjectCache clear for whether or not to wait for safe eviction for each item. 2022-10-23 01:50:18 -07:00
Steve Atherton 6b55d8ff01 Merge commit 'f2c1cd6792b45f04968d3c3d335723430be2e6a9' into redwood-page-lifetimes 2022-10-23 01:45:53 -07:00
Steve Atherton f2c1cd6792 Bug fix: If a disk queue reader drops its future memory corruption could occur so the actor is made uncancellable and the TrackMe member will keep the disk queue alive until it finishes. 2022-10-23 01:45:04 -07:00
Steve Atherton 6e1073a6da Fix bugs with file IO buffer lifetimes in DiskQueue by changing waitForAll() to waitForAllReadyThenThrow() so that if one operation errors the buffers used by the others will not be destroyed. 2022-10-23 01:38:50 -07:00
Steve Atherton 59254436ab Add more details in comment block about interface contract. 2022-10-23 01:08:53 -07:00
Steve Atherton 4c7b44cd5c Lifetime fixes in AsyncFileChaos, returned actors must hold a copy of the file member to keep it alive since this could be destroyed with operations pending. 2022-10-23 00:40:31 -07:00
Steve Atherton b6de4d3ae2 AsyncFileWriteChecker ops must keep a reference to the class instance since it could be destroyed before an operation completes. 2022-10-22 22:22:52 -07:00
sfc-gh-tclinkenbeard 78b6779f11 Update fdbcli_tests.py quota test 2022-10-22 19:37:33 -07:00
sfc-gh-tclinkenbeard 2a2d52ca50 Improve error messages for fdbcli quota commands 2022-10-22 18:24:48 -07:00
Steve Atherton cd83595a0f Merge remote-tracking branch 'sfc-gh-tclinkenbeard/clear-key-provider' into redwood-page-lifetimes 2022-10-22 17:55:09 -07:00
Steve Atherton fa0ea1368d Now that IO operation cancellation is safe, explictly cancel all pending operations during shutdown in the operations vector or in the caches. 2022-10-22 17:55:02 -07:00
Steve Atherton 94f3eee3a8 Update comment for recent changes. 2022-10-22 16:12:57 -07:00
sfc-gh-tclinkenbeard f054590494 Make FlowReceiver un-copyable 2022-10-22 13:47:12 -07:00
sfc-gh-tclinkenbeard 71702d6ccc Fix heap-use-after-free in TenantEntryCache::put 2022-10-22 13:10:03 -07:00
Steve Atherton 46dd71b008 Change extent reads to use readPhysicalBlock to avoid output buffer lifetime issues while allowing the extent read actor to be cancelled. 2022-10-22 02:55:45 -07:00
Steve Atherton 76316339ac Merge commit '7dacaed98368ec0790c9e18a63dfa0035a31fcff' into redwood-page-lifetimes 2022-10-22 02:30:43 -07:00
Steve Atherton d7f9de53f5 Reworked Redwood's file read/write buffer lifetime safety to be more simple and lower overhead. The lowest level file read/write ops are uncancellable and hold references to their in/out buffers, so now read/write futures in the operations vector or the page cache can be cancelled which allows shutdown to directly cancel active operations. 2022-10-22 02:30:15 -07:00
Steve Atherton fe696183fc Refactored quorum() to also accept an array instead of a vector and modified operator&&(Future, Future) to not create a temporary vector. 2022-10-22 00:48:26 -07:00
Steve Atherton 4c68bb0193 Added operator+ for Future + Future which waits for both futures in order and returns the result of the second. 2022-10-22 00:46:14 -07:00
Steve Atherton 9aad911001 Removed unnecessary instantiations of success(). 2022-10-22 00:44:50 -07:00
sfc-gh-tclinkenbeard 04ae47b9b9 Addressed review comments 2022-10-21 22:17:33 -07:00
Ankita Kejriwal 56cdb687be Code fixes in TenantCache monitors 2022-10-21 18:12:22 -07:00
Hui Liu b27bdf1da8 remove zlib 2022-10-21 17:45:22 -07:00
Nim Wijetunga 7dacaed983
add domain name asserts (#8534) 2022-10-21 17:24:27 -07:00
Yao Xiao f1875268b8
Destroy CF handle before closing physical shard. (#8394) 2022-10-21 17:18:36 -07:00
Vishesh Yadav aa99b89d53 Don't fail ConsistencyCheck on first mismatch
ConsistencyCheck fails when it sees the first corrupted shard. We may want to
keep it running so that we can see all the corrupted data in logs.
2022-10-21 17:02:02 -07:00
Ankita Kejriwal b98366351b Add a function in TenantCache to get list of tenants over storage quota 2022-10-21 16:27:43 -07:00
Ankita Kejriwal c34a23152c Change the storage quota type from unit64_t to int64_t
With this change, the storage quota will be of the same type
as the storage bytes used returned by `getEstimatedRangeSizeBytes`.
2022-10-21 16:18:52 -07:00
Ankita Kejriwal 03fb3d2cfe Simplify how tenants' storage usage is stored in TenantCache 2022-10-21 16:11:13 -07:00
neethuhaneesha a1eb1d4a48
Rocksdb storage using single_key_deletes instead of deleterange on clearrange operation. (#8452) 2022-10-21 15:47:19 -07:00
Ankita Kejriwal 7647cea4e5 Improve the storage quota monitor code + add a knob for refresh interval 2022-10-21 15:44:13 -07:00
Ankita Kejriwal a8b1154e45 Move the storage quota monitor from DataDistributor to TenantCache 2022-10-21 15:17:41 -07:00
Josh Slocum 9987da5a4f
Add blob granule benchmark to track stats by varying amount of deltas, and several simple perf improvements (#8533) 2022-10-21 17:05:51 -05:00
sfc-gh-tclinkenbeard 3161b3b417 Merge remote-tracking branch 'origin/main' into clear-key-provider 2022-10-21 12:21:56 -07:00
sfc-gh-tclinkenbeard e168950a93 Clear DecodeBoundaryVerifier::keyProvider in ~VersionedBTree 2022-10-21 11:26:55 -07:00
Chaoguang Lin 78e2871a79
Add a long running test (#8505)
* Add a long running test

* Make new scripts executable and update the test file
2022-10-21 11:11:11 -07:00