Github user charlesporter commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/2411#discussion_r164564264
  
    --- Diff: 
nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExtractGrok.java
 ---
    @@ -181,15 +243,28 @@ public void onStopped() {
     
         @OnScheduled
         public void onScheduled(final ProcessContext context) throws 
GrokException {
    +        grokList.clear();
             for (int i = 0; i < context.getMaxConcurrentTasks(); i++) {
                 final int maxBufferSize = 
context.getProperty(MAX_BUFFER_SIZE).asDataSize(DataUnit.B).intValue();
                 final byte[] buffer = new byte[maxBufferSize];
                 bufferQueue.add(buffer);
             }
     
    -        grok = new Grok();
    -        
grok.addPatternFromFile(context.getProperty(GROK_PATTERN_FILE).getValue());
    -        grok.compile(context.getProperty(GROK_EXPRESSION).getValue(), 
context.getProperty(NAMED_CAPTURES_ONLY).asBoolean());
    +        resultPrefix = context.getProperty(RESULT_PREFIX).getValue();
    +        breakOnFirstMatch = 
context.getProperty(BREAK_ON_FIRST_MATCH).asBoolean() ;
    +        matchedExpressionAttribute = 
context.getProperty(MATCHED_EXP_ATTR).getValue();
    +        expressionSeparator = 
context.getProperty(EXPRESSION_SEPARATOR).getValue();
    +
    +        String patterns  = context.getProperty(GROK_EXPRESSION).getValue();
    +        for (String patternName : patterns.split(expressionSeparator)) {
    +            Grok grok = new Grok();
    +            final String patternFileListString = 
context.getProperty(GROK_PATTERN_FILE).getValue();
    +            for (String patternFile : 
patternFileListString.split(PATTERN_FILE_LIST_SEPARATOR)) {
    +                grok.addPatternFromFile(patternFile);
    --- End diff --
    
    hmmm... ok. My feeling would be if they want to put spaces in their list 
they should include them in separator, but your way is more tolerant. Will fix.



---

Reply via email to