You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flume.apache.org by "Bessenyei Balázs Donát (JIRA)" <ji...@apache.org> on 2016/08/02 18:32:20 UTC

[jira] [Commented] (FLUME-2461) memoryChannel bytesRemaining counting error

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

Bessenyei Balázs Donát commented on FLUME-2461:
-----------------------------------------------

[~wy96f]: can you please rebase this patch on trunk?

> memoryChannel bytesRemaining counting error
> -------------------------------------------
>
>                 Key: FLUME-2461
>                 URL: https://issues.apache.org/jira/browse/FLUME-2461
>             Project: Flume
>          Issue Type: Bug
>          Components: Sinks+Sources
>    Affects Versions: v1.5.0.1
>            Reporter: yangwei
>            Priority: Minor
>              Labels: patch, reviewboard-missing, unit-test-missing
>             Fix For: v1.7.0
>
>         Attachments: FLUME-2461.patch
>
>
> In doRollback function putByteCounter permits are released by bytesRemaining. This is wrong for the below cases:
> In the doCommit function:
> 1)
>         if(!bytesRemaining.tryAcquire(putByteCounter, keepAlive,
>           TimeUnit.SECONDS)) {
>           throw new ChannelException("Cannot commit transaction. Heap space " +
>             "limit of " + byteCapacity + "reached. Please increase heap space" +
>             " allocated to the channel as the sinks may not be keeping up " +
>             "with the sources");
>         }
> 2)
>         if(!queueRemaining.tryAcquire(-remainingChange, keepAlive, TimeUnit.SECONDS)) {
>           bytesRemaining.release(putByteCounter);
>           throw new ChannelFullException("Space for commit to queue couldn't be acquired." +
>               " Sinks are likely not keeping up with sources, or the buffer size is too tight");
>         }
> When they throw ChannelException, bytesRemaining should not release any permits.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)