Hi,
v4 is not production code and deployment is definitely not recommended. I believe write flushing in v4 fails purposely because it is not actually supported yet due to changes to the store structure.
The flush_lock semantics are as intended. lock_shared blocks on creation of the lock file. If creation fails there is an error, not simply a lock to wait on.
(edited)