mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 08:47:12 +03:00
068ff196bd
Summary: This diff turns the return type of `BackingStore::getBlob` from `folly::Future` into `folly::SemiFuture` to prevent executor leaks. This also enable us to remove the need of holding `serverThreadPool` from backing stores. ---- **Changes** * `ObjectStore` now needs to hold a `folly::Executor::KeepAlive` that is used to turn `SemiFuture`s it gets from backing stores into `Future`. * Signature changes of the implementations of `BackingStore` class. * For tests, I chose to use `QueuedImmediateExecutor` in place of `UnboundedQueueExecutor` as it will basically execute tasks inline. I'm concerned introducing thread pool executor in tests may turn tests flaky. Reviewed By: wez Differential Revision: D18669664 fbshipit-source-id: 0cae89f365dcf8b345b49d64469a530cf25d4ac5 |
||
---|---|---|
.. | ||
git | ||
hg | ||
mononoke | ||
test | ||
BackingStore.h | ||
BlobAccess.cpp | ||
BlobAccess.h | ||
BlobCache.cpp | ||
BlobCache.h | ||
BlobMetadata.h | ||
CMakeLists.txt | ||
Diff.cpp | ||
Diff.h | ||
DiffCallback.h | ||
DiffContext.cpp | ||
DiffContext.h | ||
eden_store_util.cpp | ||
EmptyBackingStore.cpp | ||
EmptyBackingStore.h | ||
IObjectStore.h | ||
KeySpaces.h | ||
LocalStore.cpp | ||
LocalStore.h | ||
MemoryLocalStore.cpp | ||
MemoryLocalStore.h | ||
ObjectStore.cpp | ||
ObjectStore.h | ||
RocksDbLocalStore.cpp | ||
RocksDbLocalStore.h | ||
ScmStatusDiffCallback.cpp | ||
ScmStatusDiffCallback.h | ||
SerializedBlobMetadata.cpp | ||
SerializedBlobMetadata.h | ||
SqliteLocalStore.cpp | ||
SqliteLocalStore.h | ||
StoreResult.cpp | ||
StoreResult.h |