[zanata-bugs] [Bug 1207980] New: Split up large Liquibase changesets to avoid partial updates
bugzilla at redhat.com
bugzilla at redhat.com
Wed Apr 1 07:14:25 UTC 2015
https://bugzilla.redhat.com/show_bug.cgi?id=1207980
Bug ID: 1207980
Summary: Split up large Liquibase changesets to avoid partial
updates
Product: Zanata
Version: 3.7
Component: DatabaseChange
Assignee: djansen at redhat.com
Reporter: sflaniga at redhat.com
QA Contact: zanata-qa at redhat.com
CC: zanata-bugs at redhat.com
Description of problem:
Several of the changesets in 3.7 can take a very long time to run. (That is a
problem in itself, for another time.) If the long operation is cancelled (eg
appserver times out), mysql finishes the current change and autocommits it, but
the DATABASECHANGELOGLOCK is never cleaned up. Eventually, the admin will have
to clear the lock, but if the changeset includes multiple changes, Liquibase
will attempt the first change again, and fail. Recovering from this is quite
slow and painful, especially for anyone who isn't familiar with Liquibase or
Zanata.
I suggest that we replace the affected changesets with multiple smaller
changesets:
- one change per changeset.
- using a precondition to skip the change if it has already been applied.
Also, we may be able to speed up the changes overall by making multiple
alterations to the same table in a single "change" (eg adding several indexes
or columns to the same table).
Finally, we should log a message before beginning each large changeset, so that
the admin will have some idea why Zanata is taking a long time to start.
--
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=Yr9IIBdtis&a=cc_unsubscribe
More information about the zanata-bugs
mailing list