[ https://issues.apache.org/jira/browse/NIFI-1633?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joseph Witt deleted NIFI-1633: ------------------------------ > ExtractText should handle null capture groups > --------------------------------------------- > > Key: NIFI-1633 > URL: https://issues.apache.org/jira/browse/NIFI-1633 > Project: Apache NiFi > Issue Type: Bug > Reporter: Joseph Witt > Assignee: Joseph Witt > > Conrad Crampton on the users mailing list reported: > Hi, > I don’t know if this is expected behaviour but I think I understand why this > is happening now. I have a regexp in the ExtractText processors viz: > (?s:^.+: (\d\d?)(\w\w\w)(\d{4}) ([\d ]\d:\d\d:\d\d) Product=(.+?) > OriginIP=(.+?) Origin=(.+?) Action=(.+?) SIP=(.+?) Source=(.+?) SPort=(\d+?) > DIP=(.+) Destination=(.+?) DPort=(\d+?) Protocol=(.+?)(?: ICMPType=(.+?) > ICMPCode=(.+?))? IFName=(.+?) IFDirection=(.+?) Reason=(.+?) Rule=(.+?) > PolicyName=(.+?) Info=(.+?) XlateSIP=(.+?) XlateSPort=([\d]+|\-?) > XlateDIP=(.+?) XlateDPort=([\d]+|\-?)(.*)$) > With this (?: ICMPType=(.+?) ICMPCode=(.+?))? the problem I think. Because I > have made a non capturing matching group optional, for those log lines that > don’t have this section matching the dynamic variable can’t set the index > correctly as the match is returning null for these capture groups. Obviously > I haven’t gone too deep into the code, but if I have a RouteOnContent > processor before this testing for this string and remove this from regexp > (and have two ExtractText processors) then it works. It appeared that all the > NPE were thrown for those lines that didn’t match the optional matching group. > Has this been observed before? > Thanks > Conrad > --- In looking at the code this line looks offensive: > https://github.com/apache/nifi/blob/master/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExtractText.java#L325 -- This message was sent by Atlassian JIRA (v6.3.4#6332)