[ https://issues.apache.org/jira/browse/OOZIE-1691?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13907221#comment-13907221 ]
Bowen Zhang commented on OOZIE-1691: ------------------------------------ Thanks, Puru. This is actually a critical fix since the stackoverflow error happens a lot in production environment. > StackOverflowError in TimestampedMessageParser.parseNextLine() > -------------------------------------------------------------- > > Key: OOZIE-1691 > URL: https://issues.apache.org/jira/browse/OOZIE-1691 > Project: Oozie > Issue Type: Bug > Reporter: purshotam shah > Assignee: purshotam shah > Fix For: trunk > > Attachments: OOZIE-1691.patch, OOZIE-1691.patch > > > Below function will throws StackOverflowError if no matching line is found > for a few consecutive lines. > This will be a common scenario in HA where bundle/coord/WF got executed in > other host. For log aggregation we have to search logs in all host and may > lead to StackOverflowError. > {code:java} > protected String parseNextLine() throws IOException { > String line = reader.readLine(); > if (line != null) { > ArrayList<String> logParts = filter.splitLogMessage(line); > if (logParts != null) { > patternMatched = filter.matches(logParts); > } > if (!patternMatched) { > line = parseNextLine(); > } > } > return line; > } > {code} > Exception > Caused by: java.lang.StackOverflowError > at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615) > at java.util.regex.Pattern$Curly.match0(Pattern.java:4170) > ........................................... > at > java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3715) > at > java.util.regex.Pattern$BmpCharProperty.match(Pattern.java:3715) > at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556) > at java.util.regex.Matcher.match(Matcher.java:1221) > at java.util.regex.Matcher.matches(Matcher.java:559) > at > org.apache.oozie.util.XLogStreamer$Filter.splitLogMessage(XLogStreamer.java:138) > at > org.apache.oozie.util.TimestampedMessageParser.parseNextLine(TimestampedMessageParser.java:138) > at > org.apache.oozie.util.TimestampedMessageParser.parseNextLine(TimestampedMessageParser.java:143) > at > org.apache.oozie.util.TimestampedMessageParser.parseNextLine(TimestampedMessageParser.java:143) > at > org.apache.oozie.util.TimestampedMessageParser.parseNextLine(TimestampedMessageParser.java:143) -- This message was sent by Atlassian JIRA (v6.1.5#6160)