[ https://issues.apache.org/jira/browse/IGNITE-20526?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Evgeny Stanilovsky updated IGNITE-20526: ---------------------------------------- Summary: JDBC2 (thin client) throws IllegalMonitorStateException if property ignite.jdbc.nodeId is filled (was: JDBC2 (thin client) throws IllegalMonitorStateException if property ignite.jdbc..nodeId is filled) > JDBC2 (thin client) throws IllegalMonitorStateException if property > ignite.jdbc.nodeId is filled > ------------------------------------------------------------------------------------------------ > > Key: IGNITE-20526 > URL: https://issues.apache.org/jira/browse/IGNITE-20526 > Project: Ignite > Issue Type: Improvement > Components: sql > Affects Versions: 2.15 > Reporter: Evgeny Stanilovsky > Priority: Major > Attachments: JdbcComplexQuerySelfTest.java > > > Any sql query with non empty resultset will throw exception, if jdbc2 (thin) > is used and operates under REPLICATED caches: > {noformat} > Caused by: java.lang.IllegalMonitorStateException: attempt to unlock read > lock, not locked by current thread > at > java.base/java.util.concurrent.locks.ReentrantReadWriteLock$Sync.unmatchedUnlockException(ReentrantReadWriteLock.java:448) > at > java.base/java.util.concurrent.locks.ReentrantReadWriteLock$Sync.tryReleaseShared(ReentrantReadWriteLock.java:432) > at > java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.releaseShared(AbstractQueuedSynchronizer.java:1382) > at > java.base/java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock(ReentrantReadWriteLock.java:897) > at > org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.unlock(GridH2Table.java:566) > at > org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.unlockReadInternal(GridH2Table.java:510) > at > org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.unlockTables(GridH2Table.java:1293) > at > org.apache.ignite.internal.processors.query.h2.H2ResultSetIterator.unlockTables(H2ResultSetIterator.java:267) > {noformat} > Step to reproduce, take for example existing > JdbcComplexQuerySelfTest > change cache mode into : > cache.setCacheMode(REPLICATED); > and change implementation with: > {noformat} > @Override protected void beforeTest() throws Exception { > Properties cfg = new Properties(); > cfg.setProperty(PROP_NODE_ID, grid(0).localNode().id().toString()); > stmt = DriverManager.getConnection(BASE_URL, cfg).createStatement(); > assert stmt != null; > assert !stmt.isClosed(); > } > {noformat} > also, with *lazy=false* upper case is not reproduced. -- This message was sent by Atlassian Jira (v8.20.10#820010)