Hello,
I am running the oak benchmarks against PostgreSQL database. So far,
things look good, however some tests fail with a database exception.
Any advice on how to make it work?
I'm using PostgreSQL 9.6 from Debian Stretch with the following:
Name | Owner | Encoding | Collate | Ctype | Access
privileges
------------+----------+----------+-------------+-------------+-----------------------
oak_test | prd | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
Regards,
````
java -jar oak-benchmarks-1.8-SNAPSHOT.jar benchmark
--rdbjdbcuri="jdbc:postgresql://localhost:5432/oak_test?readOnly=true"
--rdbjdbcuser=test --rdbjdbcpasswd=test --rdbjdbctableprefix=jcr Oak-RDB
ConcurrentReadTest
Apache Jackrabbit Oak 1.8-SNAPSHOT
# ConcurrentReadTest C min 10% 50% 90%
max N
06:43:13.248 [main] INFO o.a.j.o.p.d.LastRevRecoveryAgent - Recovering
candidates modified after: [2017-06-06 06:17:55.898] for clusterId [1]
[sweepRev: r15c7b68aa3a-0-1]
06:43:13.251 [main] INFO o.a.j.o.p.d.LastRevRecoveryAgent - Performing
Last Revision Recovery for clusterNodeId 1
06:43:14.945 [main] ERROR o.a.j.o.p.d.rdb.RDBDocumentStore - SQL
exception on query
org.apache.jackrabbit.oak.plugins.document.DocumentStoreException:
unexpected query result:
'11:/oak:index/nodetype/:index/nt%3Afolder/rb82ee8d2/folder-0/folder-1/folder-5/folder-10/folder-18/folder-8'
<
'11:/oak:index/nodetype/:index/nt%3Afolder/rb82ee8d2/folder-0/folder-1/folder-5/folder-10/folder-1/folder-0'
< 'null' - broken DB collation?
at
org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStoreJDBC.query(RDBDocumentStoreJDBC.java:478)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.internalQuery(RDBDocumentStore.java:1514)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.query(RDBDocumentStore.java:271)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.util.Utils$2$1.nextBatch(Utils.java:675)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.util.Utils$2$1.computeNext(Utils.java:659)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.util.Utils$2$1.computeNext(Utils.java:649)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
com.google.common.collect.Iterators$7.computeNext(Iterators.java:645)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
com.google.common.collect.TransformedIterator.hasNext(TransformedIterator.java:43)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
com.google.common.collect.Iterators$7.computeNext(Iterators.java:645)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at com.google.common.collect.Iterators$6.hasNext(Iterators.java:612)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.NodeDocumentSweeper.performSweep(NodeDocumentSweeper.java:142)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.NodeDocumentSweeper.sweep(NodeDocumentSweeper.java:116)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.LastRevRecoveryAgent.recover(LastRevRecoveryAgent.java:205)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.LastRevRecoveryAgent.recover(LastRevRecoveryAgent.java:176)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.LastRevRecoveryAgent.recoverCandidates(LastRevRecoveryAgent.java:444)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.LastRevRecoveryAgent.recover(LastRevRecoveryAgent.java:148)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.checkLastRevRecovery(DocumentNodeStore.java:730)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.<init>(DocumentNodeStore.java:631)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.DocumentMK$Builder.getNodeStore(DocumentMK.java:867)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.DocumentMK.<init>(DocumentMK.java:154)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.DocumentMK$Builder.open(DocumentMK.java:1196)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.fixture.OakFixture$2.setUpCluster(OakFixture.java:219)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.fixture.OakRepositoryFixture.setUpCluster(OakRepositoryFixture.java:140)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.fixture.OakRepositoryFixture.setUpCluster(OakRepositoryFixture.java:136)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.benchmark.AbstractTest.createRepository(AbstractTest.java:655)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.benchmark.AbstractTest.run(AbstractTest.java:202)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.benchmark.BenchmarkRunner.main(BenchmarkRunner.java:478)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.run.BenchmarkCommand.execute(BenchmarkCommand.java:27)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at org.apache.jackrabbit.oak.run.Main.main(Main.java:54)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
06:43:14.952 [main] ERROR o.a.j.o.p.d.MissingLastRevSeeker - Failed to
release the recovery lock for clusterNodeId 1
org.apache.jackrabbit.oak.plugins.document.DocumentStoreException:
org.postgresql.util.PSQLException: Cannot change transaction read-only
property in the middle of a transaction.
at
org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.readDocumentUncached(RDBDocumentStore.java:1699)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.readDocumentCached(RDBDocumentStore.java:1193)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.internalCreateOrUpdate(RDBDocumentStore.java:1299)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.findAndUpdate(RDBDocumentStore.java:535)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.MissingLastRevSeeker.releaseRecoveryLock(MissingLastRevSeeker.java:162)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.LastRevRecoveryAgent.recoverCandidates(LastRevRecoveryAgent.java:451)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.LastRevRecoveryAgent.recover(LastRevRecoveryAgent.java:148)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.checkLastRevRecovery(DocumentNodeStore.java:730)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.<init>(DocumentNodeStore.java:631)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.DocumentMK$Builder.getNodeStore(DocumentMK.java:867)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.DocumentMK.<init>(DocumentMK.java:154)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.DocumentMK$Builder.open(DocumentMK.java:1196)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.fixture.OakFixture$2.setUpCluster(OakFixture.java:219)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.fixture.OakRepositoryFixture.setUpCluster(OakRepositoryFixture.java:140)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.fixture.OakRepositoryFixture.setUpCluster(OakRepositoryFixture.java:136)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.benchmark.AbstractTest.createRepository(AbstractTest.java:655)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.benchmark.AbstractTest.run(AbstractTest.java:202)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.benchmark.BenchmarkRunner.main(BenchmarkRunner.java:478)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.run.BenchmarkCommand.execute(BenchmarkCommand.java:27)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at org.apache.jackrabbit.oak.run.Main.main(Main.java:54)
[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
Caused by: org.postgresql.util.PSQLException: Cannot change transaction
read-only property in the middle of a transaction.
at
org.postgresql.jdbc.PgConnection.setReadOnly(PgConnection.java:692)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source) ~[na:na]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:1.8.0_131]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_131]
at
org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor.invoke(AbstractCreateStatementInterceptor.java:79)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.tomcat.jdbc.pool.interceptor.StatementCache.invoke(StatementCache.java:184)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.tomcat.jdbc.pool.interceptor.ConnectionState.invoke(ConnectionState.java:152)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor.invoke(AbstractCreateStatementInterceptor.java:79)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.tomcat.jdbc.pool.TrapException.invoke(TrapException.java:40)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor.invoke(AbstractCreateStatementInterceptor.java:79)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:81)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at com.sun.proxy.$Proxy3.setReadOnly(Unknown Source) ~[na:na]
at
org.apache.jackrabbit.oak.plugins.document.rdb.RDBConnectionHandler.setReadOnly(RDBConnectionHandler.java:177)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.rdb.RDBConnectionHandler.getROConnection(RDBConnectionHandler.java:62)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
at
org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.readDocumentUncached(RDBDocumentStore.java:1683)
~[oak-benchmarks-1.8-SNAPSHOT.jar:1.8-SNAPSHOT]
... 19 common frames omitted
org.apache.jackrabbit.oak.plugins.document.DocumentStoreException:
org.postgresql.util.PSQLException: Cannot change transaction read-only
property in the middle of a transaction.
at
org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.readDocumentUncached(RDBDocumentStore.java:1699)
at
org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.readDocumentCached(RDBDocumentStore.java:1193)
at
org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.internalCreateOrUpdate(RDBDocumentStore.java:1299)
at
org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.findAndUpdate(RDBDocumentStore.java:535)
at
org.apache.jackrabbit.oak.plugins.document.MissingLastRevSeeker.releaseRecoveryLock(MissingLastRevSeeker.java:162)
at
org.apache.jackrabbit.oak.plugins.document.LastRevRecoveryAgent.recoverCandidates(LastRevRecoveryAgent.java:451)
at
org.apache.jackrabbit.oak.plugins.document.LastRevRecoveryAgent.recover(LastRevRecoveryAgent.java:148)
at
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.checkLastRevRecovery(DocumentNodeStore.java:730)
at
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStore.<init>(DocumentNodeStore.java:631)
at
org.apache.jackrabbit.oak.plugins.document.DocumentMK$Builder.getNodeStore(DocumentMK.java:867)
at
org.apache.jackrabbit.oak.plugins.document.DocumentMK.<init>(DocumentMK.java:154)
at
org.apache.jackrabbit.oak.plugins.document.DocumentMK$Builder.open(DocumentMK.java:1196)
at
org.apache.jackrabbit.oak.fixture.OakFixture$2.setUpCluster(OakFixture.java:219)
at
org.apache.jackrabbit.oak.fixture.OakRepositoryFixture.setUpCluster(OakRepositoryFixture.java:140)
at
org.apache.jackrabbit.oak.fixture.OakRepositoryFixture.setUpCluster(OakRepositoryFixture.java:136)
at
org.apache.jackrabbit.oak.benchmark.AbstractTest.createRepository(AbstractTest.java:655)
at
org.apache.jackrabbit.oak.benchmark.AbstractTest.run(AbstractTest.java:202)
at
org.apache.jackrabbit.oak.benchmark.BenchmarkRunner.main(BenchmarkRunner.java:478)
at
org.apache.jackrabbit.oak.run.BenchmarkCommand.execute(BenchmarkCommand.java:27)
at org.apache.jackrabbit.oak.run.Main.main(Main.java:54)
Caused by: org.postgresql.util.PSQLException: Cannot change transaction
read-only property in the middle of a transaction.
at org.postgresql.jdbc.PgConnection.setReadOnly(PgConnection.java:692)
at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126)
at
org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108)
at
org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor.invoke(AbstractCreateStatementInterceptor.java:79)
at
org.apache.tomcat.jdbc.pool.interceptor.StatementCache.invoke(StatementCache.java:184)
at
org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108)
at
org.apache.tomcat.jdbc.pool.interceptor.ConnectionState.invoke(ConnectionState.java:152)
at
org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108)
at
org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor.invoke(AbstractCreateStatementInterceptor.java:79)
at
org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108)
at
org.apache.tomcat.jdbc.pool.TrapException.invoke(TrapException.java:40)
at
org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108)
at
org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor.invoke(AbstractCreateStatementInterceptor.java:79)
at
org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:108)
at
org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:81)
at com.sun.proxy.$Proxy3.setReadOnly(Unknown Source)
at
org.apache.jackrabbit.oak.plugins.document.rdb.RDBConnectionHandler.setReadOnly(RDBConnectionHandler.java:177)
at
org.apache.jackrabbit.oak.plugins.document.rdb.RDBConnectionHandler.getROConnection(RDBConnectionHandler.java:62)
at
org.apache.jackrabbit.oak.plugins.document.rdb.RDBDocumentStore.readDocumentUncached(RDBDocumentStore.java:1683)
... 19 more
````
signature.asc
Description: OpenPGP digital signature
