> On July 19, 2016, 8:55 p.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);
> >       }
> >     }
> 
> qiao wen wrote:
>     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());
>             }
>           }
>         }

Even better.


- Mike


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


On July 20, 2016, 2:18 a.m., qiao wen wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/50134/
> -----------------------------------------------------------
> 
> (Updated July 20, 2016, 2:18 a.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 d8bfebf 
>   
> 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
> 
>

Reply via email to