Xiaoxi Wang
5a8adca1f7
solve review comments: mark const; add comments; template abbreviation
2022-10-25 10:56:24 -07:00
Xiaoxi Wang
db72a29c06
fix compile error after rebase
2022-10-24 11:16:23 -07:00
Xiaoxi Wang
918018d492
format code
2022-10-24 10:50:46 -07:00
Xiaoxi Wang
0d4b4d05e2
implement MSS as IStorageMetricsService and pass the unit test
2022-10-24 09:58:41 -07:00
Xiaoxi Wang
3c67b7df39
extract serveStorageMetricsRequests template function
2022-10-24 09:58:41 -07:00
Xiaoxi Wang
c14ee5395f
define IStorageMetricsService
2022-10-24 09:58:41 -07:00
Xiaoxi Wang
e07a50573a
splitStorageMetrics finish implementation (no unit test yet but 100k
...
test pass)
2022-10-24 09:58:41 -07:00
Xiaoxi Wang
1603926595
refactoring old waitStorageMetrics and finish MGS::waitStorageMetrics
...
(no unit test yet)
2022-10-24 09:58:41 -07:00
Xiaoxi Wang
5d90703dc8
finish getKeysLocations etc, and unit test pass.
2022-10-24 09:58:41 -07:00
Xiaoxi Wang
70eb9aef28
simple MGS IKeyLocationService implementation
2022-10-24 09:58:41 -07:00
Steve Atherton
90b17a937c
Merge pull request #8526 from sfc-gh-satherton/redwood-page-lifetimes
...
Bug fixes in IO buffer and class lifetimes in Redwood, DiskQueue, AsyncFileChaos, AsyncFileWriteChecker, BackupFile, AsyncFileEncrypted. Generic actor improvements.
2022-10-24 09:54:58 -07:00
Jingyu Zhou
30f571bf7e
Merge pull request #8522 from sfc-gh-satherton/diskqueue-bug-fix
...
Bug fix: If a disk queue reader drops its future memory corruption could occur
2022-10-24 09:49:41 -07:00
Jingyu Zhou
b48f2869d1
Merge pull request #8529 from sfc-gh-vgasiunas/vgasiunas-apitester-documentation
...
Update API Tester documentation for server config and ctest targets
2022-10-24 09:38:17 -07:00
Jingyu Zhou
f99d631537
Merge pull request #8543 from sfc-gh-huliu/removegzip
...
remove zlib
2022-10-24 09:35:07 -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
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
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
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
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
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
neethuhaneesha
a1eb1d4a48
Rocksdb storage using single_key_deletes instead of deleterange on clearrange operation. ( #8452 )
2022-10-21 15:47:19 -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
Zhe Wu
ada51ff12b
Add a counter to track physical shard creation throuogh moves
2022-10-21 10:22:42 -07:00
Jingyu Zhou
b839489661
Merge pull request #8518 from liquid-helium/fix-fetch-checkpoint
...
Fixed file offset not reset issue.
2022-10-21 09:07:55 -07:00