Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[kapua-dev] Using the KapuaLiquibaseClient with an external H2 database

Hello,

I am trying to use the Kapua Device Registry engine to implement the Hono Device registry API. In order to to that I used the original work of Dejan B. that you can find here.
I have a small PoC application working and I want to have this running in the proper docker way, i.e. splitting the application between several containers.

In order to do that I need to use the liquibase client to connect to an external database, accessible through the network.
I've been playing a little bit with the client and there is an issue when I tried to set the Jdbc URL to an external server.
The issue is that the LiquibaseClient will try to create "DATABASECHANGELOG" multiple times.

Here is my test scenario :
Running the H2 database in another JVM : java -cp h2-1.4.197.jar org.h2.tools.Server
create the database with
CREATE SCHEMA IF NOT EXISTS KAPUA;

Then in https://github.com/eclipse/kapua/blob/develop/service/liquibase/src/test/java/org/eclipse/kapua/service/liquibase/KapuaLiquibaseClientTest.java, replacing "jdbc:h2:mem:kapua;MODE=MySQL" with "jdbc:h2:tcp://localhost:9092/~/kapua;MODE=MySQL" and specify the correct username when needed.

Then, if I run the tests with mvn verify (from the directory kapua/service/liquibase/ ), the tests fails :
[main] ERROR o.e.k.s.l.KapuaLiquibaseClient - Error while running Liquibase scripts!
liquibase.exception.DatabaseException: Table "DATABASECHANGELOG" already exists;

I have atached the full output to this email. Some bits are in french sorry, But they are bot duplicates of the english errors.

Is that expected ? How can we get the liquibase client to play nice with an external H2 instance ?
I'm happy to provide more details if you need!

btw, you can have a look at this device registry project here, any feedback is welcome ! :)

Thanks,
Jean-Baptiste Trystram
[INFO] Scanning for projects...
[INFO] 
[INFO] -----------------< org.eclipse.kapua:kapua-liquibase >------------------
[INFO] Building kapua-liquibase 1.1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-checkstyle-plugin:2.17:check (checkstyle-check) @ kapua-liquibase ---
[INFO] 
[INFO] --- jacoco-maven-plugin:0.7.9:prepare-agent (default-prepare-agent) @ kapua-liquibase ---
[INFO] argLine set to -javaagent:/home/jibou/.m2/repository/org/jacoco/org.jacoco.agent/0.7.9/org.jacoco.agent-0.7.9-runtime.jar=destfile=/home/jibou/github/kapua/service/liquibase/target/jacoco.exec
[INFO] 
[INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ kapua-liquibase ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/jibou/github/kapua/service/liquibase/src/main/resources
[INFO] 
[INFO] --- maven-resources-plugin:3.0.2:copy-resources (process-about.html) @ kapua-liquibase ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.6.1:compile (default-compile) @ kapua-liquibase ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-resources-plugin:3.0.2:testResources (default-testResources) @ kapua-liquibase ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 3 resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.6.1:testCompile (default-testCompile) @ kapua-liquibase ---
[INFO] Nothing to compile - all classes are up to date
[INFO] 
[INFO] --- maven-surefire-plugin:2.20:test (default-test) @ kapua-liquibase ---
[INFO] 
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.eclipse.kapua.service.liquibase.KapuaLiquibaseClientTest
16:46:01.212 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Running Liquibase update with schema: Optional[foo]
16:46:01.286 [main] INFO  org.reflections.Reflections - Reflections took 23 ms to scan 3 urls, producing 1058 keys and 1064 values 
16:46:01.306 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Executing pre master files...
16:46:01.339 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - 	Master Liquibase files found: 0
16:46:01.342 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Executing pre master files... DONE!
16:46:01.342 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Executing master files...
16:46:01.342 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - 	Master Liquibase files found: 1
16:46:01.342 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - 		Excuting liquibase script: /tmp/kapua-liquibase/changelog-liquibase-master.xml
16:46:01.711 [main] ERROR o.e.k.s.l.KapuaLiquibaseClient - Error while running Liquibase scripts!
liquibase.exception.LockException: liquibase.exception.DatabaseException: Schéma "FOO" non trouvé
Schema "FOO" not found; SQL statement:
CREATE TABLE FOO.DATABASECHANGELOGLOCK (ID INT NOT NULL, LOCKED BOOLEAN NOT NULL, LOCKGRANTED TIMESTAMP, LOCKEDBY VARCHAR(255), CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID)) [90079-192] [Failed SQL: CREATE TABLE FOO.DATABASECHANGELOGLOCK (ID INT NOT NULL, LOCKED BOOLEAN NOT NULL, LOCKGRANTED TIMESTAMP, LOCKEDBY VARCHAR(255), CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID))]
	at liquibase.lockservice.StandardLockService.acquireLock(StandardLockService.java:289)
	at liquibase.lockservice.StandardLockService.waitForLock(StandardLockService.java:207)
	at liquibase.Liquibase.update(Liquibase.java:184)
	at liquibase.Liquibase.update(Liquibase.java:179)
	at liquibase.Liquibase.update(Liquibase.java:175)
	at liquibase.Liquibase.update(Liquibase.java:168)
	at org.eclipse.kapua.service.liquibase.KapuaLiquibaseClient.executeMasters(KapuaLiquibaseClient.java:137)
	at org.eclipse.kapua.service.liquibase.KapuaLiquibaseClient.loadResourcesStatic(KapuaLiquibaseClient.java:113)
	at org.eclipse.kapua.service.liquibase.KapuaLiquibaseClient.update(KapuaLiquibaseClient.java:68)
	at org.eclipse.kapua.service.liquibase.KapuaLiquibaseClientTest.shouldCreateAttempToUseCustomSchema(KapuaLiquibaseClientTest.java:108)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.ExpectException.evaluate(ExpectException.java:19)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:236)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:386)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:323)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:143)
