Skip to content

Hikari init additional endpoints - #161

Open
Anay-Mahajan wants to merge 2 commits into
masterfrom
hikari-init-additional-endpoints
Open

Anay-Mahajan wants to merge 2 commits into
masterfrom
hikari-init-additional-endpoints

Conversation

@Anay-Mahajan

Copy link
Copy Markdown

Summary

  • TPC-C 1k chaos jobs failed at --execute startup with HikariPool$PoolInitializationException (NoRouteToHost / Connection refused). Chaos often stops the first IP in --nodes before Hikari finishes pool init. The Yugabyte smart driver only learns topology after a connection succeeds, so that first pool had nowhere else to try and the process exited before any transaction ran.
  • For Yugabyte, each Hikari pool now gets the other --nodes as dataSource.additionalEndpoints so the first connect can land on a live tserver. initializationFailTimeout=0 lets the pool start if nothing answers yet; a connection that opens but fails validation (for example bad credentials) still fails fast.
  • This does not replace smart-driver load balancing. Extra endpoints are only used to establish the first connection. After that, routing still comes from yb_servers().
  • Verified on PerfService for node, zone, and region chaos. Execute got past Hikari init in all three:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant