Commit ccb0ac10 authored by Leif Walsh's avatar Leif Walsh Committed by Yoni Fogel

removing comment I meant to remove during flusher threads work

git-svn-id: file:///svn/toku/tokudb@40237 c7de825b-a66e-492c-adef-691d508d4ae1
parent 870e60ea
...@@ -1463,34 +1463,6 @@ brt_merge_child( ...@@ -1463,34 +1463,6 @@ brt_merge_child(
} }
} }
// FIXME started_at_root does not exist anymore. this is out of date.
//
// The parameter "started_at_root" is needed to resolve #4147 and #4160,
// which are subtle interactions of background flushing (cleaner and
// flusher threads) and MSN logic.
//
// When we rebalance basement nodes to write out a leaf, we can't have two
// basement nodes with different max_msn_applieds. When we flush to a
// basement node, it may have stale ancestors' messages applied already.
//
// If we've flushed everything down from the root recursively, then there
// is no problem. Anything that was applied to the leaf node by a query
// already must be in the batch of stuff we're flushing, so it's okay to
// do whatever we want, the MSNs will be consistent.
//
// But if we started somewhere in the middle (as a cleaner thread does),
// then we might not have all the messages that were applied to the leaf,
// and some basement nodes may be in a different state than others. So
// before we flush to it, we have to destroy and re-read (off disk) the
// basement nodes which have messages applied. Similarly, if a flush
// started in the middle wants to merge two leaf nodes, we can't do that
// because we might create a leaf node in a bad state.
//
// We use "started_at_root" to decide what to do about this problem in
// code further down. For now, anything started by the cleaner thread
// will have started_at_root==false and anything started by the flusher
// thread will have started_at_root==true, but future mechanisms need to
// be mindful of this issue.
void void
flush_some_child( flush_some_child(
struct brt_header *h, struct brt_header *h,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment