Uploaded image for project: 'Apache AsterixDB'
  1. Apache AsterixDB
  2. ASTERIXDB-3451

CloudCachedPage.afterRead(): attempt to unlock read lock, not locked by current thread

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 0.9.10
    • 0.9.10
    • STO - Storage

    Description

      releasing the read lock could be called twice when pin of the next page fails:

      [SAO:JID:0.33973:TAID:TID:ANID:ODID:6:0:10:0] Failure closing a closeable resource
      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:1094) ~[?:?]
          at java.base/java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock(ReentrantReadWriteLock.java:897) ~[?:?]
          at org.apache.hyracks.cloud.buffercache.page.CloudCachedPage.afterRead(CloudCachedPage.java:44) ~[hyracks-cloud.jar:1.0.0-2133]
          at org.apache.hyracks.storage.am.lsm.btree.column.cloud.buffercache.read.CloudColumnReadContext.onUnpin(CloudColumnReadContext.java:92) ~[hyracks-storage-am-lsm-btree-column.jar:1.0.0-2133]
          at org.apache.hyracks.storage.common.buffercache.BufferCache.unpin(BufferCache.java:607) ~[hyracks-storage-common.jar:1.0.0-2133]
          at org.apache.hyracks.storage.am.lsm.btree.column.impls.btree.ColumnBTreeRangeSearchCursor.releasePages(ColumnBTreeRangeSearchCursor.java:190) ~[hyracks-storage-am-lsm-btree-column.jar:1.0.0-2133]
          at org.apache.hyracks.storage.am.lsm.btree.column.impls.btree.ColumnBTreeRangeSearchCursor.doClose(ColumnBTreeRangeSearchCursor.java:263) ~[hyracks-storage-am-lsm-btree-column.jar:1.0.0-2133]
          at org.apache.hyracks.storage.common.EnforcedIndexCursor.close(EnforcedIndexCursor.java:118) ~[hyracks-storage-common.jar:1.0.0-2133]
          at org.apache.hyracks.storage.am.lsm.common.impls.LSMIndexSearchCursor.doClose(LSMIndexSearchCursor.java:131) ~[hyracks-storage-am-lsm-common.jar:1.0.0-2133]
          at org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTreeRangeSearchCursor.doClose(LSMBTreeRangeSearchCursor.java:71) ~[hyracks-storage-am-lsm-btree.jar:1.0.0-2133]
          at org.apache.hyracks.storage.common.EnforcedIndexCursor.close(EnforcedIndexCursor.java:118) ~[hyracks-storage-common.jar:1.0.0-2133]
          at org.apache.hyracks.storage.am.lsm.btree.impls.LSMBTreeSearchCursor.doClose(LSMBTreeSearchCursor.java:95) ~[hyracks-storage-am-lsm-btree.jar:1.0.0-2133]
          at org.apache.hyracks.storage.common.EnforcedIndexCursor.close(EnforcedIndexCursor.java:118) ~[hyracks-storage-common.jar:1.0.0-2133]
          at org.apache.hyracks.storage.am.common.util.ResourceReleaseUtils.close(ResourceReleaseUtils.java:50) ~[hyracks-storage-am-common.jar:1.0.0-2133]
          at org.apache.hyracks.storage.am.common.dataflow.IndexSearchOperatorNodePushable.releaseResources(IndexSearchOperatorNodePushable.java:367) ~[hyracks-storage-am-common.jar:1.0.0-2133]
          at org.apache.hyracks.storage.am.common.dataflow.IndexSearchOperatorNodePushable.close(IndexSearchOperatorNodePushable.java:331) ~[hyracks-storage-am-common.jar:1.0.0-2133]
          at org.apache.hyracks.algebricks.runtime.operators.std.EmptyTupleSourceRuntimeFactory$1.close(EmptyTupleSourceRuntimeFactory.java:61) ~[algebricks-runtime.jar:1.0.0-2133]
          at org.apache.hyracks.algebricks.runtime.operators.meta.AlgebricksMetaOperatorDescriptor$SourcePushRuntime.initialize(AlgebricksMetaOperatorDescriptor.java:181) ~[algebricks-runtime.jar:1.0.0-2133]
          at org.apache.hyracks.api.rewriter.runtime.SuperActivityOperatorNodePushable.lambda$runInParallel$0(SuperActivityOperatorNodePushable.java:233) ~[hyracks-api.jar:1.0.0-2133]
          at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
          at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
          at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
          at java.base/java.lang.Thread.run(Thread.java:840) [?:?]

      Attachments

        Activity

          People

            wyk Wail Y. Alkowaileet
            wyk Wail Y. Alkowaileet
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: