Evgeny Stanilovsky created IGNITE-20526:
-------------------------------------------
Summary: 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
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
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}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)