[ 
https://issues.apache.org/jira/browse/NIFI-4167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16080822#comment-16080822
 ] 

ASF subversion and git services commented on NIFI-4167:
-------------------------------------------------------

Commit 87e062ff557d18aa3f1f7e2906357c81236f0328 in nifi's branch 
refs/heads/master from [~markap14]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=87e062f ]

NIFI-4167: StandardResourceClaimManager should not synchronize on a 
ResourceClaim in order to determine the claim count. This closes #1996


> Occasional deadlock when trying to clean up old Content Claims
> --------------------------------------------------------------
>
>                 Key: NIFI-4167
>                 URL: https://issues.apache.org/jira/browse/NIFI-4167
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework
>            Reporter: Mark Payne
>            Assignee: Mark Payne
>            Priority: Critical
>             Fix For: 1.4.0
>
>
> Occasionally we'll see the Content Repository stop cleaning up old claims. A 
> thread dump shows:
> {code}
> "FileSystemRepository Workers Thread-3" Id=97 BLOCKED on 
> org.apache.nifi.controller.repository.claim.StandardResourceClaim@6b5aa020 
> at 
> org.apache.nifi.controller.repository.claim.StandardResourceClaimManager.getClaimantCount(StandardResourceClaimManager.java:73)
>  
> at 
> org.apache.nifi.controller.repository.claim.StandardResourceClaim.isInUse(StandardResourceClaim.java:120)
>  
> at 
> org.apache.nifi.controller.repository.FileSystemRepository.remove(FileSystemRepository.java:612)
>  
> at 
> org.apache.nifi.controller.repository.FileSystemRepository.access$1200(FileSystemRepository.java:83)
>  
> at 
> org.apache.nifi.controller.repository.FileSystemRepository$ArchiveOrDestroyDestructableClaims.run(FileSystemRepository.java:1442)
>  
> {code}
> While another thread shows that it's being marked as Destructable:
> {code}
> "pool-10-thread-1" Id=132 TIMED_WAITING on 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@38063d7e
>  
> at sun.misc.Unsafe.park(Native Method) 
> at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) 
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
>  
> at 
> java.util.concurrent.LinkedBlockingQueue.offer(LinkedBlockingQueue.java:385) 
> at 
> org.apache.nifi.controller.repository.claim.StandardResourceClaimManager.markDestructable(StandardResourceClaimManager.java:152)
>  
> - waiting on 
> org.apache.nifi.controller.repository.claim.StandardResourceClaim@6b5aa020 
> at 
> org.apache.nifi.controller.repository.WriteAheadFlowFileRepository.markDestructable(WriteAheadFlowFileRepository.java:186)
>  
> at 
> org.apache.nifi.controller.repository.WriteAheadFlowFileRepository.onGlobalSync(WriteAheadFlowFileRepository.java:287)
>  
> at 
> org.wali.MinimalLockingWriteAheadLog.checkpoint(MinimalLockingWriteAheadLog.java:565)
>  
> - waiting on org.wali.MinimalLockingWriteAheadLog@65ab87e4 
> at 
> org.apache.nifi.controller.repository.WriteAheadFlowFileRepository.checkpoint(WriteAheadFlowFileRepository.java:416)
>  
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to