-
Notifications
You must be signed in to change notification settings - Fork 100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor to storages to support async reads #2012
base: master
Are you sure you want to change the base?
Conversation
0c6203a
to
9a33876
Compare
@@ -244,11 +244,13 @@ std::vector<EntityId> push_entities(ComponentManager& component_manager, Process | |||
|
|||
std::vector<EntityId> flatten_entities(std::vector<std::vector<EntityId>>&& entity_ids_vec); | |||
|
|||
std::vector<folly::FutureSplitter<pipelines::SegmentAndSlice>> split_futures( | |||
std::vector<folly::Future<pipelines::SegmentAndSlice>>&& segment_and_slice_futures); | |||
std::vector<std::variant<folly::Future<pipelines::SegmentAndSlice>, folly::FutureSplitter<pipelines::SegmentAndSlice>>> split_futures( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FutureOrSplitter
@@ -106,7 +105,7 @@ void iterate_snapshots(const std::shared_ptr<Store>& store, folly::Function<void | |||
try { | |||
visitor(vk); | |||
} catch (storage::KeyNotFoundException& e) { | |||
e.keys().broadcast([&vk, &e](const VariantKey& key) { | |||
std::for_each(e.keys().begin(), e.keys().end(), [&vk, &e](const VariantKey& key) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could use std::ranges
#include "arcticdb/storage/storage_utils.hpp" | ||
#include "arcticdb/storage/azure/azure_client_interface.hpp" | ||
#include "azure_mock_client.hpp" | ||
#include "arcticdb/storage/object_store_utils.hpp" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: angle brackets
#include "arcticdb/entity/atom_key.hpp" | ||
#include "arcticdb/entity/serialized_key.hpp" | ||
#include "arcticdb/util/string_utils.hpp" | ||
#include "arcticdb/storage/lmdb/lmdb.hpp" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: angle brackets
@@ -22,6 +22,7 @@ S3ApiInstance::S3ApiInstance(Aws::Utils::Logging::LogLevel log_level) : | |||
// Use correct URI encoding rather than legacy compat one in AWS SDK. PURE S3 needs this to handle symbol names | |||
// that have special characters (eg ':'). | |||
options_.httpOptions.compliantRfc3986Encoding = true; | |||
//options_.httpOptions.httpClientFactory_create_fn = [](){ return Aws::MakeShared<ArcticHttpClientFactory>("ARCTICDB_HTTP_CLIENT"); }; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess remove the comment if not checking in ArcticHttpClientFactory
{ | ||
std::lock_guard lock{mutex_}; | ||
++data_[trace]; | ||
++count_; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unused?
17553ab
to
8cf6aca
Compare
8061d37
to
b761182
Compare
Wrap the storage methods in an async interface, add methods that return KeySegmentPairs directly, get rid of composite from the storage interface