[
https://issues.apache.org/jira/browse/NIFI-526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14517042#comment-14517042
]
ASF subversion and git services commented on NIFI-526:
------------------------------------------------------
Commit 62edd7a3ab524eb53d3f739e23aabaf5cf2eec2c in incubator-nifi's branch
refs/heads/develop from [~markap14]
[ https://git-wip-us.apache.org/repos/asf?p=incubator-nifi.git;h=62edd7a ]
NIFI-526: Fixed whitespace error
> GetHTTP may not release writeLock
> ---------------------------------
>
> Key: NIFI-526
> URL: https://issues.apache.org/jira/browse/NIFI-526
> Project: Apache NiFi
> Issue Type: Bug
> Components: Extensions
> Affects Versions: 0.0.2
> Reporter: Mark Latimer
> Priority: Minor
> Labels: beginner, newbie
> Fix For: 0.1.0
>
> Attachments:
> 0001-NIFI-526-move-check-into-try-so-writeLock-is-release.patch
>
>
> GetHTTP onTrigger process contains a path that will obtain and not release
> the writeLock.
> This happens if enough time elapses between the first and second check of
> timeToPersist.
> Also the readLock locked and unlocked with no meaningful work in between.
> {code:title=GetHTTP.java|borderStyle=solid}
> if ((etag != null || lastModified != null) &&
> readLock.tryLock()) {
> try {
> //first check of timeToPersist against current time
> if (timeToPersist < System.currentTimeMillis()) {
> readLock.unlock();
> //obtain writeLock
> writeLock.lock();
> //check time to persist again, this result may be
> different
> //if the result is different because enough time
> has elapsed the lock is not released
> if (timeToPersist < System.currentTimeMillis()) {
> try {
>
> ...
>
> } finally {
> readLock.lock();
> //release writeLock only if the second
> check of timeToPresist is before now.
> writeLock.unlock();
> }
> }
> }
> } finally {
> readLock.unlock();
> }
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)