Remove duplicate databasechangeloglock SQL when running update-sql against a new database #2335
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.
Description
Fixes #2309
Caused by the "are we locked?" loop we added to catch race conditions in clusters, since in "update sql" mode the table doesn't get created like it normally would.
When looking at the output SQL, I also saw that the lock table got unlocked and re-locked due to the HubService.register() logic thinking it can prompt when it really can't and so unnecessarily unlocking.
Dev Handoff Notes (Internal Use)
Links
Testing
Dev Verification
Ran update-sql against a new h2 database, and made sure the create and lock logic happens only once
Test Requirements (Liquibase Internal QA)
Setup
Make sure DATABASECHANGELOGLOCK table is not present in database.
Manual Tests
Verify update-sql outputs correct number of statements related to DATABASECHANGELOGLOCK table.
liquibase update-sql --changelog-file lb2208-changelog.xml
Execute update with
setup
label:liquibase update --changelog-file lb2208-changelog --labels setup
Verify update-sql outputs correct number of statements when DATABASECHANGELOGLOCK table already exists.
liquibase update-sql --changelog-file lb2208-changelog --labels test
Automated Tests
No new functional tests required for this fix.
┆Issue is synchronized with this Jira Bug by Unito