Uploaded image for project: 'Red Hat Decision Manager'
  1. Red Hat Decision Manager
  2. RHDM-1849

Drools in-memory database tests fail due to upgrade of H2 driver version to 1.4.197

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 7.13.0.GA
    • None
    • None
    • None
    • Persistence tests against H2 database

    • 1
    • False
    • False
    • ER1
    • ?
    • 2021 Week 49-51 (from Dec 6th), 2022 Week 02-04 (from Jan 10)

      H2 is trying to parse some key/value properties from QE automation framework as part of JDBC URL:

      Caused by: org.h2.jdbc.JdbcSQLException: Data conversion error converting "key:DB_CLOSE_ON_EXIT value:FALSEtcp://localhost/target/./persistence-test" [22018-197] 

      Connection URL (QE automation):

      public static final String H2_CONNECTION_URL = "jdbc:h2:mem:" + H2_DATABASE + ";MVCC=TRUE;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE"; 

      The extra value which is concatenated to connection URL can be found at PersistenceUtil class in the Drools repository:

      "tcp://localhost/target/./persistence-test"

      After removing this extra value the H2 tests start to pass (locally). I couldn't find the reason of adding this to the connection URL. According to the syntax shown in the error message, the connection URL should be something like this:

      jdbc:h2:mem:testtcp://localhost/target/./persistence-test;MVCC=TRUE;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE

      Syntax:

      jdbc:h2:{ {.|mem:}[name] | [file:]fileName | {tcp|ssl}:[//]server[:port][,server2[:port]]/name }[;key=value...] 

              drosabrno Daniel Rosa
              drosabrno Daniel Rosa
              Daniel Rosa Daniel Rosa
              Daniel Rosa Daniel Rosa
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: