this repo has no description
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Keep updated HybridKV after flush (found by sim)

garrison 0f73b22a baa3a4a2

+8 -5
+5 -3
lib/servers/storage.ex
··· 436 436 |> min(min_import_version - 1) 437 437 |> max(0) 438 438 439 - HybridKV.flush(kv, flush_version) 440 - HybridKV.put_storage(kv, special_prefix() <> "durable_version", Integer.to_string(flush_version)) 441 - HybridKV.commit(kv) 439 + kv = HybridKV.flush(kv, flush_version) 440 + :ok = HybridKV.put_storage(kv, special_prefix() <> "durable_version", Integer.to_string(flush_version)) 441 + :ok = HybridKV.commit(kv) 442 + state = %{state | kv: kv} 443 + 442 444 SimServer.simulate_work([1, 10, 20, 30, 100]) 443 445 444 446 # Send pops to tlogs
+3 -2
lib/servers/tlog.ex
··· 334 334 335 335 # Flush meta mutations which are known to be committed to storage and pop them from the queue 336 336 # (once mutations are known to be committed we do not need them in multiversion storage for recovery because versions < KCV cannot be chosen) 337 - HybridKV.flush(state.meta_kv, state.known_committed_version) 337 + meta_kv = HybridKV.flush(state.meta_kv, state.known_committed_version) 338 + state = %{state | meta_kv: meta_kv} 338 339 339 340 # Commit both storage_queue *and* meta_kv (they share the same underlying storage) 340 - HybridKV.commit(state.meta_kv) 341 + :ok = HybridKV.commit(state.meta_kv) 341 342 342 343 # Pop the meta tag for mutations which are now in storage 343 344 TaggedQueue.pop(state.tagged_queue, meta_tag(), state.known_committed_version)