Klose6 opened a new pull request, #345: URL: https://github.com/apache/cassandra-sidecar/pull/345
CdcPublisher subscribes to several event-bus addresses (token-range changed, range gained/lost, server stop, CDC cache warmed up) via vertx.eventBus().localConsumer(), so handle(Message) runs on the event loop. The four range/stop branches previously called handleTokenRangeChange / handleRangeGained / handleRangeLost / stop synchronously, all of which transitively perform blocking work(closing the Kafka producer, stopping SidecarCdc consumers, querying virtual tables). This blocks the event loop and can starve other Vert.x consumers under topology churn. Dispatch those four branches to the shared worker pool via executorPools.executeBlocking(), matching the existing ConfigChangedHandler pattern. Keep ON_CDC_CACHE_WARMED_UP on the event loop since it is only a single volatile write. Drop the now-redundant synchronized from handle() (event-loop-dispatched consumers cannot race with themselves; the actual handler methods remain synchronized). -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

