There are three possible components to the perf issue, I think:
1) DN now sends RBW replicas to both NNs as soon as a block starts to be created. This adds 3 RPCs to each block creation (though they don't write to the edit logs)
2) When blocks are allocated, we now log the full block list of that file. This creates a much bigger edit log, so of course takes more time.
3) When HA is enabled, these new edit log entries are fsynced, which makes it even slower.
I'm hoping to set up a cluster to test each of these in isolation by commenting out the related code from the HA branch and measuring a write benchmark. Once we identify which is the worst issue we can tackle it.