summaryrefslogtreecommitdiffstats
path: root/include/framework/DynamicExtension.h
diff options
context:
space:
mode:
authorDouglas Rumbaugh <dbr4@psu.edu>2025-02-17 09:53:33 -0500
committerDouglas Rumbaugh <dbr4@psu.edu>2025-02-17 09:53:33 -0500
commit2cea904e07629a955f3f024b5a718a21c06ec032 (patch)
tree15a76cac443e15f9290f443677c767bc05c0e98d /include/framework/DynamicExtension.h
parent4e088dd606cc60f0e6585f1a1512a65a8a549876 (diff)
downloaddynamic-extension-2cea904e07629a955f3f024b5a718a21c06ec032.tar.gz
Fixed legacy tiering policy
Diffstat (limited to 'include/framework/DynamicExtension.h')
-rw-r--r--include/framework/DynamicExtension.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/include/framework/DynamicExtension.h b/include/framework/DynamicExtension.h
index e97dfab..67f6ff8 100644
--- a/include/framework/DynamicExtension.h
+++ b/include/framework/DynamicExtension.h
@@ -472,12 +472,14 @@ private:
/* advance the buffer head for a flush */
args->version->advance_buffer_head(new_head);
+
} else {
// fprintf(stderr, "[I] Running background reconstruction\n");
}
/* perform all of the reconstructions */
auto structure = args->version->get_structure();
+ assert(structure);
for (size_t i = 0; i < args->tasks.size(); i++) {
reconstructions.emplace_back(structure->perform_reconstruction(args->tasks[i]));
@@ -678,9 +680,11 @@ private:
return;
}
+ auto active_version = m_active_version.load();
+
auto *args = new ReconstructionArgs<ShardType, QueryType>();
- args->version = create_version_flush(nullptr);
- args->tasks = m_config.recon_policy->get_flush_tasks(get_active_version().get());
+ args->version = create_version_flush(std::unique_ptr<StructureType>(active_version->get_structure()->copy()));
+ args->tasks = m_config.recon_policy->get_flush_tasks(active_version.get());
args->extension = this;
args->priority = ReconstructionPriority::FLUSH;
args->initial_version = INVALID_VERSION;