> On Oct. 11, 2012, 11:42 p.m., Mike Percy wrote:
> > flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java,
> >  line 59
> > <https://reviews.apache.org/r/7550/diff/1/?file=175766#file175766line59>
> >
> >     Why limted private here? What is the implication?
> 
> Brock Noland wrote:
>     In the InterfaceAudience class, I defined Public to me users of flume.
>     LimitedPrivate to be only flume developers of other modules "Intended 
> only for sub-modules of the Flume project"
>     Private to be within the module itself.
>     
>     I think LP or Private makes sense because users of flume shouldn't be 
> extending FileChannel.
>     
>     Honestly we could probably just have Public/Private.
> 
> Mike Percy wrote:
>     I see. I took it to mean that users should not instantiate FileChannel, 
> which didn't make much sense to me.
> 
> Brock Noland wrote:
>     Well they should be instantiating it themselves right? I think in Hadoop 
> LimitedPrivate and Private apply to end user developers. That is, by 
> configuring Hadoop you will likely instantiate many Private/LimitedPrivate 
> objects, but you shouldn't be extending or instantiating in code. If you do, 
> you know the contract.

In Hadoop I think LimitedPrivate allows you to specify specific other projects 
which can use your API. Take Pig's Main class as an example, it specifies 
oozie: http://pig.apache.org/docs/r0.10.0/api/org/apache/pig/Main.html

Whether they can instantiate FileChannel directly is an interesting question, 
because i.e. it may be helpful to do so for unit testing purposes. Since it 
implements a public interface Channel then clearly they should be able to call 
those methods once they have a Channel implementation instance. They need some 
way to instantiate it, maybe DefaultChannelFactory then, if it's public/stable?


- Mike


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/7550/#review12372
-----------------------------------------------------------


On Oct. 11, 2012, 6:24 p.m., Brock Noland wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/7550/
> -----------------------------------------------------------
> 
> (Updated Oct. 11, 2012, 6:24 p.m.)
> 
> 
> Review request for Flume.
> 
> 
> Description
> -------
> 
> Add's the Hadoop interface annotations and add's them to a few classes as an 
> example. Once this approach is agreed upon, any *public* interfaces should be 
> marked. Private interfaces can be marked in later JIRAs.
> 
> 
> This addresses bug FLUME-1629.
>     https://issues.apache.org/jira/browse/FLUME-1629
> 
> 
> Diffs
> -----
> 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java
>  6680a2c 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/Log.java
>  64725dd 
>   flume-ng-core/src/main/java/org/apache/flume/Channel.java 91ea7b6 
>   
> flume-ng-core/src/main/java/org/apache/flume/annotations/InterfaceAudience.java
>  PRE-CREATION 
>   
> flume-ng-core/src/main/java/org/apache/flume/annotations/InterfaceStability.java
>  PRE-CREATION 
>   flume-ng-core/src/main/java/org/apache/flume/channel/AbstractChannel.java 
> e662de9 
> 
> Diff: https://reviews.apache.org/r/7550/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Brock Noland
> 
>

Reply via email to