accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Newton (JIRA)" <>
Subject [jira] [Created] (ACCUMULO-3745) deadlock in SourceSwitchingIterator
Date Wed, 22 Apr 2015 16:11:59 GMT
Eric Newton created ACCUMULO-3745:

             Summary: deadlock in SourceSwitchingIterator
                 Key: ACCUMULO-3745
             Project: Accumulo
          Issue Type: Bug
          Components: tserver
    Affects Versions: 1.6.1
         Environment: Large production cluster, with complex iterator trees.
            Reporter: Eric Newton
            Priority: Blocker
             Fix For: 1.7.0, 1.6.3

Details come from an offline cluster, so it's difficult to reproduce the exact details.  A
very complex iterator was running over tablet. "deepCopy" may have been called a couple dozen
times, which may have contributed to the problem.

Relevant facts:

A scan and a minor compaction created a deadlock which was detected by the java runtime.

"Query... ":
  waiting to lock monitor 0x1234 (object 0x1234, a java.util.Collections$SynchronizedRandomAccessList),

  which is held by "minor compactor 1"
"minor compactor 1":
 waiting to lock monitor 0x9876 (object 0x9876, a org.apache.accumulo.core.iterators.system.SourceSwitchingIterator),

 which is held by "Query..."

Java stacks:

  at java.util.Collections@SynchronizedCollection.add(
  - waiting to lock <0x1234> (a java.util.Collections$SynchronizedRandomAccessList)
  at org.apache.accumulo.core.iterators.system.SourceSwitchingIterator.<init>(
 at org.apache.accumulo.core.iterators.system.SourceSwitchingIterator.deepCopy(SourceSwitchingIterator:85)
 - locked <0x9876> (a org.apache.accumulo.core.iterators.system.SourceSwitchingIterator)
  ... PartialMutationSkippingIterator.deepCopy(
 ... InMemoryMap#MemoryIterator.deepCopy(


"minor compactor 1":
 at org.apache.accumulo.core.iterators.system.SourceSwitchingIterarot._switchNow(SourceSwitchingIterator:171)
 - waiting to lock <0x9876> (a org.apache.accumulo.core.iterators.system.SourceSwitchingIterator)
 at org.apache.accumulo.iterators.system.SourceSwitchingIterator.switchNow(
 locked <0x1234> (a java.util.Collections#SynhronizedRandomAccessList)
 at org.apache.accumulo.tserver.InMemoryMap$MemoryIterator.switchNow(

This message was sent by Atlassian JIRA

View raw message