Caused by: liquibase.exception.DatabaseException: Schéma "FOO" non trouvé
Schema "FOO" not found; SQL statement:
CREATE TABLE FOO.DATABASECHANGELOGLOCK (ID INT NOT NULL, LOCKED BOOLEAN NOT NULL, LOCKGRANTED TIMESTAMP, LOCKEDBY VARCHAR(255), CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID)) [90079-192] [Failed SQL: CREATE TABLE FOO.DATABASECHANGELOGLOCK (ID INT NOT NULL, LOCKED BOOLEAN NOT NULL, LOCKGRANTED TIMESTAMP, LOCKEDBY VARCHAR(255), CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID))]
	at liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:356)
	at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:57)
	at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:125)
	at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:109)
	at liquibase.lockservice.StandardLockService.init(StandardLockService.java:97)
	at liquibase.lockservice.StandardLockService.acquireLock(StandardLockService.java:246)
	... 36 common frames omitted
Caused by: org.h2.jdbc.JdbcSQLException: Schéma "FOO" non trouvé
Schema "FOO" not found; SQL statement:
CREATE TABLE FOO.DATABASECHANGELOGLOCK (ID INT NOT NULL, LOCKED BOOLEAN NOT NULL, LOCKGRANTED TIMESTAMP, LOCKEDBY VARCHAR(255), CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID)) [90079-192]
	at org.h2.engine.SessionRemote.done(SessionRemote.java:624)
	at org.h2.command.CommandRemote.prepare(CommandRemote.java:68)
	at org.h2.command.CommandRemote.<init>(CommandRemote.java:45)
	at org.h2.engine.SessionRemote.prepareCommand(SessionRemote.java:494)
	at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1202)
	at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:170)
	at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:158)
	at liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:352)
	... 41 common frames omitted
