-
Bug
-
Resolution: Done
-
Major
-
1.5.0.Final
-
None
-
False
-
False
-
Undefined
-
-
If a database name is added to the exclude list it's schema change events are not stored in dbhistory topic and therefore discarded.
According to my analysis the following is happening:
- The "add column" statement comes in to parseDdl.
- It's successfully parsed in line 210.
- It passes the check in line 229 as it was successfully parsed and it's therefore not empty.
- Then in line 236 it fails the check and the schema change event gets discarded as the database name is excluded (acceptableDatabase(dbName) returns false).
We've discovered this issue this way: after a restart the connector has failed with a message saying it can't modify a column as it doesn't exist. We've examined the dbhistory topic and haven't found any statements that would add the column to the table although the column does exist in this table. We assume since we've excluded a database we've lost some of the schema change history because of this bug. In particular we've lost the statement that adds the column. Therefore the connector fails upon receiving the "modify column" statement as it doesn't know such column exists.