[ 
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)

Reply via email to