16:46:01.716 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Running Liquibase update with schema: Optional.empty
16:46:01.726 [main] INFO  org.reflections.Reflections - Reflections took 8 ms to scan 3 urls, producing 1058 keys and 1064 values 
16:46:01.731 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Executing pre master files...
16:46:01.731 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - 	Master Liquibase files found: 0
16:46:01.731 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Executing pre master files... DONE!
16:46:01.731 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Executing master files...
16:46:01.731 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - 	Master Liquibase files found: 1
16:46:01.731 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - 		Excuting liquibase script: /tmp/kapua-liquibase/changelog-liquibase-master.xml
16:46:02.236 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Executing master files... DONE!
16:46:02.236 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Executing post master files...
16:46:02.237 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - 	Master Liquibase files found: 0
16:46:02.237 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Executing post master files... DONE!
16:46:02.237 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Running Liquibase update with schema: Optional.empty
16:46:02.243 [main] INFO  org.reflections.Reflections - Reflections took 4 ms to scan 3 urls, producing 1058 keys and 1064 values 
16:46:02.246 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Executing pre master files...
16:46:02.246 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - 	Master Liquibase files found: 0
16:46:02.246 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Executing pre master files... DONE!
16:46:02.246 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Executing master files...
16:46:02.247 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - 	Master Liquibase files found: 1
16:46:02.247 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - 		Excuting liquibase script: /tmp/kapua-liquibase/changelog-liquibase-master.xml
16:46:02.273 [main] ERROR o.e.k.s.l.KapuaLiquibaseClient - Error while running Liquibase scripts!
liquibase.exception.DatabaseException: La table "DATABASECHANGELOG" existe déjà
Table "DATABASECHANGELOG" already exists; SQL statement:
CREATE TABLE PUBLIC.DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10)) [42101-192] [Failed SQL: CREATE TABLE PUBLIC.DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10))]
	at liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:356)
	at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:57)
	at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:125)
	at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:109)
	at liquibase.changelog.StandardChangeLogHistoryService.init(StandardChangeLogHistoryService.java:280)
	at liquibase.Liquibase.checkLiquibaseTables(Liquibase.java:1219)
	at liquibase.Liquibase.update(Liquibase.java:193)
	at liquibase.Liquibase.update(Liquibase.java:179)
	at liquibase.Liquibase.update(Liquibase.java:175)
	at liquibase.Liquibase.update(Liquibase.java:168)
	at org.eclipse.kapua.service.liquibase.KapuaLiquibaseClient.executeMasters(KapuaLiquibaseClient.java:137)
	at org.eclipse.kapua.service.liquibase.KapuaLiquibaseClient.loadResourcesStatic(KapuaLiquibaseClient.java:113)
	at org.eclipse.kapua.service.liquibase.KapuaLiquibaseClient.update(KapuaLiquibaseClient.java:68)
	at org.eclipse.kapua.service.liquibase.KapuaLiquibaseClientTest.shouldCreateTableOnlyOnce(KapuaLiquibaseClientTest.java:74)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:236)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:386)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:323)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:143)
Caused by: org.h2.jdbc.JdbcSQLException: La table "DATABASECHANGELOG" existe déjà
Table "DATABASECHANGELOG" already exists; SQL statement:
CREATE TABLE PUBLIC.DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10)) [42101-192]
	at org.h2.engine.SessionRemote.done(SessionRemote.java:624)
	at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:191)
	at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:184)
	at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:158)
	at liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:352)
	... 39 common frames omitted
16:46:02.278 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Running Liquibase update with schema: Optional.empty
16:46:02.283 [main] INFO  org.reflections.Reflections - Reflections took 3 ms to scan 3 urls, producing 1058 keys and 1064 values 
16:46:02.285 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Executing pre master files...
16:46:02.285 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - 	Master Liquibase files found: 0
16:46:02.285 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Executing pre master files... DONE!
16:46:02.285 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - Executing master files...
16:46:02.285 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - 	Master Liquibase files found: 1
16:46:02.285 [main] INFO  o.e.k.s.l.KapuaLiquibaseClient - 		Excuting liquibase script: /tmp/kapua-liquibase/changelog-liquibase-master.xml
16:46:02.310 [main] ERROR o.e.k.s.l.KapuaLiquibaseClient - Error while running Liquibase scripts!
liquibase.exception.DatabaseException: La table "DATABASECHANGELOG" existe déjà
Table "DATABASECHANGELOG" already exists; SQL statement:
CREATE TABLE PUBLIC.DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10)) [42101-192] [Failed SQL: CREATE TABLE PUBLIC.DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10))]
	at liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:356)
	at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:57)
	at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:125)
	at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:109)
	at liquibase.changelog.StandardChangeLogHistoryService.init(StandardChangeLogHistoryService.java:280)
	at liquibase.Liquibase.checkLiquibaseTables(Liquibase.java:1219)
	at liquibase.Liquibase.update(Liquibase.java:193)
	at liquibase.Liquibase.update(Liquibase.java:179)
	at liquibase.Liquibase.update(Liquibase.java:175)
	at liquibase.Liquibase.update(Liquibase.java:168)
	at org.eclipse.kapua.service.liquibase.KapuaLiquibaseClient.executeMasters(KapuaLiquibaseClient.java:137)
	at org.eclipse.kapua.service.liquibase.KapuaLiquibaseClient.loadResourcesStatic(KapuaLiquibaseClient.java:113)
	at org.eclipse.kapua.service.liquibase.KapuaLiquibaseClient.update(KapuaLiquibaseClient.java:68)
	at org.eclipse.kapua.service.liquibase.KapuaLiquibaseClientTest.shouldCreateTable(KapuaLiquibaseClientTest.java:55)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:272)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:236)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:386)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:323)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:143)
