I declared current_block_size_ as a volatile.  This is because Riak 2.0 allows simultaneous compactions on independent levels.  I believe this function is already protected by the database level mutex … but to lazy to guarantee that today, and not willing to risk it in the future … cuz I have burned myself once already on "knowing how locks worked" in the code, then changed a code path breaking the assumption elsewhere.  These values are not critical, so I do not believe two threads working through here at the same time will interact horribly or leave values "wrong" … hence why I am intentionally not thread protecting actively.