Replacing earlier patch with a better one that contains a unit test that exhibits the fix works properly. The unit test essentially connects to a follower, then submits a multiop to the follower. It then verifies that the multiop succeeded properly.
When I run this unit test WITHOUT the required fixes in FollowerRequestProcessor.java and ObserverRequestProcessor.java, then I get a nice failure that correctly replicates the failures I've seen in our integration of multi:
Testcase: testMultiToFollower took 28.451 sec
Caused an ERROR
KeeperErrorCode = ConnectionLoss
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss
WITH the fixes in the included patch, the unit test passes correctly.