Caused by: org.h2.jdbc.JdbcSQLException: La table "DATABASECHANGELOG" existe déjà
Table "DATABASECHANGELOG" already exists; SQL statement:
CREATE TABLE PUBLIC.DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10)) [42101-192]
	at org.h2.engine.SessionRemote.done(SessionRemote.java:624)
	at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:191)
	at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:184)
	at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:158)
	at liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:352)
	... 39 common frames omitted
[ERROR] Tests run: 4, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 1.396 s <<< FAILURE! - in org.eclipse.kapua.service.liquibase.KapuaLiquibaseClientTest
[ERROR] shouldCreateTableOnlyOnce(org.eclipse.kapua.service.liquibase.KapuaLiquibaseClientTest)  Time elapsed: 0.559 s  <<< ERROR!
java.lang.RuntimeException: 
liquibase.exception.DatabaseException: La table "DATABASECHANGELOG" existe déjà
Table "DATABASECHANGELOG" already exists; SQL statement:
CREATE TABLE PUBLIC.DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10)) [42101-192] [Failed SQL: CREATE TABLE PUBLIC.DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10))]
	at org.eclipse.kapua.service.liquibase.KapuaLiquibaseClientTest.shouldCreateTableOnlyOnce(KapuaLiquibaseClientTest.java:74)
Caused by: liquibase.exception.DatabaseException: 
La table "DATABASECHANGELOG" existe déjà
Table "DATABASECHANGELOG" already exists; SQL statement:
CREATE TABLE PUBLIC.DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10)) [42101-192] [Failed SQL: CREATE TABLE PUBLIC.DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10))]
	at org.eclipse.kapua.service.liquibase.KapuaLiquibaseClientTest.shouldCreateTableOnlyOnce(KapuaLiquibaseClientTest.java:74)
Caused by: org.h2.jdbc.JdbcSQLException: 
La table "DATABASECHANGELOG" existe déjà
Table "DATABASECHANGELOG" already exists; SQL statement:
CREATE TABLE PUBLIC.DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10)) [42101-192]
	at org.eclipse.kapua.service.liquibase.KapuaLiquibaseClientTest.shouldCreateTableOnlyOnce(KapuaLiquibaseClientTest.java:74)

[ERROR] shouldCreateTable(org.eclipse.kapua.service.liquibase.KapuaLiquibaseClientTest)  Time elapsed: 0.037 s  <<< ERROR!
java.lang.RuntimeException: 
liquibase.exception.DatabaseException: La table "DATABASECHANGELOG" existe déjà
Table "DATABASECHANGELOG" already exists; SQL statement:
CREATE TABLE PUBLIC.DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10)) [42101-192] [Failed SQL: CREATE TABLE PUBLIC.DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10))]
	at org.eclipse.kapua.service.liquibase.KapuaLiquibaseClientTest.shouldCreateTable(KapuaLiquibaseClientTest.java:55)
Caused by: liquibase.exception.DatabaseException: 
La table "DATABASECHANGELOG" existe déjà
Table "DATABASECHANGELOG" already exists; SQL statement:
CREATE TABLE PUBLIC.DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10)) [42101-192] [Failed SQL: CREATE TABLE PUBLIC.DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10))]
	at org.eclipse.kapua.service.liquibase.KapuaLiquibaseClientTest.shouldCreateTable(KapuaLiquibaseClientTest.java:55)
Caused by: org.h2.jdbc.JdbcSQLException: 
La table "DATABASECHANGELOG" existe déjà
Table "DATABASECHANGELOG" already exists; SQL statement:
CREATE TABLE PUBLIC.DATABASECHANGELOG (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10)) [42101-192]
	at org.eclipse.kapua.service.liquibase.KapuaLiquibaseClientTest.shouldCreateTable(KapuaLiquibaseClientTest.java:55)

[INFO] 
[INFO] Results:
[INFO] 
[ERROR] Errors: 
[ERROR]   KapuaLiquibaseClientTest.shouldCreateTable:55 » Runtime liquibase.exception.Da...
[ERROR]   KapuaLiquibaseClientTest.shouldCreateTableOnlyOnce:74 » Runtime liquibase.exce...
[INFO] 
[ERROR] Tests run: 4, Failures: 0, Errors: 2, Skipped: 0
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.329 s
[INFO] Finished at: 2018-11-22T16:46:02+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.20:test (default-test) on project kapua-liquibase: There are test failures.
[ERROR] 
[ERROR] Please refer to /home/jibou/github/kapua/service/liquibase/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date]-jvmRun[N].dump, [date].dumpstream and [date]-jvmRun[N].dumpstream.
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException

Back to the top