diff options
| -rw-r--r-- | benchmarks/tail-latency/mixed_workload.cpp | 4 | ||||
| -rw-r--r-- | include/framework/scheduling/Version.h | 7 |
2 files changed, 10 insertions, 1 deletions
diff --git a/benchmarks/tail-latency/mixed_workload.cpp b/benchmarks/tail-latency/mixed_workload.cpp index d8ea890..531d1fa 100644 --- a/benchmarks/tail-latency/mixed_workload.cpp +++ b/benchmarks/tail-latency/mixed_workload.cpp @@ -65,6 +65,10 @@ void operation_thread(Ext *extension, std::vector<QP> *queries, } else { for (size_t i = 0; i < 1000; i++) { auto insert_idx = idx.fetch_add(1); + if (insert_idx >= reccnt) { + inserts_done.store(true); + break; + } TIMER_START(); while (!extension->insert((*records)[insert_idx])) { diff --git a/include/framework/scheduling/Version.h b/include/framework/scheduling/Version.h index 4cd73ba..e2acc8f 100644 --- a/include/framework/scheduling/Version.h +++ b/include/framework/scheduling/Version.h @@ -82,7 +82,12 @@ public: bool advance_buffer_head(size_t new_head) { m_buffer_head = new_head; - return m_buffer->advance_head(new_head); + + while (!m_buffer->advance_head(new_head)) { + usleep(1); + } + + return true; } void update_shard_version(size_t version) { |