tkhurana opened a new pull request, #2617: URL: https://github.com/apache/phoenix/pull/2617
The ReplicationLogGroup Disruptor was created with YieldingWaitStrategy, which busy-spins/yields and pins a CPU core per HA group even when the ring buffer is idle. With multiple HA groups configured this starves the region server write path, inflating putBatch latency (client p90 for 5 writes rose from ~30ms with no groups to 60-70ms with 7 groups). Switch to BlockingWaitStrategy, which parks the consumer when the ring is empty (0 CPU when idle). This matches HBase's own WAL Disruptor (FSHLog), which uses BlockingWaitStrategy because the HDFS append/sync work dwarfs any wakeup latency, so spinning makes no sense. Replication is off the write critical path (max() overlap with postIndexUpdate), the ring is mostly idle, and RS cores are contended -- the conditions where Yielding's sub-microsecond pickup would matter are all false. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
