Configure global lock settings and OSGi plugin resource limits - #2281
Open
tushar2682 wants to merge 1 commit into
Open
Configure global lock settings and OSGi plugin resource limits#2281tushar2682 wants to merge 1 commit into
tushar2682 wants to merge 1 commit into
Conversation
tushar2682
force-pushed
the
fix/distributed-locking-config
branch
from
July 23, 2026 21:40
95b27c8 to
131cb35
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
This PR introduces explicit configurations for global distributed locking and OSGi database connection pooling. These changes improve concurrency handling under heavy billing workloads, protect the core application from database connection exhaustion, and strengthen plugin security.
Fixes/Refers to: #2280
Changes
Global Distributed Locking
Configured
org.killbill.rescheduleIntervalOnLockto:to reduce the initial retry intervals for tasks blocked on distributed locks.
Increased the maximum lock retry attempts by setting:
org.killbill.invoice.globalLock.retries=100org.killbill.payment.globalLock.retries=100This helps prevent premature failures during concurrent operations on the same account.
OSGi Plugin Database Resource Isolation
Configured dedicated connection pool settings for OSGi plugin data sources to isolate plugin database usage from the core application:
These limits help prevent slow or leaking plugins from exhausting the main database connection pool.
Security
Explicitly disabled authentication bypass for plugins invoking core APIs by setting:
org.killbill.security.skipAuthForPlugins=falseThis ensures that all plugin requests to core APIs are authenticated according to the configured security policies.
Benefits