nifi-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Burgess <mattyb...@apache.org>
Subject Re: Nifi flow hanging . Groovy JsonSlurper Problem?
Date Wed, 02 May 2018 02:14:27 GMT
Timothy,

I haven't seen anything that can cause this to hang, in the Groovy
source code it might seem to "hang" [1] if there's a crazy large
input; how big are your flow files going into the ExecuteScript
processor?  If size is not the issue, then perhaps there's an
assumption about character sets that causes a problem, etc. Are your
input files well-formed JSON, and if so, are they ROUSs? (Rodents Of
Unusual Size)? Are they encoded with unicode or other character sets?

I'll try to reproduce this locally and get to the bottom of it, if
it's a Groovy bug that has been fixed we can upgrade the version, if
it's a bug that isn't fixed then hopefully there's a workaround with
ValidateRecord.  Lastly, may I ask what your script is doing to the
flow files? Perhaps there are existing processors and/or techniques we
could use to get it done...

Regards,
Matt

[1] https://github.com/apache/groovy/blob/GROOVY_2_4_5/subprojects/groovy-json/src/main/java/groovy/json/internal/JsonParserCharArray.java#L108


On Tue, May 1, 2018 at 2:54 PM, Timothy Tschampel
<tim.tschampel@vivacehealthsolutions.com> wrote:
> I have a flow which periodically hangs and messages begin to queue behind an ExecuteScript
component using groovy.  Once this happens the component can’t be stopped or restarted.
 Restarting alone does not move things along; only a restart after purging the content/flow
file repositories seems to help.  I’m not seeing any errors in the logs. Thread dumps show
the same “ScriptXX.run” running at the same place (groovy.json.internal.JsonParserCharArray.decodeJsonObject(JsonParserCharArray.java:108))
 and possibly several others running in slightly different paths originated from groovy.json.JsonSlurper.parseText(JsonSlurper.java:205).
  Is there anything special about the groovy json parser with regards to configuring the processor
or using within a Nifi flow?   I have attached 2 dumps of this happening at different times.
 I have a suspicion that possibly a mangled message is causing a problem, but I would have
expected some sort of error in this case.

Mime
View raw message