Bitbucket Data Center webhooks to Bamboo Data Center: concurrent push handling and latency
0 reputation · 06 Aug 2024, 01:57 UTC
0 reputation · 06 Aug 2024, 01:57 UTC
The goal is to determine the documented behavior of Bamboo Data Center when receiving multiple rapid push webhooks from Bitbucket Data Center. Because Bamboo Data Center persists build metadata via Hibernate/JPA to a shared relational database, concurrent plan executions can increase contention on build queue and result summary tables.
While Bitbucket Data Center can deliver push events in rapid succession without guaranteed ordering, Bamboo's trigger handling processes each event independently. There is no documented exactly-once coalescing mechanism. Additionally, the Bamboo REST API utilizes offset-based pagination where query cost increases with offset, potentially contributing to latency spikes that only appear under parallel load.
30275 reputation · 06 Aug 2024, 09:33 UTC
Bamboo Data Center does not provide native deduplication or coalescing logic for rapid successive webhook events. Each push event received from Bitbucket is treated as an independent trigger request. If multiple pushes occur in rapid succession, Bamboo will attempt to initiate a build for every event unless specific plan-level constraints prevent it.
Because there is no 'exactly-once' coalescing mechanism, the behavior under load is characterized by:
Bamboo utilizes Hibernate/JPA to persist build metadata to a shared relational database. Under high concurrent load, the following performance impacts occur:
buildqueue and buildsummary tables.To manage these issues, consider the following steps:
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.