Unfortunately it is normal because there isn’t anything we can do about it. When you hit ctrl-c it kills the java VM without enough warning for liquibase to finish what it is doing and properly clean up.
The normal flow is:
Mark databasechangeloglock table as locked to prevent multiple liquibase instances from updating the same database concurrently.
Execute each change in a changeSet. Note: Most liquibase changes are DDL statements that autocommit
Insert into databasechangelog that changeSet ran
It sounds like in your case java was killed during step 4. The changes in step 3 were auto-committed, but the changeSet mark was not committed.
Unfortunately, I think the only way to prevent it is to not stop liquibase mid-update.