Description
ancillary to JVMCBC-202:
the RequestHandler only send SignalFlush when the ringbuffer's batch is exhausted, at this point triggering requests to be sent by Netty. Problem is, if the Locator.locate method returns null at the last request in batch, this step is skipped. It means it will delay sending requests on the wire until next request is queued.
In the context of JVMCBC-202, this affected testing because doing an upsert with durability factor ReplicateTo.ONE would batch four requests (set, observe master, observe rep1, observe rep2). Since one of the replicas was down (failed over), the Locator would indeed return null, and the ObserveRequest wouldn't be flushed until the whole upsert timed out and the next one was issued...
Attachments
Issue Links
- relates to
-
JVMCBC-202 Observe should succeed as soon as minimal criteria are met
- Resolved