diff options
| author | Douglas Rumbaugh <dbr4@psu.edu> | 2025-02-17 09:53:33 -0500 |
|---|---|---|
| committer | Douglas Rumbaugh <dbr4@psu.edu> | 2025-02-17 09:53:33 -0500 |
| commit | 2cea904e07629a955f3f024b5a718a21c06ec032 (patch) | |
| tree | 15a76cac443e15f9290f443677c767bc05c0e98d /include/framework/DynamicExtension.h | |
| parent | 4e088dd606cc60f0e6585f1a1512a65a8a549876 (diff) | |
| download | dynamic-extension-2cea904e07629a955f3f024b5a718a21c06ec032.tar.gz | |
Fixed legacy tiering policy
Diffstat (limited to 'include/framework/DynamicExtension.h')
| -rw-r--r-- | include/framework/DynamicExtension.h | 8 |
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; |