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

Ashish Paliwal resolved FLUME-575.
----------------------------------
       Resolution: Won't Fix
    Fix Version/s: v0.9.5

Won't fix. 0.X branch not maintained anymore

> Refactor Flume to have no static state
> --------------------------------------
>
>                 Key: FLUME-575
>                 URL: https://issues.apache.org/jira/browse/FLUME-575
>             Project: Flume
>          Issue Type: Epic
>          Components: Master, Node, Shell, Sinks+Sources, Technical Debt, 
> Test, Web
>    Affects Versions: v0.9.3
>            Reporter: E. Sammer
>             Fix For: v0.9.5
>
>
> Flume uses static state in a number of places. Some instances cause 
> significant pain during testing or extension. Flume should be refactored to 
> push static state down to instances (Factories, Registries, and similar 
> patterns) and then use DI to make these instances available where needed.
> Examples:
> * FlumeBuilder uses a static SourceFactory and SinkFactory. Modifications to 
> the static instances during testing pollute the JVM. Setting and resetting is 
> extremely error prone.
> * FlumeMaster pushes a new instance into a static member on each invocation 
> of the constructor. This is one step worse than a singleton in that 
> subsequent construction disrupts existing captures of the shared instance.
> * The web application JSPs follow the inside-out invocation scheme in that 
> they capture a reference to the FlumeMaster static instance in an attempt to 
> get at current state (rather than having an instance injected or passed). 
> This is fragile and subject to construction practices.



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

Reply via email to