Moved the requirement for memory visibility of a Reducers internal state

... (maintenance)... to the framework by piggybacking it to an internal field

fixed #3866 
I'm not understanding what you are trying to do btw. 

You want to have a simple happens before relation based on a volatile variable. What you need to do is:
- after the last logic of the user in the reducer is called -> do a volatile write on variable X
- before the first logic of the user is called in the reducer on a subsequent run -> do a volatile read on variable X

This introduced the happens before relation you are looking for. There is no happens before relation between a write1 and write2 on volatile variable X.