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