[
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)