Commit Graph

23382 Commits

Author SHA1 Message Date
Steve Atherton 27dc180b68 Merge commit '0ae568a872e474c8c755e648efbbe4524e63e445' into storageserver-pml
# Conflicts:
#	fdbserver/VersionedBTree.actor.cpp
2022-10-24 22:31:36 -07:00
Jingyu Zhou 0ae568a872
Merge pull request #8556 from jzhou77/fix
Fix stack overflows
2022-10-24 16:46:35 -07:00
Ankita Kejriwal ce733cd1a1
Merge pull request #8538 from sfc-gh-akejriwal/monitorusage
Add functionality to get tenants over storage quota and improve the relevant monitors
2022-10-24 16:28:07 -07:00
Hui Liu e2dc50d220
Merge pull request #8508 from sfc-gh-huliu/storageinterf
Implement StorageServerInterface for BlobMigrator
2022-10-24 16:10:31 -07:00
Zhe Wu 0140991d15 Rename NewPhysicalShardReason to RetryFindDstReason 2022-10-24 15:18:20 -07:00
Zhe Wu fc9295ab66 Address comments 2022-10-24 15:18:20 -07:00
Zhe Wu 22047385c4 Count the detailed reason for new physical shard creation during data move 2022-10-24 15:18:20 -07:00
Hui Liu f2289ced27 Add StorageServerInterface for BlobMigrator 2022-10-24 13:12:07 -07:00
Jingyu Zhou d672f91160
Merge pull request #8513 from sfc-gh-anoyes/anoyes/hide-idempotency-ids 2022-10-24 13:06:17 -07:00
Ankita Kejriwal 4f149b8705
Merge pull request #8545 from sfc-gh-tclinkenbeard/improve-fdbcli-quota-error
Improve error messages for `fdbcli` quota commands
2022-10-24 12:18:35 -07:00
Jingyu Zhou a8f821e152 Fix stack overflows
The loop is transformed by actor compiler into recursions that may cause stack
overflows. Thus, I added yield() to unwind stack and refactor the parsing code
so that the subsequent files are blocked until previous ones have finished.
2022-10-24 11:13:11 -07:00
Josh Slocum 2d6840ee90
fix bg stats invalid access (#8507) 2022-10-24 10:23:22 -07:00
Andrew Noyes 91671abcd3 Update generated.go 2022-10-24 10:22:29 -07:00
Trevor Clinkenbeard 28ae2a7565
Merge pull request #8544 from sfc-gh-tclinkenbeard/fix-asan-failure
Fix heap-use-after-free in `TenantEntryCache::put`
2022-10-24 10:10:40 -07:00
Jingyu Zhou 30b4d4a70a
Merge pull request #8516 from sfc-gh-anoyes/anoyes/memory-leak
Fix a memory leak in simulation
2022-10-24 10:08:38 -07:00
Trevor Clinkenbeard d8eb4e9efe
Merge pull request #6856 from sfc-gh-tclinkenbeard/make-class-uncopyable
Make FlowReceiver NonCopyable
2022-10-24 10:06:38 -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
Andrew Noyes a299cf4bf2 Make idempotency id transaction options hidden
This feature is not ready for use by applications
2022-10-24 09:25:48 -07:00
Andrew Noyes fb9333e863 Delete Sim2::PromiseTask
Previously this was leaking and causing simulation OOM's. Also make it
FastAllocated to match Net2::PromiseTask
2022-10-24 09:25:21 -07:00
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 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