unable to setup gerrit with mysql on gerrit-3.0.3

451 views
Skip to first unread message

Aman Kumar

unread,
Oct 17, 2019, 3:59:22 PM10/17/19
to Repo and Gerrit Discussion
java -jar gerrit*.war MigrateAccountPatchReviewDb

target Url: jdbc:mysql://localhost:3306/reviewdb?user=gerrit&password=admin
Exception in thread "main" com.google.gerrit.exceptions.StorageException: create failure on ACCOUNT_PATCH_REVIEWS
        at com.google.gerrit.server.schema.MysqlAccountPatchReviewStore.convertError(MysqlAccountPatchReviewStore.java:51)
        at com.google.gerrit.server.schema.JdbcAccountPatchReviewStore.createTableIfNotExists(JdbcAccountPatchReviewStore.java:185)
        at com.google.gerrit.pgm.MigrateAccountPatchReviewDb.run(MigrateAccountPatchReviewDb.java:72)
        at com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:61)
        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 com.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLauncher.java:224)
        at com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:120)
        at com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:65)
        at Main.main(Main.java:28)
Caused by: org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
        at org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1429)
        at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371)
        at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
        at com.google.gerrit.server.schema.JdbcAccountPatchReviewStore.createTableIfNotExists(JdbcAccountPatchReviewStore.java:181)
        ... 10 more
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:817)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1420)
        ... 13 more

Aman Kumar

unread,
Oct 17, 2019, 4:02:39 PM10/17/19
to Repo and Gerrit Discussion
i have checked jdbc connection too https://help.ubuntu.com/community/JDBCAndMySQL  it did print "it works"
and i changed database character set to utf8 too

Aman Kumar

unread,
Oct 17, 2019, 4:28:43 PM10/17/19
to Repo and Gerrit Discussion
okay solved this error but pasting mysql-connector-java.jar in lib folder of gerrit home


but now i have new error

Exception in thread "main" org.h2.jdbc.JdbcSQLException: Table "ACCOUNT_PATCH_REVIEWS" not found; SQL statement:
SELECT account_id, change_id, patch_set_id, file_name FROM account_patch_reviews LIMIT ? OFFSET ? [42102-176]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)
        at org.h2.message.DbException.get(DbException.java:178)
        at org.h2.message.DbException.get(DbException.java:154)
        at org.h2.command.Parser.readTableOrView(Parser.java:5213)
        at org.h2.command.Parser.readTableFilter(Parser.java:1220)
        at org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:1859)
        at org.h2.command.Parser.parseSelectSimple(Parser.java:1968)
        at org.h2.command.Parser.parseSelectSub(Parser.java:1853)
        at org.h2.command.Parser.parseSelectUnion(Parser.java:1674)
        at org.h2.command.Parser.parseSelect(Parser.java:1662)
        at org.h2.command.Parser.parsePrepared(Parser.java:434)
        at org.h2.command.Parser.parse(Parser.java:306)
        at org.h2.command.Parser.parse(Parser.java:278)
        at org.h2.command.Parser.prepareCommand(Parser.java:243)
        at org.h2.engine.Session.prepareLocal(Session.java:442)
        at org.h2.engine.Session.prepareCommand(Session.java:384)
        at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1188)
        at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:73)
        at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:276)
        at org.apache.commons.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:281)
        at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:313)
        at com.google.gerrit.pgm.MigrateAccountPatchReviewDb.run(MigrateAccountPatchReviewDb.java:82)
        at com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:61)
        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 com.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLauncher.java:224)
        at com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:120)
        at com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:65)
        at Main.main(Main.java:28)


David Ostrovsky

unread,
Oct 17, 2019, 5:37:03 PM10/17/19
to Repo and Gerrit Discussion


Am Donnerstag, 17. Oktober 2019 22:28:43 UTC+2 schrieb Aman Kumar:
okay solved this error but pasting mysql-connector-java.jar in lib folder of gerrit home


but now i have new error

Exception in thread "main" org.h2.jdbc.JdbcSQLException: Table "ACCOUNT_PATCH_REVIEWS" not found; SQL statement:
SELECT account_id, change_id, patch_set_id, file_name FROM account_patch_reviews LIMIT ? OFFSET ? [42102-176]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)

It doesn't make any sense to me. You are talking about MySQL server, but the
exception above is from H2 database. In Gerrit 3.x ReviewDb was removed. The
database is only used for ACCOUNT_PATCH_REVIEWS table and per
default it's supposed to use H2-Database. To change that you need: [1], [2].

Reply all
Reply to author
Forward
0 new messages