Support Questions
Find answers, ask questions, and share your expertise

Preventing Bulletin Board messaging

Contributor

A processor which is handling a json flow file via EvaluateJsonPath is posting a lot of ERROR such as the following:

StandardContentClaim [resourceClaim=StandardResourceClaim[id=1502912107775-8018, container=default, section=850], offset=587561, length=41229],offset=0,name=1314908846183834,size=41229] did not have valid JSON content.

We're being told that the amount of messages are undesirable since there will be a ticket generated as a result of this level of message. Since I'm handling the failure relationship via another flow I am hoping to prevent this error from bubbling up to other parent processors or similar. I suppose a better option would be to validate the JSON payload via ExecuteScript and introduce a try/exception block:

var StreamCallback =  Java.type("org.apache.nifi.processor.io.StreamCallback");
var IOUtils = Java.type("org.apache.commons.io.IOUtils");
var StandardCharsets = Java.type("java.nio.charset.StandardCharsets");
var flowFile = session.get();
 var text;
if(flowFile != null) {
  // Create a new StreamCallback, passing in a function to define the interface method
  flowFile = session.write(flowFile,
    new StreamCallback(function(inputStream, outputStream) {
        text = IOUtils.toString(inputStream, StandardCharsets.UTF_8)
        outputStream.write(JSON.stringify(text).getBytes(StandardCharsets.UTF_8))
    }));
     session.transfer(flowFile, REL_SUCCESS);
}

Any ideas would be appreciated.

Thanks,

~Sean

1 REPLY 1

Re: Preventing Bulletin Board messaging

Contributor

I guess what I was hoping for from the community is a sense of what is acceptable or expected regarding bulletin messages and their relative handling. I suspect there is no global means to suppress these messages, in which case, I will feel justified in telling our administrators of the NiFi cluster another means of monitoring should be considered.