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

Joey Echeverria commented on FLUME-1207:
----------------------------------------

I implemented a hack to put the equivalent functionality in. What I ended up 
doing was subclassing the sink I needed decorated and overriding the 
getChannel() method. I had it return a channel that largely delegates to the 
original channel, but intercepts calls to take events. In order to maintain the 
correctness, I couldn't modify events in place in case the transaction got 
copied, so I ended up creating a new event on every call. This could have 
performance implications. The other idea I had was to add a header along the 
lines of "decorators.complete" that could have a coma delimited list of 
decorators that have processed the event. That way, I could avoid re-processing 
events that were processed and then returned to the channel.
                
> Add sink-side decorators
> ------------------------
>
>                 Key: FLUME-1207
>                 URL: https://issues.apache.org/jira/browse/FLUME-1207
>             Project: Flume
>          Issue Type: New Feature
>            Reporter: Joey Echeverria
>            Priority: Minor
>
> FLUME-1157 added support for interceptors (source-side decorators) which 
> enables a number of the use cases that decorators were used for in Flume 0.xx.
> It would be nice to have a sink-side equivalent so that the same source can 
> feed multiple channels/sinks with some getting decorated event, and others 
> getting the original.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to