-
-
Notifications
You must be signed in to change notification settings - Fork 743
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ability to better detect or override DBEngine #2009
Labels
Comments
Proposal:
|
sbrossie
changed the title
Ability to detect or override DBEngine
Ability to better detect or override DBEngine
Apr 25, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Kill Bill constructs an instance of the
EmbeddedDB
abstract class at runtime based on the configuration: It parses the URI scheme to decide whether the underlying engine should bemysql
,postgresql
,h2
or somegeneric
engine.When using a package like aws-secretsmanager-jdbc, where the URI is something like
jdbc-secretsmanager:mysql://example.com:3306
, this breaks the parsing and we end up with aGenericStandaloneDB
instead of theMySQLEmbeddedDB
.Most of the functionality may still work, but it will break the global locking we have inside Kill Bill because the runtime
GlobalLocker
is instantiated based on the value of such EmbeddedDB.getDBEngine. As a result we end up with aMemoryGlobalLocker
which means that in a normal multi-node production environment, there is essentially no global locking and this can lead to all sort of issues (e.g double invoicing).The text was updated successfully, but these errors were encountered: