You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flume.apache.org by "Denes Arvay (JIRA)" <ji...@apache.org> on 2016/07/28 13:03:20 UTC

[jira] [Updated] (FLUME-2844) ChannelCounter of SpillableMemoryChannel doesn't register actually.

     [ https://issues.apache.org/jira/browse/FLUME-2844?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Denes Arvay updated FLUME-2844:
-------------------------------
    Attachment: FLUME-2844-2.patch

I've attached a new patch. I decided not to touch the superclass' {{channelCounter}}

> ChannelCounter of SpillableMemoryChannel doesn't register actually.
> -------------------------------------------------------------------
>
>                 Key: FLUME-2844
>                 URL: https://issues.apache.org/jira/browse/FLUME-2844
>             Project: Flume
>          Issue Type: Bug
>          Components: Channel
>    Affects Versions: v1.6.0
>            Reporter: Daniel Wen
>         Attachments: FLUME-2844-2.patch, FLUME-2844.0000.patch
>
>
> When using SpillableMemoryChannel, the values of all metrics of channel component int monitoring system is zero.It's caused by a bug belowed.
> SpillableMemoryChannel extends FileChannel,and each of them have a ChannelCounter-Type field named of 'channelCounter'. FileChannel's channelCounter filed is private, so it can not be override by SpillableMemoryChannel. SpillableMemoryChannel's channelCounter is initialized in configure method(Line 600 at SpillableMemoryChannel.java), then super.configure() is called(Line 727 at SpillableMemoryChannel.java). So FileChannel's channelCounter is also initialized(Line 267 at SpillableMemoryChannel.java).
> When SpillableMemoryChannel start(call start() method), it should and want to register ChannelCounter. In start() method, SpillableMemoryChannel calls  super.start() (Line 768 at SpillableMemoryChannel.java), then FileChannel calls channelCounter.start() to register channelCounter. But this channelCounter is the one of FileChannle, not the one of SpillableMemoryChannel!
> This bug results that when using SpillableMemoryChannel, the values of all metrics of channel component is zero.
> Maybe the qualifier of FileChannel's channelCounter filed should be changed to prtected, and remove the channelCounter filed of SpillableMemoryChannel.



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