liquibase.parser.core.ParsedNodeException: Multiple nodes match null/comment

JIRA | srs | 3 years ago
  1. 0

    Output of update operation (-changeLogFile=liq.xml): {code:java} liquibase.parser.core.ParsedNodeException: Change set test2.xml::test::xpotkany does not exist at liquibase.changelog.ChangeSet.handleRollbackNode(ChangeSet.java:373) at liquibase.changelog.ChangeSet.handleChildNode(ChangeSet.java:298) at liquibase.changelog.ChangeSet.load(ChangeSet.java:292) at liquibase.changelog.DatabaseChangeLog.createChangeSet(DatabaseChangeLog.java:379) at liquibase.changelog.DatabaseChangeLog.handleChildNode(DatabaseChangeLog.java:240) at liquibase.changelog.DatabaseChangeLog.load(DatabaseChangeLog.java:211) at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:25) at liquibase.changelog.DatabaseChangeLog.include(DatabaseChangeLog.java:356) at liquibase.changelog.DatabaseChangeLog.handleChildNode(DatabaseChangeLog.java:248) at liquibase.changelog.DatabaseChangeLog.load(DatabaseChangeLog.java:211) at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:25) at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:215) at liquibase.Liquibase.update(Liquibase.java:192) at liquibase.integration.commandline.Main.doMigration(Main.java:1044) at liquibase.integration.commandline.Main.run(Main.java:175) at liquibase.integration.commandline.Main.main(Main.java:94) Liquibase Update Successful {code} Output of rollbackCountSQL 1 (-changeLogFile=liq.xml): {code:java} liquibase.parser.core.ParsedNodeException: Change set test2.xml::test::xpotkany does not exist at liquibase.changelog.ChangeSet.handleRollbackNode(ChangeSet.java:373) at liquibase.changelog.ChangeSet.handleChildNode(ChangeSet.java:298) at liquibase.changelog.ChangeSet.load(ChangeSet.java:292) at liquibase.changelog.DatabaseChangeLog.createChangeSet(DatabaseChangeLog.java:379) at liquibase.changelog.DatabaseChangeLog.handleChildNode(DatabaseChangeLog.java:240) at liquibase.changelog.DatabaseChangeLog.load(DatabaseChangeLog.java:211) at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:25) at liquibase.changelog.DatabaseChangeLog.include(DatabaseChangeLog.java:356) at liquibase.changelog.DatabaseChangeLog.handleChildNode(DatabaseChangeLog.java:248) at liquibase.changelog.DatabaseChangeLog.load(DatabaseChangeLog.java:211) at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:25) at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:215) at liquibase.Liquibase.rollback(Liquibase.java:385) at liquibase.Liquibase.rollback(Liquibase.java:362) at liquibase.integration.commandline.Main.doMigration(Main.java:1087) at liquibase.integration.commandline.Main.run(Main.java:175) at liquibase.integration.commandline.Main.main(Main.java:94) -- ********************************************************************* -- Rollback 1 Change(s) Script -- ********************************************************************* -- Change Log: liq.xml -- Ran at: 23.2.2015 10:09 -- Against: test@10.0.2.2@jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8 -- Liquibase version: 3.3.2 -- ********************************************************************* -- Lock Database UPDATE test.DATABASECHANGELOGLOCK SET LOCKED = 1, LOCKEDBY = 'okis01-NTB (192.168.56.1)', LOCKGRANTED = '2015-02-23 10:09:46.214' WHERE ID = 1 AND LOCKED = 0; -- Rolling Back ChangeSet: test2.xml::test2::xpotkany DROP VIEW test.admins; DELETE FROM test.DATABASECHANGELOG WHERE ID='test2' AND AUTHOR='xpotkany' AND FILENAME='test2.xml'; -- Release Database Lock UPDATE test.DATABASECHANGELOGLOCK SET LOCKED = 0, LOCKEDBY = NULL, LOCKGRANTED = NULL WHERE ID = 1; {code} Now, issues with this: # It doesn't detect referenced changelog # It continues even though exception happened. This point seems to be windows specific, as I tried it in debian and even though first point applies it does not continue operation and output is different (SAXException). This bug is very dangerous as liquibase does default rollback action even though different rollback action is specified. As you can see in SQL log, it's dropping stuff even though rollback should result in updated view.

    JIRA | 2 years ago | Gabriel Potkány
    liquibase.parser.core.ParsedNodeException: Change set test2.xml::test::xpotkany does not exist
  2. Speed up your debug routine!

    Automated exception search integrated into your IDE

  3. 0

    Output of update operation (-changeLogFile=liq.xml): {code:java} liquibase.parser.core.ParsedNodeException: Change set test2.xml::test::xpotkany does not exist at liquibase.changelog.ChangeSet.handleRollbackNode(ChangeSet.java:373) at liquibase.changelog.ChangeSet.handleChildNode(ChangeSet.java:298) at liquibase.changelog.ChangeSet.load(ChangeSet.java:292) at liquibase.changelog.DatabaseChangeLog.createChangeSet(DatabaseChangeLog.java:379) at liquibase.changelog.DatabaseChangeLog.handleChildNode(DatabaseChangeLog.java:240) at liquibase.changelog.DatabaseChangeLog.load(DatabaseChangeLog.java:211) at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:25) at liquibase.changelog.DatabaseChangeLog.include(DatabaseChangeLog.java:356) at liquibase.changelog.DatabaseChangeLog.handleChildNode(DatabaseChangeLog.java:248) at liquibase.changelog.DatabaseChangeLog.load(DatabaseChangeLog.java:211) at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:25) at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:215) at liquibase.Liquibase.update(Liquibase.java:192) at liquibase.integration.commandline.Main.doMigration(Main.java:1044) at liquibase.integration.commandline.Main.run(Main.java:175) at liquibase.integration.commandline.Main.main(Main.java:94) Liquibase Update Successful {code} Output of rollbackCountSQL 1 (-changeLogFile=liq.xml): {code:java} liquibase.parser.core.ParsedNodeException: Change set test2.xml::test::xpotkany does not exist at liquibase.changelog.ChangeSet.handleRollbackNode(ChangeSet.java:373) at liquibase.changelog.ChangeSet.handleChildNode(ChangeSet.java:298) at liquibase.changelog.ChangeSet.load(ChangeSet.java:292) at liquibase.changelog.DatabaseChangeLog.createChangeSet(DatabaseChangeLog.java:379) at liquibase.changelog.DatabaseChangeLog.handleChildNode(DatabaseChangeLog.java:240) at liquibase.changelog.DatabaseChangeLog.load(DatabaseChangeLog.java:211) at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:25) at liquibase.changelog.DatabaseChangeLog.include(DatabaseChangeLog.java:356) at liquibase.changelog.DatabaseChangeLog.handleChildNode(DatabaseChangeLog.java:248) at liquibase.changelog.DatabaseChangeLog.load(DatabaseChangeLog.java:211) at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:25) at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:215) at liquibase.Liquibase.rollback(Liquibase.java:385) at liquibase.Liquibase.rollback(Liquibase.java:362) at liquibase.integration.commandline.Main.doMigration(Main.java:1087) at liquibase.integration.commandline.Main.run(Main.java:175) at liquibase.integration.commandline.Main.main(Main.java:94) -- ********************************************************************* -- Rollback 1 Change(s) Script -- ********************************************************************* -- Change Log: liq.xml -- Ran at: 23.2.2015 10:09 -- Against: test@10.0.2.2@jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8 -- Liquibase version: 3.3.2 -- ********************************************************************* -- Lock Database UPDATE test.DATABASECHANGELOGLOCK SET LOCKED = 1, LOCKEDBY = 'okis01-NTB (192.168.56.1)', LOCKGRANTED = '2015-02-23 10:09:46.214' WHERE ID = 1 AND LOCKED = 0; -- Rolling Back ChangeSet: test2.xml::test2::xpotkany DROP VIEW test.admins; DELETE FROM test.DATABASECHANGELOG WHERE ID='test2' AND AUTHOR='xpotkany' AND FILENAME='test2.xml'; -- Release Database Lock UPDATE test.DATABASECHANGELOGLOCK SET LOCKED = 0, LOCKEDBY = NULL, LOCKGRANTED = NULL WHERE ID = 1; {code} Now, issues with this: # It doesn't detect referenced changelog # It continues even though exception happened. This point seems to be windows specific, as I tried it in debian and even though first point applies it does not continue operation and output is different (SAXException). This bug is very dangerous as liquibase does default rollback action even though different rollback action is specified. As you can see in SQL log, it's dropping stuff even though rollback should result in updated view.

    JIRA | 2 years ago | Gabriel Potkány
    liquibase.parser.core.ParsedNodeException: Change set test2.xml::test::xpotkany does not exist
  4. 0

    Output of update operation (-changeLogFile=liq.xml): {code:java} liquibase.parser.core.ParsedNodeException: Change set test2.xml::test::xpotkany does not exist at liquibase.changelog.ChangeSet.handleRollbackNode(ChangeSet.java:373) at liquibase.changelog.ChangeSet.handleChildNode(ChangeSet.java:298) at liquibase.changelog.ChangeSet.load(ChangeSet.java:292) at liquibase.changelog.DatabaseChangeLog.createChangeSet(DatabaseChangeLog.java:379) at liquibase.changelog.DatabaseChangeLog.handleChildNode(DatabaseChangeLog.java:240) at liquibase.changelog.DatabaseChangeLog.load(DatabaseChangeLog.java:211) at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:25) at liquibase.changelog.DatabaseChangeLog.include(DatabaseChangeLog.java:356) at liquibase.changelog.DatabaseChangeLog.handleChildNode(DatabaseChangeLog.java:248) at liquibase.changelog.DatabaseChangeLog.load(DatabaseChangeLog.java:211) at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:25) at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:215) at liquibase.Liquibase.update(Liquibase.java:192) at liquibase.integration.commandline.Main.doMigration(Main.java:1044) at liquibase.integration.commandline.Main.run(Main.java:175) at liquibase.integration.commandline.Main.main(Main.java:94) Liquibase Update Successful {code} Output of rollbackCountSQL 1 (-changeLogFile=liq.xml): {code:java} liquibase.parser.core.ParsedNodeException: Change set test2.xml::test::xpotkany does not exist at liquibase.changelog.ChangeSet.handleRollbackNode(ChangeSet.java:373) at liquibase.changelog.ChangeSet.handleChildNode(ChangeSet.java:298) at liquibase.changelog.ChangeSet.load(ChangeSet.java:292) at liquibase.changelog.DatabaseChangeLog.createChangeSet(DatabaseChangeLog.java:379) at liquibase.changelog.DatabaseChangeLog.handleChildNode(DatabaseChangeLog.java:240) at liquibase.changelog.DatabaseChangeLog.load(DatabaseChangeLog.java:211) at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:25) at liquibase.changelog.DatabaseChangeLog.include(DatabaseChangeLog.java:356) at liquibase.changelog.DatabaseChangeLog.handleChildNode(DatabaseChangeLog.java:248) at liquibase.changelog.DatabaseChangeLog.load(DatabaseChangeLog.java:211) at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:25) at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:215) at liquibase.Liquibase.rollback(Liquibase.java:385) at liquibase.Liquibase.rollback(Liquibase.java:362) at liquibase.integration.commandline.Main.doMigration(Main.java:1087) at liquibase.integration.commandline.Main.run(Main.java:175) at liquibase.integration.commandline.Main.main(Main.java:94) -- ********************************************************************* -- Rollback 1 Change(s) Script -- ********************************************************************* -- Change Log: liq.xml -- Ran at: 23.2.2015 10:09 -- Against: test@10.0.2.2@jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF-8 -- Liquibase version: 3.3.2 -- ********************************************************************* -- Lock Database UPDATE test.DATABASECHANGELOGLOCK SET LOCKED = 1, LOCKEDBY = 'okis01-NTB (192.168.56.1)', LOCKGRANTED = '2015-02-23 10:09:46.214' WHERE ID = 1 AND LOCKED = 0; -- Rolling Back ChangeSet: test2.xml::test2::xpotkany DROP VIEW test.admins; DELETE FROM test.DATABASECHANGELOG WHERE ID='test2' AND AUTHOR='xpotkany' AND FILENAME='test2.xml'; -- Release Database Lock UPDATE test.DATABASECHANGELOGLOCK SET LOCKED = 0, LOCKEDBY = NULL, LOCKGRANTED = NULL WHERE ID = 1; {code} Now, issues with this: # It doesn't detect referenced changelog # It continues even though exception happened. This point seems to be windows specific, as I tried it in debian and even though first point applies it does not continue operation and output is different (SAXException). This bug is very dangerous as liquibase does default rollback action even though different rollback action is specified. As you can see in SQL log, it's dropping stuff even though rollback should result in updated view.

    JIRA | 2 years ago | Gabriel Potkány
    liquibase.parser.core.ParsedNodeException: Change set test2.xml::test::xpotkany does not exist

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. liquibase.parser.core.ParsedNodeException

      Multiple nodes match null/comment

      at liquibase.parser.core.ParsedNode.getChild()
    2. Liquibase Core
      Liquibase.update
      1. liquibase.parser.core.ParsedNode.getChild(ParsedNode.java:171)
      2. liquibase.parser.core.ParsedNode.getChildValue(ParsedNode.java:259)
      3. liquibase.parser.core.ParsedNode.getChildValue(ParsedNode.java:206)
      4. liquibase.changelog.ChangeSet.load(ChangeSet.java:250)
      5. liquibase.changelog.DatabaseChangeLog.createChangeSet(DatabaseChangeLog.java:310)
      6. liquibase.changelog.DatabaseChangeLog.handleChildNode(DatabaseChangeLog.java:200)
      7. liquibase.changelog.DatabaseChangeLog.load(DatabaseChangeLog.java:193)
      8. liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:25)
      9. liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:208)
      10. liquibase.Liquibase.update(Liquibase.java:186)
      11. liquibase.Liquibase.update(Liquibase.java:245)
      11 frames