> On 七月 20, 2016, 3:55 a.m., Mike Percy wrote:
> > flume-ng-sources/flume-taildir-source/src/main/java/org/apache/flume/source/taildir/ReliableTaildirEventReader.java,
> > line 206
> > <https://reviews.apache.org/r/50134/diff/3/?file=1447305#file1447305line206>
> >
> > Can we put this if statement in the above loop, right under line 203,
> > to avoid looping over all of the events twice?
> >
> > Hotspot should optimize-out the branches (and probably even the loop
> > when everything is disabled) so I think we will get better performance in
> > general.
> >
> > So it would look like:
> >
> > // Add headers to each event as needed.
> > Map<String, String> headers = currentFile.getHeaders();
> > for (Event event : events) {
> > if (headers != null && !headers.isEmpty()) {
> > event.getHeaders().putAll(headers);
> > }
> > if (annotateFileName) {
> > String filename = currentFile.getPath();
> > event.getHeaders().put(fileNameHeader, filename);
> > }
> > }
Thanks. If headers==null && annotateFileName==false, the program will execute
events.size() times. So I think the following will get better performance:
if (annotateFileName || (headers != null && !headers.isEmpty())) {
for (Event event : events) {
if (headers != null && !headers.isEmpty()) {
event.getHeaders().putAll(headers);
}
if (annotateFileName) {
event.getHeaders().put(fileNameHeader, currentFile.getPath());
}
}
}
> On 七月 20, 2016, 3:55 a.m., Mike Percy wrote:
> > flume-ng-sources/flume-taildir-source/src/test/java/org/apache/flume/source/taildir/TestTaildirSource.java,
> > line 49
> > <https://reviews.apache.org/r/50134/diff/3/?file=1447308#file1447308line49>
> >
> > It is allowed to have long lines that are imports. No need to wrap this
> > one. (Usually, though, you need to wrap long lines.)
In order to be consistent with the following import appeared before?I wrap that
one.
import static
org.apache.flume.source.taildir.TaildirSourceConfigurationConstants
.FILE_GROUPS_PREFIX;
- qiao
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/50134/#review142898
-----------------------------------------------------------
On 七月 19, 2016, 3:09 p.m., qiao wen wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/50134/
> -----------------------------------------------------------
>
> (Updated 七月 19, 2016, 3:09 p.m.)
>
>
> Review request for Flume.
>
>
> Bugs: FLUME-2955
> https://issues.apache.org/jira/browse/FLUME-2955
>
>
> Repository: flume-git
>
>
> Description
> -------
>
> Log file path is necessary to locate the log. Add a parameter PATH_HEADER in
> the TaildirSourceConstants. If the parameter is true, the file path will be
> added to the header of flume event. Defaut value is false.
>
>
> Diffs
> -----
>
> flume-ng-doc/sphinx/FlumeUserGuide.rst f9ca1b2
>
> flume-ng-sources/flume-taildir-source/src/main/java/org/apache/flume/source/taildir/ReliableTaildirEventReader.java
> 1409f25
>
> flume-ng-sources/flume-taildir-source/src/main/java/org/apache/flume/source/taildir/TaildirSource.java
> eae1b1a
>
> flume-ng-sources/flume-taildir-source/src/main/java/org/apache/flume/source/taildir/TaildirSourceConfigurationConstants.java
> 2c49540
>
> flume-ng-sources/flume-taildir-source/src/test/java/org/apache/flume/source/taildir/TestTaildirSource.java
> e090b74
>
> Diff: https://reviews.apache.org/r/50134/diff/
>
>
> Testing
> -------
>
> mvn clean install -DskipTests -> built
> junit tests for flume-taildir-source module -> passed
>
>
> Thanks,
>
> qiao wen
>
>