[ https://issues.apache.org/jira/browse/NIFI-1754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15285076#comment-15285076 ]
ASF GitHub Bot commented on NIFI-1754: -------------------------------------- Github user jskora commented on a diff in the pull request: https://github.com/apache/nifi/pull/430#discussion_r63405577 --- Diff: nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/FlowDebugger.java --- @@ -0,0 +1,414 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.processors.standard; + +import org.apache.nifi.annotation.behavior.EventDriven; +import org.apache.nifi.components.PropertyDescriptor; +import org.apache.nifi.flowfile.FlowFile; +import org.apache.nifi.flowfile.attributes.CoreAttributes; +import org.apache.nifi.logging.ProcessorLog; +import org.apache.nifi.annotation.lifecycle.OnScheduled; +import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.Tags; +import org.apache.nifi.processor.AbstractProcessor; +import org.apache.nifi.processor.ProcessContext; +import org.apache.nifi.processor.ProcessSession; +import org.apache.nifi.processor.Relationship; +import org.apache.nifi.processor.exception.ProcessException; +import org.apache.nifi.processor.util.StandardValidators; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + +@EventDriven() +@Tags({"test", "debug", "processor", "utility", "flow", "flowfile"}) +@CapabilityDescription("This processor aids in the testing and debugging of the flowfile framework by allowing " + + "a developer or flow manager to force various responses to a flowfile. In response to a receiving a flowfile " + + "it can route to the success or failure relationships, rollback, rollback and yield, rollback with penalty, " + + "or throw an exception. In addition, if using a timer based scheduling strategy, upon being triggered without " + + "a flowfile, it can be configured to throw an exception, when triggered without a flowfile.\n" + + "\n" + + "The 'iterations' properties, such as \"Success iterations\", configure how many times each response should occur " + + "in succession before moving on to the next response within the group of flowfile responses or no flowfile" + + "responses.\n" + + "\n" + + "The order of responses when a flow file is received are:" + + " 1. transfer flowfile to success relationship.\n" + + " 2. transfer flowfile to failure relationship.\n" + + " 3. rollback the flowfile without penalty.\n" + + " 4. rollback the flowfile and yield the context.\n" + + " 5. rollback the flowfile with penalty.\n" + + " 6. throw an exception.\n" + + "\n" + + "The order of responses when no flow file is received are:" + + " 1. yield the context.\n" + + " 2. throw an exception.\n" + + " 3. do nothing and return.\n" + + "\n" + + "By default, the processor is configured to perform each response one time. After processing the list of " + + "responses it will resume from the top of the list.\n" + + "\n" + + "To suppress any response, it's value can be set to zero (0) and no responses of that type will occur during " + + "processing.") +public class FlowDebugger extends AbstractProcessor { --- End diff -- It was included here because the rollback logging was impossible to test without it. But I can split it out. > Rollback log messages should include the flowfile filename and UUID to assist > in flow management. > ------------------------------------------------------------------------------------------------- > > Key: NIFI-1754 > URL: https://issues.apache.org/jira/browse/NIFI-1754 > Project: Apache NiFi > Issue Type: Improvement > Components: Core Framework > Affects Versions: 1.0.0, 0.7.0 > Reporter: Joe Skora > Assignee: Joe Skora > > When a processor calls rollback on a flowfile, the filename and UUID of the > flowfile should be included in log entry to make it easier for the offending > files to be found and fixed or removed from the flow by the dataflow managers. -- This message was sent by Atlassian JIRA (v6.3.4#6332)