public class org.apache.nifi.processors.standard.TailFile extends org.apache.nifi.processor.AbstractProcessor
{
static final java.lang.String MAP_PREFIX;
private static final byte[] NEW_LINE_BYTES;
static final org.apache.nifi.components.AllowableValue LOCATION_LOCAL;
static final org.apache.nifi.components.AllowableValue LOCATION_REMOTE;
static final org.apache.nifi.components.AllowableValue MODE_SINGLEFILE;
static final org.apache.nifi.components.AllowableValue MODE_MULTIFILE;
static final org.apache.nifi.components.AllowableValue START_BEGINNING_OF_TIME;
static final org.apache.nifi.components.AllowableValue START_CURRENT_FILE;
static final org.apache.nifi.components.AllowableValue START_CURRENT_TIME;
static final org.apache.nifi.components.PropertyDescriptor BASE_DIRECTORY;
static final org.apache.nifi.components.PropertyDescriptor MODE;
static final org.apache.nifi.components.PropertyDescriptor FILENAME;
static final org.apache.nifi.components.PropertyDescriptor ROLLING_FILENAME_PATTERN;
static final org.apache.nifi.components.PropertyDescriptor POST_ROLLOVER_TAIL_PERIOD;
static final org.apache.nifi.components.PropertyDescriptor STATE_LOCATION;
static final org.apache.nifi.components.PropertyDescriptor START_POSITION;
static final org.apache.nifi.components.PropertyDescriptor RECURSIVE;
static final org.apache.nifi.components.PropertyDescriptor LOOKUP_FREQUENCY;
static final org.apache.nifi.components.PropertyDescriptor MAXIMUM_AGE;
static final org.apache.nifi.components.PropertyDescriptor REREAD_ON_NUL;
static final org.apache.nifi.components.PropertyDescriptor LINE_START_PATTERN;
static final org.apache.nifi.components.PropertyDescriptor MAX_BUFFER_LENGTH;
static final org.apache.nifi.components.PropertyDescriptor PRE_ALLOCATED_BUFFER_SIZE;
static final org.apache.nifi.processor.Relationship REL_SUCCESS;
private volatile java.util.Map states;
private volatile java.util.concurrent.atomic.AtomicLong lastLookup;
private volatile java.util.concurrent.atomic.AtomicBoolean isMultiChanging;
private volatile boolean requireStateLookup;
private volatile java.io.ByteArrayOutputStream linesBuffer;
private volatile java.util.regex.Pattern lineStartPattern;
private volatile long maxBufferBytes;
private volatile int preAllocatedBufferSize;
public void <init>()
{
org.apache.nifi.processors.standard.TailFile v;
java.util.concurrent.atomic.AtomicLong v;
java.io.ByteArrayOutputStream v;
java.util.concurrent.atomic.AtomicBoolean v;
java.util.HashMap v;
v := @this: org.apache.nifi.processors.standard.TailFile;
specialinvoke v.<org.apache.nifi.processor.AbstractProcessor: void <init>()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states> = v;
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>(long)>(0L);
v.<org.apache.nifi.processors.standard.TailFile: java.util.concurrent.atomic.AtomicLong lastLookup> = v;
v = new java.util.concurrent.atomic.AtomicBoolean;
specialinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void <init>(boolean)>(0);
v.<org.apache.nifi.processors.standard.TailFile: java.util.concurrent.atomic.AtomicBoolean isMultiChanging> = v;
v.<org.apache.nifi.processors.standard.TailFile: boolean requireStateLookup> = 1;
v = new java.io.ByteArrayOutputStream;
specialinvoke v.<java.io.ByteArrayOutputStream: void <init>()>();
v.<org.apache.nifi.processors.standard.TailFile: java.io.ByteArrayOutputStream linesBuffer> = v;
return;
}
protected java.util.List getSupportedPropertyDescriptors()
{
org.apache.nifi.components.PropertyDescriptor v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.ArrayList v;
org.apache.nifi.processors.standard.TailFile v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor MODE>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor FILENAME>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor ROLLING_FILENAME_PATTERN>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor POST_ROLLOVER_TAIL_PERIOD>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor BASE_DIRECTORY>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor START_POSITION>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor STATE_LOCATION>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor RECURSIVE>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor LOOKUP_FREQUENCY>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor MAXIMUM_AGE>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor REREAD_ON_NUL>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor LINE_START_PATTERN>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor PRE_ALLOCATED_BUFFER_SIZE>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor MAX_BUFFER_LENGTH>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return v;
}
public java.util.Set getRelationships()
{
org.apache.nifi.processors.standard.TailFile v;
java.util.Set v;
org.apache.nifi.processor.Relationship v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.processor.Relationship REL_SUCCESS>;
v = staticinvoke <java.util.Collections: java.util.Set singleton(java.lang.Object)>(v);
return v;
}
public void onPropertyModified(org.apache.nifi.components.PropertyDescriptor, java.lang.String, java.lang.String)
{
org.apache.nifi.processors.standard.TailFile v;
java.util.HashMap v;
org.apache.nifi.components.PropertyDescriptor v, v;
java.lang.String v, v;
boolean v, v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: org.apache.nifi.components.PropertyDescriptor;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: boolean isConfigurationRestored()>();
if v == 0 goto label;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor FILENAME>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states> = v;
label:
return;
}
protected java.util.Collection customValidate(org.apache.nifi.components.ValidationContext)
{
org.apache.nifi.components.ValidationContext v;
org.apache.nifi.components.PropertyDescriptor v, v, v, v;
java.util.ArrayList v;
org.apache.nifi.components.PropertyValue v, v, v;
java.lang.String v, v, v, v, v, v;
org.apache.nifi.components.ValidationResult v, v;
boolean v, v;
org.apache.nifi.components.ValidationResult$Builder v, v, v, v, v, v, v, v;
org.apache.nifi.processors.standard.TailFile v;
java.util.Collection v;
org.apache.nifi.components.AllowableValue v;
java.io.File v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: org.apache.nifi.components.ValidationContext;
v = new java.util.ArrayList;
v = specialinvoke v.<org.apache.nifi.processor.AbstractProcessor: java.util.Collection customValidate(org.apache.nifi.components.ValidationContext)>(v);
specialinvoke v.<java.util.ArrayList: void <init>(java.util.Collection)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor MODE>;
v = interfaceinvoke v.<org.apache.nifi.components.ValidationContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue MODE_MULTIFILE>;
v = virtualinvoke v.<org.apache.nifi.components.AllowableValue: java.lang.String getValue()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor BASE_DIRECTORY>;
v = interfaceinvoke v.<org.apache.nifi.components.ValidationContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: org.apache.nifi.components.PropertyValue evaluateAttributeExpressions()>();
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
if v != null goto label;
v = new org.apache.nifi.components.ValidationResult$Builder;
specialinvoke v.<org.apache.nifi.components.ValidationResult$Builder: void <init>()>();
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor BASE_DIRECTORY>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor: java.lang.String getName()>();
v = virtualinvoke v.<org.apache.nifi.components.ValidationResult$Builder: org.apache.nifi.components.ValidationResult$Builder subject(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.components.ValidationResult$Builder: org.apache.nifi.components.ValidationResult$Builder valid(boolean)>(0);
v = virtualinvoke v.<org.apache.nifi.components.ValidationResult$Builder: org.apache.nifi.components.ValidationResult$Builder explanation(java.lang.String)>("Base directory property cannot be empty in Multifile mode.");
v = virtualinvoke v.<org.apache.nifi.components.ValidationResult$Builder: org.apache.nifi.components.ValidationResult build()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: boolean isDirectory()>();
if v != 0 goto label;
v = new org.apache.nifi.components.ValidationResult$Builder;
specialinvoke v.<org.apache.nifi.components.ValidationResult$Builder: void <init>()>();
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor BASE_DIRECTORY>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor: java.lang.String getName()>();
v = virtualinvoke v.<org.apache.nifi.components.ValidationResult$Builder: org.apache.nifi.components.ValidationResult$Builder subject(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.components.ValidationResult$Builder: org.apache.nifi.components.ValidationResult$Builder valid(boolean)>(0);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u is not a directory.");
v = virtualinvoke v.<org.apache.nifi.components.ValidationResult$Builder: org.apache.nifi.components.ValidationResult$Builder explanation(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.components.ValidationResult$Builder: org.apache.nifi.components.ValidationResult build()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return v;
}
public void onPrimaryNodeChange()
{
org.apache.nifi.processors.standard.TailFile v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v.<org.apache.nifi.processors.standard.TailFile: boolean requireStateLookup> = 1;
return;
}
private java.util.List lookup(org.apache.nifi.processor.ProcessContext)
{
java.util.Date v;
org.apache.nifi.components.PropertyDescriptor v, v, v, v, v, v, v;
org.apache.nifi.components.PropertyValue v, v, v, v, v, v, v, v, v, v;
java.lang.Long v;
boolean v, v;
org.apache.nifi.components.AllowableValue v;
java.util.List v;
long v, v;
java.util.ArrayList v;
java.lang.Boolean v;
java.lang.String v, v, v, v, v, v;
org.apache.nifi.processors.standard.TailFile v;
org.apache.nifi.processor.ProcessContext v;
java.util.concurrent.TimeUnit v;
java.util.concurrent.atomic.AtomicLong v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.concurrent.atomic.AtomicLong lastLookup>;
v = new java.util.Date;
specialinvoke v.<java.util.Date: void <init>()>();
v = virtualinvoke v.<java.util.Date: long getTime()>();
virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: void set(long)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor MAXIMUM_AGE>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
if v != null goto label;
v = 9223372036854775807L;
goto label;
label:
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor MAXIMUM_AGE>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.Long asTimePeriod(java.util.concurrent.TimeUnit)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor MODE>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue MODE_MULTIFILE>;
v = virtualinvoke v.<org.apache.nifi.components.AllowableValue: java.lang.String getValue()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor BASE_DIRECTORY>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: org.apache.nifi.components.PropertyValue evaluateAttributeExpressions()>();
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor FILENAME>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: org.apache.nifi.components.PropertyValue evaluateAttributeExpressions()>();
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor RECURSIVE>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.Boolean asBoolean()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: java.util.List getFilesToTail(java.lang.String,java.lang.String,boolean,long)>(v, v, v, v);
interfaceinvoke v.<java.util.List: boolean addAll(java.util.Collection)>(v);
goto label;
label:
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor FILENAME>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: org.apache.nifi.components.PropertyValue evaluateAttributeExpressions()>();
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
return v;
}
public void compileRegex(org.apache.nifi.processor.ProcessContext)
{
java.lang.Double v, v;
long v;
org.apache.nifi.components.PropertyDescriptor v, v, v;
org.apache.nifi.components.PropertyValue v, v, v;
int v;
java.lang.String v;
org.apache.nifi.processors.standard.TailFile v;
org.apache.nifi.processor.ProcessContext v;
java.util.regex.Pattern v;
org.apache.nifi.processor.DataUnit v, v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor LINE_START_PATTERN>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
if v != null goto label;
v = null;
goto label;
label:
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>(v);
label:
v.<org.apache.nifi.processors.standard.TailFile: java.util.regex.Pattern lineStartPattern> = v;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor MAX_BUFFER_LENGTH>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = <org.apache.nifi.processor.DataUnit: org.apache.nifi.processor.DataUnit B>;
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.Double asDataSize(org.apache.nifi.processor.DataUnit)>(v);
v = virtualinvoke v.<java.lang.Double: long longValue()>();
v.<org.apache.nifi.processors.standard.TailFile: long maxBufferBytes> = v;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor PRE_ALLOCATED_BUFFER_SIZE>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = <org.apache.nifi.processor.DataUnit: org.apache.nifi.processor.DataUnit B>;
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.Double asDataSize(org.apache.nifi.processor.DataUnit)>(v);
v = virtualinvoke v.<java.lang.Double: int intValue()>();
v.<org.apache.nifi.processors.standard.TailFile: int preAllocatedBufferSize> = v;
return;
}
public void recoverState(org.apache.nifi.processor.ProcessContext) throws java.io.IOException
{
org.apache.nifi.components.PropertyDescriptor v, v;
org.apache.nifi.components.PropertyValue v, v;
byte v;
org.apache.nifi.components.state.Scope v;
java.util.Map v, v, v, v;
boolean v, v, v, v, v;
java.util.function.Predicate v;
java.util.Set v, v;
org.apache.nifi.components.AllowableValue v;
org.apache.nifi.components.state.StateMap v;
java.util.List v;
java.util.stream.Stream v;
java.lang.Object[] v;
java.util.concurrent.atomic.AtomicBoolean v;
java.util.HashMap v;
long v;
org.apache.nifi.logging.ComponentLog v;
int v;
java.lang.String v, v, v, v, v;
org.apache.nifi.processors.standard.TailFile v;
java.util.Iterator v;
org.apache.nifi.components.state.StateManager v;
org.apache.nifi.processor.ProcessContext v;
java.lang.Object v, v, v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.concurrent.atomic.AtomicBoolean isMultiChanging>;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor MODE>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue MODE_MULTIFILE>;
v = virtualinvoke v.<org.apache.nifi.components.AllowableValue: java.lang.String getValue()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: void set(boolean)>(v);
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: java.util.List lookup(org.apache.nifi.processor.ProcessContext)>(v);
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.state.Scope getStateScope(org.apache.nifi.processor.ProcessContext)>(v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.state.StateManager getStateManager()>();
v = interfaceinvoke v.<org.apache.nifi.components.state.StateManager: org.apache.nifi.components.state.StateMap getState(org.apache.nifi.components.state.Scope)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor START_POSITION>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = interfaceinvoke v.<org.apache.nifi.components.state.StateMap: long getVersion()>();
v = v cmp -1L;
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.nifi.components.state.StateMap: java.util.Map toMap()>();
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v == 0 goto label;
label:
v = staticinvoke <java.util.Collections: java.util.Map emptyMap()>();
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void initStates(java.util.List,java.util.Map,boolean,java.lang.String)>(v, v, 1, v);
v = staticinvoke <java.util.Collections: java.util.Map emptyMap()>();
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void recoverState(org.apache.nifi.processor.ProcessContext,java.util.List,java.util.Map)>(v, v, v);
return;
label:
v = interfaceinvoke v.<org.apache.nifi.components.state.StateMap: java.util.Map toMap()>();
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>("filename");
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.nifi.processors.standard.TailFile$lambda_recoverState_0__231: java.util.function.Predicate bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: boolean anyMatch(java.util.function.Predicate)>(v);
if v != 0 goto label;
v = new java.util.HashMap;
v = interfaceinvoke v.<java.util.Map: int size()>();
specialinvoke v.<java.util.HashMap: void <init>(int)>(v);
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.Object)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("file.0.\u0001");
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>("position");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("file.0.length", v);
v = staticinvoke <java.util.Collections: java.util.Map unmodifiableMap(java.util.Map)>(v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[1];
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void info(java.lang.String,java.lang.Object[])>("statesMap has been migrated. {}", v);
label:
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void initStates(java.util.List,java.util.Map,boolean,java.lang.String)>(v, v, 0, v);
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void recoverState(org.apache.nifi.processor.ProcessContext,java.util.List,java.util.Map)>(v, v, v);
return;
}
private void initStates(java.util.List, java.util.Map, boolean, java.lang.String)
{
java.nio.ByteBuffer v;
java.util.Map v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.processors.standard.TailFile$TailFileObject v, v;
boolean v, v, v, v, v, v, v, v, v, v, v;
java.util.Set v, v, v, v;
java.util.List v;
java.lang.String[] v;
java.util.ArrayList v;
org.apache.nifi.processors.standard.TailFile$TailFileState v;
int v, v, v, v, v, v;
java.lang.String v, v;
org.apache.nifi.processors.standard.TailFile v;
java.util.Iterator v, v, v, v;
java.lang.Object v, v, v, v, v, v, v, v, v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: java.util.List;
v := @parameter: java.util.Map;
v := @parameter: boolean;
v := @parameter: java.lang.String;
v = 0;
if v == 0 goto label;
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
interfaceinvoke v.<java.util.Map: void clear()>();
goto label;
label:
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>("filename");
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>("\\.");
v = v[1];
v = staticinvoke <java.lang.Integer: int parseInt(java.lang.String)>(v);
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = new org.apache.nifi.processors.standard.TailFile$TailFileObject;
v = v.<org.apache.nifi.processors.standard.TailFile: int preAllocatedBufferSize>;
specialinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: void <init>(int,java.util.Map,int)>(v, v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void cleanReader(org.apache.nifi.processors.standard.TailFile$TailFileObject)>(v);
goto label;
label:
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
interfaceinvoke v.<java.util.Set: boolean removeAll(java.util.Collection)>(v);
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: int getFilenameIndex()>();
if v > v goto label;
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: int getFilenameIndex()>();
v = v + 1;
goto label;
label:
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
if v != 0 goto label;
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
label:
v = new org.apache.nifi.processors.standard.TailFile$TailFileState;
v = v.<org.apache.nifi.processors.standard.TailFile: int preAllocatedBufferSize>;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocate(int)>(v);
specialinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: void <init>(java.lang.String,java.io.File,java.nio.channels.FileChannel,long,long,long,java.util.zip.Checksum,java.nio.ByteBuffer)>(v, null, null, 0L, 0L, 0L, null, v);
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = new org.apache.nifi.processors.standard.TailFile$TailFileObject;
specialinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: void <init>(int,org.apache.nifi.processors.standard.TailFile$TailFileState)>(v, v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = v + 1;
goto label;
label:
return;
}
private void recoverState(org.apache.nifi.processor.ProcessContext, java.util.List, java.util.Map) throws java.io.IOException
{
org.apache.nifi.processors.standard.TailFile v;
java.util.List v;
java.util.Iterator v;
java.util.Map v;
org.apache.nifi.processor.ProcessContext v;
java.lang.Object v;
boolean v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v := @parameter: java.util.List;
v := @parameter: java.util.Map;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void recoverState(org.apache.nifi.processor.ProcessContext,java.util.Map,java.lang.String)>(v, v, v);
goto label;
label:
return;
}
private java.util.List getFilesToTail(java.lang.String, java.lang.String, boolean, long)
{
java.util.Date v;
java.util.regex.Matcher v;
byte v;
boolean v, v, v, v, v, v;
java.util.Collection v;
java.util.regex.Pattern v;
java.util.concurrent.atomic.AtomicBoolean v;
long v, v, v, v;
java.util.ArrayList v;
int v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.processors.standard.TailFile v;
java.util.Iterator v;
java.io.File v;
java.lang.Object v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v := @parameter: boolean;
v := @parameter: long;
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = staticinvoke <org.apache.commons.io.FileUtils: java.util.Collection listFiles(java.io.File,java.lang.String[],boolean)>(v, null, v);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = <java.io.File: java.lang.String separator>;
v = virtualinvoke v.<java.lang.String: boolean endsWith(java.lang.String)>(v);
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: int length()>();
v = v - 1;
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int,int)>(0, v);
goto label;
label:
v = v;
label:
v = <java.io.File: java.lang.String separator>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("/");
if v == 0 goto label;
v = <java.io.File: java.lang.String separator>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001\u0001");
goto label;
label:
v = <java.io.File: java.lang.String separator>;
v = staticinvoke <java.util.regex.Pattern: java.lang.String quote(java.lang.String)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,java.lang.String)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001\u0001\u0001");
label:
v = staticinvoke <java.util.regex.Pattern: java.util.regex.Pattern compile(java.lang.String)>(v);
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.io.File: java.lang.String getPath()>();
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean matches()>();
if v == 0 goto label;
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.concurrent.atomic.AtomicBoolean isMultiChanging>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = new java.util.Date;
specialinvoke v.<java.util.Date: void <init>()>();
v = virtualinvoke v.<java.util.Date: long getTime()>();
v = virtualinvoke v.<java.io.File: long lastModified()>();
v = v - v;
v = v cmp v;
if v >= 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
private void recoverState(org.apache.nifi.processor.ProcessContext, java.util.Map, java.lang.String) throws java.io.IOException
{
byte v, v;
java.lang.Long v, v, v, v;
java.util.Map v, v, v, v, v, v, v;
java.nio.file.Path v;
org.apache.nifi.stream.io.NullOutputStream v;
java.lang.Throwable v, v;
java.lang.Object[] v, v, v;
long v, v, v, v, v, v, v, v, v;
org.apache.nifi.processors.standard.TailFile$TailFileState v, v, v;
java.nio.file.OpenOption[] v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.processors.standard.TailFile v;
java.io.File v, v;
java.util.zip.CRC32 v;
java.util.zip.CheckedInputStream v;
java.nio.ByteBuffer v;
boolean v, v, v, v, v, v;
java.nio.file.StandardOpenOption v;
java.io.EOFException v;
org.apache.nifi.logging.ComponentLog v, v, v, v, v, v;
java.util.zip.Checksum v;
int v, v;
org.apache.nifi.processor.ProcessContext v;
java.io.FileInputStream v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v;
java.nio.channels.FileChannel v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v := @parameter: java.util.Map;
v := @parameter: java.lang.String;
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: int getFilenameIndex()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("file.\u.");
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001filename");
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void resetState(java.lang.String)>(v);
return;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001position");
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void resetState(java.lang.String)>(v);
return;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001timestamp");
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void resetState(java.lang.String)>(v);
return;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001length");
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void resetState(java.lang.String)>(v);
return;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001checksum");
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001filename");
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001position");
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001timestamp");
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001length");
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v = null;
v = null;
if v == 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = staticinvoke <java.lang.Long: long parseLong(java.lang.String)>(v);
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: void setExpectedRecoveryChecksum(java.lang.Long)>(v);
v = new java.util.zip.CRC32;
specialinvoke v.<java.util.zip.CRC32: void <init>()>();
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: long length()>();
v = v cmp v;
if v < 0 goto label;
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.io.File)>(v);
label:
v = new java.util.zip.CheckedInputStream;
specialinvoke v.<java.util.zip.CheckedInputStream: void <init>(java.io.InputStream,java.util.zip.Checksum)>(v, v);
label:
v = new org.apache.nifi.stream.io.NullOutputStream;
specialinvoke v.<org.apache.nifi.stream.io.NullOutputStream: void <init>()>();
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: long getPosition()>();
staticinvoke <org.apache.nifi.stream.io.StreamUtils: void copy(java.io.InputStream,java.io.OutputStream,long)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String)>("When recovering state, file being tailed has less data than was stored in the state. Assuming rollover. Will begin tailing current file from beginning.");
label:
v = virtualinvoke v.<java.util.zip.CheckedInputStream: java.util.zip.Checksum getChecksum()>();
v = interfaceinvoke v.<java.util.zip.Checksum: long getValue()>();
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: java.lang.Long getExpectedRecoveryChecksum()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp v;
if v != 0 goto label;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String)>("When recovering state, checksum of tailed file matches the stored checksum. Will resume where left off.");
v = v;
v = virtualinvoke v.<java.io.File: java.nio.file.Path toPath()>();
v = newarray (java.nio.file.OpenOption)[1];
v = <java.nio.file.StandardOpenOption: java.nio.file.StandardOpenOption READ>;
v[0] = v;
v = staticinvoke <java.nio.channels.FileChannel: java.nio.channels.FileChannel open(java.nio.file.Path,java.nio.file.OpenOption[])>(v, v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Created FileChannel {} for {} in recoverState", v);
virtualinvoke v.<java.nio.channels.FileChannel: java.nio.channels.FileChannel position(long)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String)>("When recovering state, checksum of tailed file does not match the stored checksum. Will begin tailing current file from beginning.");
label:
virtualinvoke v.<java.util.zip.CheckedInputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
virtualinvoke v.<java.io.InputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[2];
v = virtualinvoke v.<java.io.File: long length()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("When recovering state, existing file to tail is only {} bytes but position flag is {}; this indicates that the file has rotated. Will begin tailing current file from beginning.", v);
label:
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = new org.apache.nifi.processors.standard.TailFile$TailFileState;
v = v.<org.apache.nifi.processors.standard.TailFile: int preAllocatedBufferSize>;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocate(int)>(v);
specialinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: void <init>(java.lang.String,java.io.File,java.nio.channels.FileChannel,long,long,long,java.util.zip.Checksum,java.nio.ByteBuffer)>(v, v, v, v, v, v, v, v);
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: void setState(org.apache.nifi.processors.standard.TailFile$TailFileState)>(v);
goto label;
label:
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void resetState(java.lang.String)>(v);
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[1];
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Recovered state {}", v);
return;
catch java.io.EOFException from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private void resetState(java.lang.String)
{
org.apache.nifi.processors.standard.TailFile v;
java.nio.ByteBuffer v;
org.apache.nifi.processors.standard.TailFile$TailFileState v;
java.util.Map v, v;
int v;
java.lang.Object v, v;
java.lang.String v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: java.lang.String;
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: void setExpectedRecoveryChecksum(java.lang.Long)>(null);
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = new org.apache.nifi.processors.standard.TailFile$TailFileState;
v = v.<org.apache.nifi.processors.standard.TailFile: int preAllocatedBufferSize>;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocate(int)>(v);
specialinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: void <init>(java.lang.String,java.io.File,java.nio.channels.FileChannel,long,long,long,java.util.zip.Checksum,java.nio.ByteBuffer)>(v, null, null, 0L, 0L, 0L, null, v);
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: void setState(org.apache.nifi.processors.standard.TailFile$TailFileState)>(v);
return;
}
public void cleanup(org.apache.nifi.processor.ProcessContext)
{
java.io.ByteArrayOutputStream v, v;
long v, v, v, v;
java.nio.ByteBuffer v;
java.util.zip.Checksum v;
org.apache.nifi.processors.standard.TailFile$TailFileState v, v;
java.util.Map v;
int v;
java.lang.String v;
boolean v, v;
org.apache.nifi.processors.standard.TailFile v;
java.util.Iterator v;
java.util.Collection v;
org.apache.nifi.processor.ProcessContext v;
java.io.File v;
java.lang.Object v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void cleanReader(org.apache.nifi.processors.standard.TailFile$TailFileObject)>(v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v = new org.apache.nifi.processors.standard.TailFile$TailFileState;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.lang.String getFilename()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.io.File getFile()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: long getPosition()>();
v = v.<org.apache.nifi.processors.standard.TailFile: java.io.ByteArrayOutputStream linesBuffer>;
v = virtualinvoke v.<java.io.ByteArrayOutputStream: int size()>();
v = v - v;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: long getTimestamp()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: long getLength()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.util.zip.Checksum getChecksum()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.nio.ByteBuffer getBuffer()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: boolean isTailingPostRollover()>();
specialinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: void <init>(java.lang.String,java.io.File,java.nio.channels.FileChannel,long,long,long,java.util.zip.Checksum,java.nio.ByteBuffer,boolean)>(v, v, null, v, v, v, v, v, v);
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: void setState(org.apache.nifi.processors.standard.TailFile$TailFileState)>(v);
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void persistState(org.apache.nifi.processors.standard.TailFile$TailFileObject,org.apache.nifi.processor.ProcessSession,org.apache.nifi.processor.ProcessContext)>(v, null, v);
goto label;
label:
v = v.<org.apache.nifi.processors.standard.TailFile: java.io.ByteArrayOutputStream linesBuffer>;
virtualinvoke v.<java.io.ByteArrayOutputStream: void reset()>();
return;
}
private void cleanReader(org.apache.nifi.processors.standard.TailFile$TailFileObject)
{
org.apache.nifi.processors.standard.TailFile v;
java.lang.Object[] v;
java.io.IOException v;
org.apache.nifi.logging.ComponentLog v, v;
org.apache.nifi.processors.standard.TailFile$TailFileState v, v;
org.apache.nifi.processors.standard.TailFile$TailFileObject v;
java.nio.channels.FileChannel v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: org.apache.nifi.processors.standard.TailFile$TailFileObject;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
if v != null goto label;
return;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.nio.channels.FileChannel getReader()>();
if v != null goto label;
return;
label:
virtualinvoke v.<java.nio.channels.FileChannel: void close()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[1];
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Closed FileChannel {}", v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void warn(java.lang.String)>("Failed to close file handle during cleanup");
label:
return;
catch java.io.IOException from label to label with label;
}
public void onTrigger(org.apache.nifi.processor.ProcessContext, org.apache.nifi.processor.ProcessSession) throws org.apache.nifi.processor.exception.ProcessException
{
java.util.Date v;
java.lang.Integer v;
org.apache.nifi.components.PropertyDescriptor v, v, v;
org.apache.nifi.components.PropertyValue v, v;
byte v;
java.lang.Long v;
org.apache.nifi.components.state.Scope v, v;
java.util.Map v, v, v, v;
boolean v, v, v, v;
java.util.Set v, v;
org.apache.nifi.components.state.StateMap v, v;
java.util.List v, v;
java.util.regex.Pattern v;
org.apache.nifi.processors.standard.TailFile$NulCharacterEncounteredException v;
java.lang.Object[] v;
java.io.ByteArrayOutputStream v;
java.util.concurrent.atomic.AtomicBoolean v;
java.util.HashMap v;
long v, v, v, v;
org.apache.nifi.logging.ComponentLog v, v, v, v, v;
int v, v;
java.lang.String v, v, v;
org.apache.nifi.processors.standard.TailFile v;
java.util.Iterator v;
org.apache.nifi.processor.ProcessContext v;
java.io.IOException v, v, v;
org.apache.nifi.processor.ProcessSession v;
java.util.concurrent.TimeUnit v;
java.util.concurrent.atomic.AtomicLong v;
java.lang.Object v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.concurrent.atomic.AtomicBoolean isMultiChanging>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicBoolean: boolean get()>();
if v == 0 goto label;
v = new java.util.Date;
specialinvoke v.<java.util.Date: void <init>()>();
v = virtualinvoke v.<java.util.Date: long getTime()>();
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.concurrent.atomic.AtomicLong lastLookup>;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = v - v;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor LOOKUP_FREQUENCY>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.Long asTimePeriod(java.util.concurrent.TimeUnit)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp v;
if v <= 0 goto label;
label:
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: java.util.List lookup(org.apache.nifi.processor.ProcessContext)>(v);
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.state.Scope getStateScope(org.apache.nifi.processor.ProcessContext)>(v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.components.state.StateMap getState(org.apache.nifi.components.state.Scope)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.state.StateMap: java.util.Map toMap()>();
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor START_POSITION>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void initStates(java.util.List,java.util.Map,boolean,java.lang.String)>(v, v, 0, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void error(java.lang.String,java.lang.Throwable)>("Exception raised while attempting to recover state about where the tailing last left off", v);
interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: void yield()>();
return;
label:
v = v.<org.apache.nifi.processors.standard.TailFile: boolean requireStateLookup>;
if v == 0 goto label;
label:
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: void recoverState(org.apache.nifi.processor.ProcessContext)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void error(java.lang.String,java.lang.Throwable)>("Exception raised while attempting to recover state about where the tailing last left off", v);
interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: void yield()>();
return;
label:
v.<org.apache.nifi.processors.standard.TailFile: boolean requireStateLookup> = 0;
label:
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: boolean isEmpty()>();
if v == 0 goto label;
interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: void yield()>();
return;
label:
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
label:
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void processTailFile(org.apache.nifi.processor.ProcessContext,org.apache.nifi.processor.ProcessSession,java.lang.String)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor REREAD_ON_NUL>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor: java.lang.String getDisplayName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("NUL character encountered in \u and \'\u0001\' is set to \'true\', yielding.");
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void warn(java.lang.String)>(v);
interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: void yield()>();
return;
label:
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.regex.Pattern lineStartPattern>;
if v == null goto label;
v = v.<org.apache.nifi.processors.standard.TailFile: java.io.ByteArrayOutputStream linesBuffer>;
v = virtualinvoke v.<java.io.ByteArrayOutputStream: int size()>();
if v <= 0 goto label;
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: void cleanup(org.apache.nifi.processor.ProcessContext)>(v);
label:
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.state.Scope getStateScope(org.apache.nifi.processor.ProcessContext)>(v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.components.state.StateMap getState(org.apache.nifi.components.state.Scope)>(v);
v = new java.util.HashMap;
v = interfaceinvoke v.<org.apache.nifi.components.state.StateMap: java.util.Map toMap()>();
specialinvoke v.<java.util.HashMap: void <init>(java.util.Map)>(v);
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: java.util.List collectKeysToBeRemoved(java.util.Map)>(v);
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
interfaceinvoke v.<java.util.Set: boolean removeAll(java.util.Collection)>(v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[1];
v = interfaceinvoke v.<java.util.List: int size()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Removed {} references to nonexistent files from session\'s state map", v);
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void setState(java.util.Map,org.apache.nifi.components.state.Scope)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void error(java.lang.String,java.lang.Throwable)>("Exception raised while attempting to cleanup session\'s state map", v);
interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: void yield()>();
return;
label:
return;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
catch org.apache.nifi.processors.standard.TailFile$NulCharacterEncounteredException from label to label with label;
catch java.io.IOException from label to label with label;
}
private java.util.List collectKeysToBeRemoved(java.util.Map)
{
java.util.function.Function v;
java.util.ArrayList v;
java.util.Map v;
java.lang.String v, v, v, v, v, v, v;
java.util.stream.Collector v;
boolean v;
org.apache.nifi.processors.standard.TailFile v;
java.util.Iterator v;
java.util.function.Predicate v;
java.util.Set v;
java.util.stream.Stream v, v, v;
java.lang.Object v, v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: java.util.Map;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <org.apache.nifi.processors.standard.TailFile$lambda_collectKeysToBeRemoved_1__232: java.util.function.Predicate bootstrap$(org.apache.nifi.processors.standard.TailFile)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream filter(java.util.function.Predicate)>(v);
v = staticinvoke <org.apache.nifi.processors.standard.TailFile$getKey__233: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String substringBefore(java.lang.String,java.lang.String)>(v, "filename");
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001filename");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001length");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001position");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001checksum");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001timestamp");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u0001tailingPostRollover");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
private void processTailFile(org.apache.nifi.processor.ProcessContext, org.apache.nifi.processor.ProcessSession, java.lang.String)
{
byte v, v, v, v, v, v, v;
java.lang.Long v, v, v, v, v, v, v, v, v;
java.util.Map v;
java.nio.file.Path v;
org.apache.nifi.components.AllowableValue v, v;
java.lang.Object[] v, v, v, v, v, v, v, v, v;
java.io.ByteArrayOutputStream v;
long v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.processors.standard.TailFile$TailFileState v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.processor.Relationship v;
java.io.IOException v, v, v, v;
org.apache.nifi.processor.ProcessSession v;
java.util.concurrent.atomic.AtomicLong v;
java.util.zip.CRC32 v, v;
org.apache.nifi.flowfile.attributes.CoreAttributes v, v;
java.util.zip.CheckedInputStream v;
org.apache.nifi.components.PropertyValue v, v, v;
int v, v, v;
java.lang.Boolean v;
java.io.FileInputStream v;
java.lang.Object v, v, v;
java.nio.channels.FileChannel v, v;
org.apache.nifi.components.PropertyDescriptor v, v, v;
org.apache.nifi.stream.io.NullOutputStream v;
java.lang.Throwable v, v;
org.apache.nifi.provenance.ProvenanceReporter v;
java.nio.file.OpenOption[] v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.processors.standard.TailFile v;
org.apache.nifi.processors.standard.TailFile$1 v;
java.io.File v, v, v;
java.nio.ByteBuffer v, v, v, v;
java.net.URI v;
boolean v, v, v, v, v, v, v, v;
org.apache.nifi.flowfile.FlowFile v, v;
java.nio.file.StandardOpenOption v;
java.util.HashMap v;
org.apache.nifi.logging.ComponentLog v, v, v, v, v, v, v, v, v, v, v, v;
java.util.concurrent.atomic.AtomicReference v;
java.util.zip.Checksum v, v, v;
org.apache.nifi.processor.ProcessContext v;
java.util.concurrent.TimeUnit v, v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v := @parameter: java.lang.String;
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: boolean isTailFileChanged()>();
if v == 0 goto label;
v = 0;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor START_POSITION>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue START_BEGINNING_OF_TIME>;
v = virtualinvoke v.<org.apache.nifi.components.AllowableValue: java.lang.String getValue()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: java.lang.Long getExpectedRecoveryChecksum()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: long getTimestamp()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: long getPosition()>();
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: boolean recoverRolledFiles(org.apache.nifi.processor.ProcessContext,org.apache.nifi.processor.ProcessSession,java.lang.String,java.lang.Long,long,long)>(v, v, v, v, v, v);
goto label;
label:
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue START_CURRENT_FILE>;
v = virtualinvoke v.<org.apache.nifi.components.AllowableValue: java.lang.String getValue()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: void cleanup(org.apache.nifi.processor.ProcessContext)>(v);
v = new org.apache.nifi.processors.standard.TailFile$TailFileState;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.nio.ByteBuffer getBuffer()>();
specialinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: void <init>(java.lang.String,java.io.File,java.nio.channels.FileChannel,long,long,long,java.util.zip.Checksum,java.nio.ByteBuffer)>(v, null, null, 0L, 0L, 0L, null, v);
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: void setState(org.apache.nifi.processors.standard.TailFile$TailFileState)>(v);
goto label;
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
label:
v = virtualinvoke v.<java.io.File: java.nio.file.Path toPath()>();
v = newarray (java.nio.file.OpenOption)[1];
v = <java.nio.file.StandardOpenOption: java.nio.file.StandardOpenOption READ>;
v[0] = v;
v = staticinvoke <java.nio.channels.FileChannel: java.nio.channels.FileChannel open(java.nio.file.Path,java.nio.file.OpenOption[])>(v, v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Created FileChannel {} for {}", v);
v = new java.util.zip.CRC32;
specialinvoke v.<java.util.zip.CRC32: void <init>()>();
v = virtualinvoke v.<java.io.File: long length()>();
v = virtualinvoke v.<java.io.File: long lastModified()>();
v = v + 1L;
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.io.File)>(v);
label:
v = new java.util.zip.CheckedInputStream;
specialinvoke v.<java.util.zip.CheckedInputStream: void <init>(java.io.InputStream,java.util.zip.Checksum)>(v, v);
label:
v = new org.apache.nifi.stream.io.NullOutputStream;
specialinvoke v.<org.apache.nifi.stream.io.NullOutputStream: void <init>()>();
staticinvoke <org.apache.nifi.stream.io.StreamUtils: void copy(java.io.InputStream,java.io.OutputStream,long)>(v, v, v);
label:
virtualinvoke v.<java.util.zip.CheckedInputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
virtualinvoke v.<java.io.InputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
virtualinvoke v.<java.nio.channels.FileChannel: java.nio.channels.FileChannel position(long)>(v);
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: void cleanup(org.apache.nifi.processor.ProcessContext)>(v);
v = new org.apache.nifi.processors.standard.TailFile$TailFileState;
v = virtualinvoke v.<java.io.File: long length()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.nio.ByteBuffer getBuffer()>();
specialinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: void <init>(java.lang.String,java.io.File,java.nio.channels.FileChannel,long,long,long,java.util.zip.Checksum,java.nio.ByteBuffer)>(v, v, v, v, v, v, v, v);
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: void setState(org.apache.nifi.processors.standard.TailFile$TailFileState)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[3];
v[0] = v;
v = virtualinvoke v.<java.io.IOException: java.lang.String toString()>();
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void error(java.lang.String,java.lang.Object[])>("Attempted to position Reader at current position in file {} but failed to do so due to {}", v);
interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: void yield()>();
return;
label:
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: void setTailFileChanged(boolean)>(0);
goto label;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: java.lang.Long getExpectedRecoveryChecksum()>();
if v != null goto label;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.util.zip.Checksum getChecksum()>();
if v != null goto label;
v = null;
goto label;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.util.zip.Checksum getChecksum()>();
v = interfaceinvoke v.<java.util.zip.Checksum: long getValue()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
label:
v = v;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: long getTimestamp()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: long getPosition()>();
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: boolean recoverRolledFiles(org.apache.nifi.processor.ProcessContext,org.apache.nifi.processor.ProcessSession,java.lang.String,java.lang.Long,long,long)>(v, v, v, v, v, v);
if v == 0 goto label;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor POST_ROLLOVER_TAIL_PERIOD>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.Long asTimePeriod(java.util.concurrent.TimeUnit)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp 0L;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[1];
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("File {} was rolled over and the Rollover Tail Period is set, so will not consume from new file during this iteration.", v);
return;
label:
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: void setExpectedRecoveryChecksum(java.lang.Long)>(null);
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.io.File getFile()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.nio.channels.FileChannel getReader()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.util.zip.Checksum getChecksum()>();
if v != null goto label;
v = new java.util.zip.CRC32;
specialinvoke v.<java.util.zip.CRC32: void <init>()>();
v = v;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: long getPosition()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: long getTimestamp()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: long getLength()>();
if v == null goto label;
if v != null goto label;
label:
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = v;
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: java.nio.channels.FileChannel createReader(java.io.File,long)>(v, v);
if v != null goto label;
interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: void yield()>();
return;
label:
v = staticinvoke <java.lang.System: long nanoTime()>();
v = v;
if v != 0 goto label;
v = virtualinvoke v.<java.io.File: long length()>();
v = v cmp v;
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[2];
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Rotated = true because TailFileState Length = {}, File Length = {}", v);
v = 1;
goto label;
label:
v = virtualinvoke v.<java.nio.channels.FileChannel: long size()>();
v = virtualinvoke v.<java.nio.channels.FileChannel: long position()>();
v = v cmp v;
if v != 0 goto label;
v = v cmp v;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[3];
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[2] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Rotated = true because readerSize={}, readerPosition={}, fileLength={}", v);
v = 1;
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void warn(java.lang.String,java.lang.Throwable)>("Failed to determined the size or position of the File Channel when determining if the file has rolled over. Will assume that the file being tailed has not rolled over", v);
label:
if v == 0 goto label;
label:
virtualinvoke v.<java.nio.channels.FileChannel: void close()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[1];
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Closed FileChannel {}", v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void warn(java.lang.String,java.lang.Object[])>("Failed to close reader for {}", v);
label:
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: java.nio.channels.FileChannel createReader(java.io.File,long)>(v, 0L);
v = 0L;
interfaceinvoke v.<java.util.zip.Checksum: void reset()>();
label:
v = virtualinvoke v.<java.io.File: long length()>();
v = v cmp v;
if v == 0 goto label;
v = virtualinvoke v.<java.io.File: boolean exists()>();
if v != 0 goto label;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String)>("No data to consume; created no FlowFiles");
v = new org.apache.nifi.processors.standard.TailFile$TailFileState;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.nio.ByteBuffer getBuffer()>();
specialinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: void <init>(java.lang.String,java.io.File,java.nio.channels.FileChannel,long,long,long,java.util.zip.Checksum,java.nio.ByteBuffer)>(v, v, v, v, v, v, v, v);
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: void setState(org.apache.nifi.processors.standard.TailFile$TailFileState)>(v);
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void persistState(org.apache.nifi.processors.standard.TailFile$TailFileObject,org.apache.nifi.processor.ProcessSession,org.apache.nifi.processor.ProcessContext)>(v, v, v);
interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: void yield()>();
return;
label:
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile create()>();
v = new java.util.concurrent.atomic.AtomicLong;
specialinvoke v.<java.util.concurrent.atomic.AtomicLong: void <init>(long)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor REREAD_ON_NUL>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.Boolean asBoolean()>();
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>()>();
v = new org.apache.nifi.processors.standard.TailFile$1;
specialinvoke v.<org.apache.nifi.processors.standard.TailFile$1: void <init>(org.apache.nifi.processors.standard.TailFile,java.util.concurrent.atomic.AtomicLong,java.nio.channels.FileChannel,org.apache.nifi.processors.standard.TailFile$TailFileState,java.util.zip.Checksum,boolean,java.util.concurrent.atomic.AtomicReference)>(v, v, v, v, v, v, v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile write(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.io.OutputStreamCallback)>(v, v);
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: long getSize()>();
v = v cmp 0L;
if v != 0 goto label;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void remove(org.apache.nifi.flowfile.FlowFile)>(v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String)>("No data to consume; removed created FlowFile");
goto label;
label:
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String substringBeforeLast(java.lang.String,java.lang.String)>(v, ".");
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: int length()>();
if v >= v goto label;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String substringAfterLast(java.lang.String,java.lang.String)>(v, ".");
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,long,long,java.lang.String)>(v, v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u.\u0001-\u.\u0001");
goto label;
label:
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,long,long)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u.\u0001-\u0001");
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>(int)>(3);
v = <org.apache.nifi.flowfile.attributes.CoreAttributes: org.apache.nifi.flowfile.attributes.CoreAttributes FILENAME>;
v = virtualinvoke v.<org.apache.nifi.flowfile.attributes.CoreAttributes: java.lang.String key()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.nifi.flowfile.attributes.CoreAttributes: org.apache.nifi.flowfile.attributes.CoreAttributes MIME_TYPE>;
v = virtualinvoke v.<org.apache.nifi.flowfile.attributes.CoreAttributes: java.lang.String key()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, "text/plain");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("tailfile.original.path", v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile putAllAttributes(org.apache.nifi.flowfile.FlowFile,java.util.Map)>(v, v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.provenance.ProvenanceReporter getProvenanceReporter()>();
v = virtualinvoke v.<java.io.File: java.net.URI toURI()>();
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long,long)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("FlowFile contains bytes \u through \u of source file");
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit NANOSECONDS>;
v = staticinvoke <java.lang.System: long nanoTime()>();
v = v - v;
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toMillis(long)>(v);
interfaceinvoke v.<org.apache.nifi.provenance.ProvenanceReporter: void receive(org.apache.nifi.flowfile.FlowFile,java.lang.String,java.lang.String,long)>(v, v, v, v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.processor.Relationship REL_SUCCESS>;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void transfer(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.Relationship)>(v, v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[1];
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Created {} and routed to success", v);
label:
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: long getSize()>();
v = v cmp 0L;
if v > 0 goto label;
v = v.<org.apache.nifi.processors.standard.TailFile: java.io.ByteArrayOutputStream linesBuffer>;
v = virtualinvoke v.<java.io.ByteArrayOutputStream: int size()>();
if v <= 0 goto label;
label:
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: long getTimestamp()>();
v = virtualinvoke v.<java.io.File: long lastModified()>();
v = staticinvoke <java.lang.Math: long max(long,long)>(v, v);
v = virtualinvoke v.<java.io.File: long length()>();
label:
v = new org.apache.nifi.processors.standard.TailFile$TailFileState;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.nio.ByteBuffer getBuffer()>();
specialinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: void <init>(java.lang.String,java.io.File,java.nio.channels.FileChannel,long,long,long,java.util.zip.Checksum,java.nio.ByteBuffer)>(v, v, v, v, v, v, v, v);
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: void setState(org.apache.nifi.processors.standard.TailFile$TailFileState)>(v);
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void persistState(org.apache.nifi.processors.standard.TailFile$TailFileObject,org.apache.nifi.processor.ProcessSession,org.apache.nifi.processor.ProcessContext)>(v, v, v);
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicLong: long get()>();
label:
virtualinvoke v.<java.nio.channels.FileChannel: java.nio.channels.FileChannel position(long)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[3];
v[0] = v;
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void warn(java.lang.String,java.lang.Object[])>("Couldn\'t reposition the reader for {} due to {}", v);
label:
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
}
private long readLines(java.nio.channels.FileChannel, java.nio.ByteBuffer, java.io.OutputStream, java.util.zip.Checksum, java.lang.Boolean) throws java.io.IOException
{
java.io.OutputStream v;
org.apache.nifi.processors.standard.TailFile v;
java.util.zip.Checksum v;
java.lang.Boolean v;
long v;
java.nio.channels.FileChannel v;
java.nio.ByteBuffer v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: java.nio.channels.FileChannel;
v := @parameter: java.nio.ByteBuffer;
v := @parameter: java.io.OutputStream;
v := @parameter: java.util.zip.Checksum;
v := @parameter: java.lang.Boolean;
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: long readLines(java.nio.channels.FileChannel,java.nio.ByteBuffer,java.io.OutputStream,java.util.zip.Checksum,java.lang.Boolean,boolean)>(v, v, v, v, v, 0);
return v;
}
private long readLines(java.nio.channels.FileChannel, java.nio.ByteBuffer, java.io.OutputStream, java.util.zip.Checksum, java.lang.Boolean, boolean) throws java.io.IOException
{
java.lang.Integer v;
java.nio.ByteBuffer v;
byte v, v;
java.lang.Long v, v, v;
boolean v, v, v;
org.apache.nifi.processors.standard.TailFile$NulCharacterEncounteredException v;
java.lang.Throwable v;
java.lang.Object[] v, v;
java.io.ByteArrayOutputStream v;
long v, v, v, v, v, v;
org.apache.nifi.logging.ComponentLog v, v;
java.util.zip.Checksum v;
int v, v, v, v;
java.lang.Boolean v;
java.io.OutputStream v;
org.apache.nifi.processors.standard.TailFile v;
java.nio.channels.FileChannel v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: java.nio.channels.FileChannel;
v := @parameter: java.nio.ByteBuffer;
v := @parameter: java.io.OutputStream;
v := @parameter: java.util.zip.Checksum;
v := @parameter: java.lang.Boolean;
v := @parameter: boolean;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[1];
v = virtualinvoke v.<java.nio.channels.FileChannel: long position()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Reading lines starting at position {}", v);
v = new java.io.ByteArrayOutputStream;
specialinvoke v.<java.io.ByteArrayOutputStream: void <init>()>();
label:
v = virtualinvoke v.<java.nio.channels.FileChannel: long position()>();
v = v;
v = 0;
v = 0;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer clear()>();
label:
v = virtualinvoke v.<java.nio.channels.FileChannel: int read(java.nio.ByteBuffer)>(v);
v = (int) -1;
if v == v goto label;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer flip()>();
v = 0;
label:
if v >= v goto label;
v = virtualinvoke v.<java.nio.ByteBuffer: byte get(int)>(v);
lookupswitch(v)
{
case 0: goto label;
case 10: goto label;
case 13: goto label;
default: goto label;
};
label:
virtualinvoke v.<java.io.ByteArrayOutputStream: void write(int)>(v);
v = 0;
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void flushByteArrayOutputStream(java.io.ByteArrayOutputStream,java.io.OutputStream,java.util.zip.Checksum,boolean)>(v, v, v, 0);
v = v + v;
v = v + 1L;
v = v + 1;
goto label;
label:
virtualinvoke v.<java.io.ByteArrayOutputStream: void write(int)>(v);
v = 1;
goto label;
label:
v = virtualinvoke v.<java.lang.Boolean: boolean booleanValue()>();
if v == 0 goto label;
v = new org.apache.nifi.processors.standard.TailFile$NulCharacterEncounteredException;
specialinvoke v.<org.apache.nifi.processors.standard.TailFile$NulCharacterEncounteredException: void <init>(long)>(v);
throw v;
label:
if v == 0 goto label;
v = 0;
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void flushByteArrayOutputStream(java.io.ByteArrayOutputStream,java.io.OutputStream,java.util.zip.Checksum,boolean)>(v, v, v, 0);
v = v + 1;
virtualinvoke v.<java.io.ByteArrayOutputStream: void write(int)>(v);
v = v + v;
goto label;
label:
virtualinvoke v.<java.io.ByteArrayOutputStream: void write(int)>(v);
label:
v = v + 1;
goto label;
label:
v = virtualinvoke v.<java.nio.channels.FileChannel: long position()>();
goto label;
label:
if v == 0 goto label;
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void flushByteArrayOutputStream(java.io.ByteArrayOutputStream,java.io.OutputStream,java.util.zip.Checksum,boolean)>(v, v, v, 1);
v = virtualinvoke v.<java.nio.channels.FileChannel: long position()>();
label:
v = virtualinvoke v.<java.nio.channels.FileChannel: long position()>();
v = v cmp v;
if v >= 0 goto label;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[3];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[2] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Read {} lines; repositioning reader from {} to {}", v);
virtualinvoke v.<java.nio.channels.FileChannel: java.nio.channels.FileChannel position(long)>(v);
label:
v = v;
label:
virtualinvoke v.<java.io.ByteArrayOutputStream: void close()>();
return v;
label:
v := @caughtexception;
throw v;
catch java.lang.Throwable from label to label with label;
}
private void flushByteArrayOutputStream(java.io.ByteArrayOutputStream, java.io.OutputStream, java.util.zip.Checksum, boolean) throws java.io.IOException
{
byte[] v, v, v;
java.util.regex.Matcher v;
byte v;
java.lang.Long v;
boolean v, v, v;
java.util.regex.Pattern v, v;
java.lang.Object[] v;
java.io.ByteArrayOutputStream v, v, v, v;
java.lang.String[] v;
long v, v;
org.apache.nifi.logging.ComponentLog v, v;
java.util.zip.Checksum v;
java.nio.charset.Charset v, v;
int v, v, v, v;
java.lang.String v, v;
java.io.OutputStream v;
org.apache.nifi.processors.standard.TailFile v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: java.io.ByteArrayOutputStream;
v := @parameter: java.io.OutputStream;
v := @parameter: java.util.zip.Checksum;
v := @parameter: boolean;
v = virtualinvoke v.<java.io.ByteArrayOutputStream: byte[] toByteArray()>();
virtualinvoke v.<java.io.ByteArrayOutputStream: void reset()>();
if v == 0 goto label;
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void flushLinesBuffer(java.io.OutputStream,java.util.zip.Checksum)>(v, v);
label:
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.regex.Pattern lineStartPattern>;
if v != null goto label;
virtualinvoke v.<java.io.OutputStream: void write(byte[])>(v);
v = lengthof v;
interfaceinvoke v.<java.util.zip.Checksum: void update(byte[],int,int)>(v, 0, v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: boolean isTraceEnabled()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[1];
v = interfaceinvoke v.<java.util.zip.Checksum: long getValue()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void trace(java.lang.String,java.lang.Object[])>("Checksum updated to {}", v);
label:
return;
label:
v = new java.lang.String;
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
specialinvoke v.<java.lang.String: void <init>(byte[],java.nio.charset.Charset)>(v, v);
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>("\n");
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.regex.Pattern lineStartPattern>;
v = virtualinvoke v.<java.util.regex.Pattern: java.util.regex.Matcher matcher(java.lang.CharSequence)>(v);
v = virtualinvoke v.<java.util.regex.Matcher: boolean lookingAt()>();
if v != 0 goto label;
v = v.<org.apache.nifi.processors.standard.TailFile: java.io.ByteArrayOutputStream linesBuffer>;
v = virtualinvoke v.<java.io.ByteArrayOutputStream: int size()>();
v = v.<org.apache.nifi.processors.standard.TailFile: long maxBufferBytes>;
v = v cmp v;
if v < 0 goto label;
label:
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void flushLinesBuffer(java.io.OutputStream,java.util.zip.Checksum)>(v, v);
label:
v = v.<org.apache.nifi.processors.standard.TailFile: java.io.ByteArrayOutputStream linesBuffer>;
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.nio.charset.Charset)>(v);
virtualinvoke v.<java.io.ByteArrayOutputStream: void write(byte[])>(v);
v = v.<org.apache.nifi.processors.standard.TailFile: java.io.ByteArrayOutputStream linesBuffer>;
v = <org.apache.nifi.processors.standard.TailFile: byte[] NEW_LINE_BYTES>;
virtualinvoke v.<java.io.ByteArrayOutputStream: void write(byte[])>(v);
v = v + 1;
goto label;
label:
return;
}
private void flushLinesBuffer(java.io.OutputStream, java.util.zip.Checksum) throws java.io.IOException
{
java.io.OutputStream v;
org.apache.nifi.processors.standard.TailFile v;
byte[] v;
java.lang.Object[] v;
java.io.ByteArrayOutputStream v, v, v, v;
long v;
org.apache.nifi.logging.ComponentLog v, v;
java.util.zip.Checksum v;
java.lang.Long v;
int v;
boolean v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: java.io.OutputStream;
v := @parameter: java.util.zip.Checksum;
v = v.<org.apache.nifi.processors.standard.TailFile: java.io.ByteArrayOutputStream linesBuffer>;
virtualinvoke v.<java.io.ByteArrayOutputStream: void writeTo(java.io.OutputStream)>(v);
v = v.<org.apache.nifi.processors.standard.TailFile: java.io.ByteArrayOutputStream linesBuffer>;
v = virtualinvoke v.<java.io.ByteArrayOutputStream: byte[] toByteArray()>();
v = v.<org.apache.nifi.processors.standard.TailFile: java.io.ByteArrayOutputStream linesBuffer>;
v = virtualinvoke v.<java.io.ByteArrayOutputStream: int size()>();
interfaceinvoke v.<java.util.zip.Checksum: void update(byte[],int,int)>(v, 0, v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: boolean isTraceEnabled()>();
if v == 0 goto label;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[1];
v = interfaceinvoke v.<java.util.zip.Checksum: long getValue()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void trace(java.lang.String,java.lang.Object[])>("Checksum updated to {}", v);
label:
v = v.<org.apache.nifi.processors.standard.TailFile: java.io.ByteArrayOutputStream linesBuffer>;
virtualinvoke v.<java.io.ByteArrayOutputStream: void reset()>();
return;
}
private java.util.List getRolledOffFiles(org.apache.nifi.processor.ProcessContext, long, java.lang.String) throws java.io.IOException
{
java.lang.Throwable v;
java.lang.Object[] v;
long v, v, v;
org.apache.nifi.logging.ComponentLog v;
org.apache.nifi.components.PropertyDescriptor v;
java.util.ArrayList v;
org.apache.nifi.components.PropertyValue v;
java.nio.file.DirectoryStream v;
byte v;
java.lang.Long v, v;
java.lang.String v, v, v, v, v;
java.nio.file.Path v;
boolean v, v;
org.apache.nifi.processors.standard.TailFile v;
java.util.Iterator v;
org.apache.nifi.processors.standard.TailFile$2 v;
org.apache.nifi.processor.ProcessContext v;
java.io.File v, v, v, v;
java.util.List v;
java.lang.Object v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v := @parameter: long;
v := @parameter: java.lang.String;
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(v);
v = virtualinvoke v.<java.io.File: java.io.File getParentFile()>();
if v != null goto label;
v = new java.io.File;
specialinvoke v.<java.io.File: void <init>(java.lang.String)>(".");
v = v;
label:
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor ROLLING_FILENAME_PATTERN>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
if v != null goto label;
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
return v;
label:
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
v = staticinvoke <org.apache.commons.lang.StringUtils: java.lang.String substringBeforeLast(java.lang.String,java.lang.String)>(v, ".");
v = virtualinvoke v.<java.lang.String: java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence)>("${filename}", v);
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = virtualinvoke v.<java.io.File: java.nio.file.Path toPath()>();
v = staticinvoke <java.nio.file.Files: java.nio.file.DirectoryStream newDirectoryStream(java.nio.file.Path,java.lang.String)>(v, v);
label:
v = interfaceinvoke v.<java.nio.file.DirectoryStream: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.nio.file.Path: java.io.File toFile()>();
v = virtualinvoke v.<java.io.File: long lastModified()>();
v = virtualinvoke v.<java.io.File: long lastModified()>();
v = v cmp v;
if v >= 0 goto label;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[3];
v[0] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[2] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Found rolled off file {} but its last modified timestamp is before the cutoff (Last Mod = {}, Cutoff = {}) so will not consume it", v);
goto label;
label:
v = virtualinvoke v.<java.io.File: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
interfaceinvoke v.<java.nio.file.DirectoryStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v = new org.apache.nifi.processors.standard.TailFile$2;
specialinvoke v.<org.apache.nifi.processors.standard.TailFile$2: void <init>(org.apache.nifi.processors.standard.TailFile)>(v);
interfaceinvoke v.<java.util.List: void sort(java.util.Comparator)>(v);
return v;
catch java.lang.Throwable from label to label with label;
}
private org.apache.nifi.components.state.Scope getStateScope(org.apache.nifi.processor.ProcessContext)
{
org.apache.nifi.processors.standard.TailFile v;
org.apache.nifi.processor.ProcessContext v;
org.apache.nifi.components.AllowableValue v;
org.apache.nifi.components.PropertyDescriptor v;
org.apache.nifi.components.PropertyValue v;
org.apache.nifi.components.state.Scope v, v;
java.lang.String v, v;
boolean v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor STATE_LOCATION>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue LOCATION_REMOTE>;
v = virtualinvoke v.<org.apache.nifi.components.AllowableValue: java.lang.String getValue()>();
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v == 0 goto label;
v = <org.apache.nifi.components.state.Scope: org.apache.nifi.components.state.Scope CLUSTER>;
return v;
label:
v = <org.apache.nifi.components.state.Scope: org.apache.nifi.components.state.Scope LOCAL>;
return v;
}
private void persistState(org.apache.nifi.processors.standard.TailFile$TailFileObject, org.apache.nifi.processor.ProcessSession, org.apache.nifi.processor.ProcessContext)
{
org.apache.nifi.processors.standard.TailFile v;
org.apache.nifi.processors.standard.TailFile$TailFileState v;
java.util.Map v;
int v;
org.apache.nifi.processor.ProcessContext v;
org.apache.nifi.processor.ProcessSession v;
org.apache.nifi.processors.standard.TailFile$TailFileObject v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: org.apache.nifi.processors.standard.TailFile$TailFileObject;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: int getFilenameIndex()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.util.Map toStateMap(int)>(v);
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void persistState(java.util.Map,org.apache.nifi.processor.ProcessSession,org.apache.nifi.processor.ProcessContext)>(v, v, v);
return;
}
private void persistState(java.util.Map, org.apache.nifi.processor.ProcessSession, org.apache.nifi.processor.ProcessContext)
{
java.lang.Object[] v;
java.util.HashMap v;
org.apache.nifi.logging.ComponentLog v, v;
org.apache.nifi.components.state.Scope v;
java.util.Map v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v, v, v;
org.apache.nifi.processors.standard.TailFile v;
java.util.Iterator v;
org.apache.nifi.components.state.StateManager v, v;
org.apache.nifi.processor.ProcessContext v;
java.util.Set v;
java.io.IOException v;
org.apache.nifi.processor.ProcessSession v;
org.apache.nifi.components.state.StateMap v, v;
java.lang.Object v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: java.util.Map;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v := @parameter: org.apache.nifi.processor.ProcessContext;
label:
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.state.Scope getStateScope(org.apache.nifi.processor.ProcessContext)>(v);
if v != null goto label;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.state.StateManager getStateManager()>();
v = interfaceinvoke v.<org.apache.nifi.components.state.StateManager: org.apache.nifi.components.state.StateMap getState(org.apache.nifi.components.state.Scope)>(v);
goto label;
label:
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.components.state.StateMap getState(org.apache.nifi.components.state.Scope)>(v);
label:
v = v;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = interfaceinvoke v.<org.apache.nifi.components.state.StateMap: java.util.Map toMap()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = "checksum";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = "filename";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = "position";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = "timestamp";
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[2];
v[0] = v;
v = interfaceinvoke v.<org.apache.nifi.components.state.StateMap: java.lang.String get(java.lang.String)>(v);
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void info(java.lang.String,java.lang.Object[])>("Removed state {}={} stored by older version of NiFi.", v);
goto label;
label:
v = interfaceinvoke v.<org.apache.nifi.components.state.StateMap: java.lang.String get(java.lang.String)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
interfaceinvoke v.<java.util.Map: void putAll(java.util.Map)>(v);
if v != null goto label;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.state.StateManager getStateManager()>();
interfaceinvoke v.<org.apache.nifi.components.state.StateManager: void setState(java.util.Map,org.apache.nifi.components.state.Scope)>(v, v);
goto label;
label:
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void setState(java.util.Map,org.apache.nifi.components.state.Scope)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void warn(java.lang.String,java.lang.Throwable)>("Failed to store state; some data may be duplicated on restart of NiFi", v);
label:
return;
catch java.io.IOException from label to label with label;
}
private java.nio.channels.FileChannel createReader(java.io.File, long)
{
java.lang.Object[] v, v, v, v;
long v;
org.apache.nifi.logging.ComponentLog v, v, v, v;
java.nio.file.OpenOption[] v;
java.nio.file.Path v;
org.apache.nifi.processors.standard.TailFile v;
java.nio.file.StandardOpenOption v;
java.io.IOException v, v, v;
java.io.File v;
java.nio.channels.FileChannel v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: java.io.File;
v := @parameter: long;
label:
v = virtualinvoke v.<java.io.File: java.nio.file.Path toPath()>();
v = newarray (java.nio.file.OpenOption)[1];
v = <java.nio.file.StandardOpenOption: java.nio.file.StandardOpenOption READ>;
v[0] = v;
v = staticinvoke <java.nio.channels.FileChannel: java.nio.channels.FileChannel open(java.nio.file.Path,java.nio.file.OpenOption[])>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void warn(java.lang.String,java.lang.Object[])>("Unable to open file {}; will attempt to access file again after the configured Yield Duration has elapsed", v);
return null;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Created FileChannel {} for {}", v);
label:
virtualinvoke v.<java.nio.channels.FileChannel: java.nio.channels.FileChannel position(long)>(v);
label:
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void error(java.lang.String,java.lang.Object[])>("Failed to read from {}", v);
label:
virtualinvoke v.<java.nio.channels.FileChannel: void close()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[1];
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Closed FileChannel {}", v);
label:
goto label;
label:
v := @caughtexception;
label:
return null;
label:
return v;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
}
java.util.Map getState()
{
org.apache.nifi.processors.standard.TailFile v;
java.util.Map v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
return v;
}
private boolean recoverRolledFiles(org.apache.nifi.processor.ProcessContext, org.apache.nifi.processor.ProcessSession, java.lang.String, java.lang.Long, long, long)
{
org.apache.nifi.processors.standard.TailFile v;
org.apache.nifi.processor.ProcessContext v;
java.io.IOException v;
long v, v;
org.apache.nifi.processor.ProcessSession v;
org.apache.nifi.logging.ComponentLog v;
java.util.List v;
java.lang.Long v;
java.lang.String v;
boolean v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Long;
v := @parameter: long;
v := @parameter: long;
label:
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: java.util.List getRolledOffFiles(org.apache.nifi.processor.ProcessContext,long,java.lang.String)>(v, v, v);
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: boolean recoverRolledFiles(org.apache.nifi.processor.ProcessContext,org.apache.nifi.processor.ProcessSession,java.lang.String,java.util.List,java.lang.Long,long)>(v, v, v, v, v, v);
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void error(java.lang.String,java.lang.Throwable)>("Failed to recover files that have rolled over", v);
return 0;
catch java.io.IOException from label to label with label;
}
private boolean recoverRolledFiles(org.apache.nifi.processor.ProcessContext, org.apache.nifi.processor.ProcessSession, java.lang.String, java.util.List, java.lang.Long, long)
{
java.lang.Integer v;
org.apache.nifi.components.PropertyDescriptor v;
byte v, v, v, v, v;
java.lang.Long v, v, v, v, v, v, v;
java.util.Map v;
java.lang.Object[] v, v, v, v;
long v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.processors.standard.TailFile$TailFileState v, v;
java.lang.String v;
org.apache.nifi.processors.standard.TailFile v;
java.io.IOException v;
org.apache.nifi.processor.ProcessSession v;
org.apache.nifi.components.PropertyValue v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.List v, v;
org.apache.nifi.logging.ComponentLog v, v, v, v, v;
java.util.function.Function v;
int v;
java.util.Iterator v;
org.apache.nifi.processor.ProcessContext v;
java.util.concurrent.TimeUnit v;
java.lang.Object v, v, v, v, v;
java.util.Comparator v, v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v := @parameter: java.lang.String;
v := @parameter: java.util.List;
v := @parameter: java.lang.Long;
v := @parameter: long;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[1];
v = interfaceinvoke v.<java.util.List: int size()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Recovering Rolled Off Files; total number of files rolled off = {}", v);
v = v.<org.apache.nifi.processors.standard.TailFile: java.util.Map states>;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor POST_ROLLOVER_TAIL_PERIOD>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.Long asTimePeriod(java.util.concurrent.TimeUnit)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: boolean isTailingPostRollover()>();
v = v cmp 0L;
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: long getCurrentTimeMs()>();
v = virtualinvoke v.<java.io.File: long lastModified()>();
v = v - v;
v = virtualinvoke v.<java.io.File: long length()>();
v = v cmp v;
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v cmp 0L;
if v == 0 goto label;
v = v cmp v;
if v >= 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
if v == 0 goto label;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
goto label;
label:
v = 0;
label:
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
if v == 0 goto label;
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: boolean tailRolledFile(org.apache.nifi.processor.ProcessContext,org.apache.nifi.processor.ProcessSession,java.lang.String,java.lang.Long,long,org.apache.nifi.processors.standard.TailFile$TailFileObject,java.io.File,boolean,boolean)>(v, v, v, v, v, v, v, 0, 1);
goto label;
label:
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: boolean tailRolledFile(org.apache.nifi.processor.ProcessContext,org.apache.nifi.processor.ProcessSession,java.lang.String,java.lang.Long,long,org.apache.nifi.processors.standard.TailFile$TailFileObject,java.io.File,boolean,boolean)>(v, v, v, v, v, v, v, 1, 0);
label:
if v == 0 goto label;
interfaceinvoke v.<java.util.List: java.lang.Object remove(int)>(0);
goto label;
label:
if v == 0 goto label;
if v == 0 goto label;
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: java.util.List getRolledOffFiles(org.apache.nifi.processor.ProcessContext,long,java.lang.String)>(v, 0L, v);
v = staticinvoke <org.apache.nifi.processors.standard.TailFile$lastModified__234: java.util.function.Function bootstrap$()>();
v = staticinvoke <java.util.Comparator: java.util.Comparator comparing(java.util.function.Function)>(v);
v = interfaceinvoke v.<java.util.Comparator: java.util.Comparator reversed()>();
interfaceinvoke v.<java.util.List: void sort(java.util.Comparator)>(v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(0);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: long getCurrentTimeMs()>();
v = virtualinvoke v.<java.io.File: long lastModified()>();
v = v - v;
v = v cmp v;
if v >= 0 goto label;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[4];
v[0] = v;
v = virtualinvoke v.<java.io.File: long length()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v = virtualinvoke v.<java.io.File: long lastModified()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[2] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[3] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Rolled over file {} (size={}, lastModified={}) was modified {} millis ago, which isn\'t long enough to consume file fully without taking line endings into account. Will do nothing will file for now.", v);
label:
return 1;
label:
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: boolean tailRolledFile(org.apache.nifi.processor.ProcessContext,org.apache.nifi.processor.ProcessSession,java.lang.String,java.lang.Long,long,org.apache.nifi.processors.standard.TailFile$TailFileObject,java.io.File,boolean,boolean)>(v, v, v, v, v, v, v, 1, 0);
if v == 0 goto label;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[1];
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Consumed the final data from {}", v);
interfaceinvoke v.<java.util.List: boolean remove(java.lang.Object)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[3];
v[0] = v;
v = virtualinvoke v.<java.io.File: long length()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v = virtualinvoke v.<java.io.File: long lastModified()>();
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[2] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("No more data to consume from {} (size={}, lastModified={})", v);
label:
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = specialinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.processors.standard.TailFile$TailFileState consumeFileFully(java.io.File,org.apache.nifi.processor.ProcessContext,org.apache.nifi.processor.ProcessSession,org.apache.nifi.processors.standard.TailFile$TailFileObject)>(v, v, v, v);
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: void setState(org.apache.nifi.processors.standard.TailFile$TailFileState)>(v);
goto label;
label:
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void error(java.lang.String,java.lang.Throwable)>("Failed to recover files that have rolled over", v);
return 0;
catch java.io.IOException from label to label with label;
catch java.io.IOException from label to label with label;
}
private boolean tailRolledFile(org.apache.nifi.processor.ProcessContext, org.apache.nifi.processor.ProcessSession, java.lang.String, java.lang.Long, long, org.apache.nifi.processors.standard.TailFile$TailFileObject, java.io.File, boolean, boolean) throws java.io.IOException
{
org.apache.nifi.processor.io.OutputStreamCallback v;
org.apache.nifi.components.PropertyDescriptor v, v, v;
byte v, v, v;
java.lang.Long v, v, v, v, v, v;
org.apache.nifi.processors.standard.TailFile$TailFileObject v;
org.apache.nifi.stream.io.NullOutputStream v;
java.lang.Throwable v, v;
java.lang.Object[] v, v, v, v, v;
long v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.processors.standard.TailFile$TailFileState v, v, v, v;
org.apache.nifi.provenance.ProvenanceReporter v;
org.apache.nifi.processor.Relationship v;
java.lang.String v, v, v, v, v, v, v, v;
org.apache.nifi.processors.standard.TailFile v;
org.apache.nifi.processor.ProcessSession v;
java.io.File v, v;
java.util.zip.CRC32 v, v;
org.apache.nifi.flowfile.attributes.CoreAttributes v, v;
java.util.zip.CheckedInputStream v;
java.nio.ByteBuffer v, v, v, v;
org.apache.nifi.components.PropertyValue v, v;
java.net.URI v;
boolean v, v;
org.apache.nifi.flowfile.FlowFile v, v;
java.util.HashMap v;
org.apache.nifi.logging.ComponentLog v, v, v, v, v;
java.util.concurrent.atomic.AtomicReference v;
java.util.zip.Checksum v, v, v, v;
int v;
java.lang.Boolean v;
org.apache.nifi.processor.ProcessContext v;
java.io.FileInputStream v;
java.util.concurrent.TimeUnit v, v;
java.lang.Object v;
java.nio.channels.FileChannel v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v := @parameter: java.lang.String;
v := @parameter: java.lang.Long;
v := @parameter: long;
v := @parameter: org.apache.nifi.processors.standard.TailFile$TailFileObject;
v := @parameter: java.io.File;
v := @parameter: boolean;
v := @parameter: boolean;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor REREAD_ON_NUL>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.Boolean asBoolean()>();
v = staticinvoke <java.lang.System: long nanoTime()>();
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.io.File)>(v);
label:
v = new java.util.zip.CheckedInputStream;
v = new java.util.zip.CRC32;
specialinvoke v.<java.util.zip.CRC32: void <init>()>();
specialinvoke v.<java.util.zip.CheckedInputStream: void <init>(java.io.InputStream,java.util.zip.Checksum)>(v, v);
label:
v = new org.apache.nifi.stream.io.NullOutputStream;
specialinvoke v.<org.apache.nifi.stream.io.NullOutputStream: void <init>()>();
staticinvoke <org.apache.nifi.stream.io.StreamUtils: void copy(java.io.InputStream,java.io.OutputStream,long)>(v, v, v);
v = virtualinvoke v.<java.util.zip.CheckedInputStream: java.util.zip.Checksum getChecksum()>();
v = interfaceinvoke v.<java.util.zip.Checksum: long getValue()>();
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = v cmp v;
if v == 0 goto label;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[3];
v[0] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v[2] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Checksum for {} did not match expected checksum. Checksum for file was {} but expected {}. Will consume entire file", v);
label:
virtualinvoke v.<java.util.zip.CheckedInputStream: void close()>();
label:
virtualinvoke v.<java.io.FileInputStream: void close()>();
return 0;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[2];
v[0] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Checksum for {} matched expected checksum. Will skip first {} bytes", v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile create()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.util.zip.Checksum getChecksum()>();
if v != null goto label;
v = new java.util.zip.CRC32;
v = v;
specialinvoke v.<java.util.zip.CRC32: void <init>()>();
goto label;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.util.zip.Checksum getChecksum()>();
label:
v = v;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.nio.ByteBuffer getBuffer()>();
if v != null goto label;
v = v.<org.apache.nifi.processors.standard.TailFile: int preAllocatedBufferSize>;
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocate(int)>(v);
goto label;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.nio.ByteBuffer getBuffer()>();
label:
v = v;
v = virtualinvoke v.<java.io.FileInputStream: java.nio.channels.FileChannel getChannel()>();
v = virtualinvoke v.<java.io.File: long lastModified()>();
v = new java.util.concurrent.atomic.AtomicReference;
specialinvoke v.<java.util.concurrent.atomic.AtomicReference: void <init>()>();
v = staticinvoke <org.apache.nifi.processors.standard.TailFile$lambda_tailRolledFile_2__235: org.apache.nifi.processor.io.OutputStreamCallback bootstrap$(org.apache.nifi.processors.standard.TailFile,java.nio.channels.FileChannel,java.nio.ByteBuffer,java.util.zip.Checksum,java.lang.Boolean,boolean,java.util.concurrent.atomic.AtomicReference,java.lang.String,org.apache.nifi.processor.ProcessContext)>(v, v, v, v, v, v, v, v, v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile write(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.io.OutputStreamCallback)>(v, v);
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: long getSize()>();
v = v cmp 0L;
if v != 0 goto label;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void remove(org.apache.nifi.flowfile.FlowFile)>(v);
goto label;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>(int)>(3);
v = <org.apache.nifi.flowfile.attributes.CoreAttributes: org.apache.nifi.flowfile.attributes.CoreAttributes FILENAME>;
v = virtualinvoke v.<org.apache.nifi.flowfile.attributes.CoreAttributes: java.lang.String key()>();
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.nifi.flowfile.attributes.CoreAttributes: org.apache.nifi.flowfile.attributes.CoreAttributes MIME_TYPE>;
v = virtualinvoke v.<org.apache.nifi.flowfile.attributes.CoreAttributes: java.lang.String key()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, "text/plain");
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("tailfile.original.path", v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile putAllAttributes(org.apache.nifi.flowfile.FlowFile,java.util.Map)>(v, v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.provenance.ProvenanceReporter getProvenanceReporter()>();
v = virtualinvoke v.<java.io.File: java.net.URI toURI()>();
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (long)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("FlowFile contains bytes 0 through \u of source file");
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit NANOSECONDS>;
v = staticinvoke <java.lang.System: long nanoTime()>();
v = v - v;
v = virtualinvoke v.<java.util.concurrent.TimeUnit: long toMillis(long)>(v);
interfaceinvoke v.<org.apache.nifi.provenance.ProvenanceReporter: void receive(org.apache.nifi.flowfile.FlowFile,java.lang.String,java.lang.String,long)>(v, v, v, v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.processor.Relationship REL_SUCCESS>;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void transfer(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.Relationship)>(v, v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Created {} from rolled over file {} and routed to success", v);
label:
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor POST_ROLLOVER_TAIL_PERIOD>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = <java.util.concurrent.TimeUnit: java.util.concurrent.TimeUnit MILLISECONDS>;
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.Long asTimePeriod(java.util.concurrent.TimeUnit)>(v);
v = virtualinvoke v.<java.lang.Long: long longValue()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: long getCurrentTimeMs()>();
v = v - v;
if v == 0 goto label;
v = v cmp 0L;
if v <= 0 goto label;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[4];
v[0] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[1] = v;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor POST_ROLLOVER_TAIL_PERIOD>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor: java.lang.String getDisplayName()>();
v[2] = v;
v = staticinvoke <java.lang.Long: java.lang.Long valueOf(long)>(v);
v[3] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("File {} has been rolled over, but it was updated {} millis ago, which is less than the configured {} ({} ms), so will continue tailing", v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: long getLength()>();
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: long getSize()>();
v = v + v;
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: long getSize()>();
v = v + v;
v = new org.apache.nifi.processors.standard.TailFile$TailFileState;
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.lang.String getFilename()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.io.File getFile()>();
specialinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: void <init>(java.lang.String,java.io.File,java.nio.channels.FileChannel,long,long,long,java.util.zip.Checksum,java.nio.ByteBuffer,boolean)>(v, v, v, v, v, v, v, v, v);
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: void setState(org.apache.nifi.processors.standard.TailFile$TailFileState)>(v);
goto label;
label:
v = virtualinvoke v.<java.util.concurrent.atomic.AtomicReference: java.lang.Object get()>();
if v == null goto label;
throw v;
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[1];
v[0] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Completed tailing of file {}; will cleanup state", v);
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: void cleanup(org.apache.nifi.processor.ProcessContext)>(v);
v = new org.apache.nifi.processors.standard.TailFile$TailFileState;
v = virtualinvoke v.<java.io.File: long lastModified()>();
v = v + 1L;
v = virtualinvoke v.<java.io.File: long length()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.nio.ByteBuffer getBuffer()>();
specialinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: void <init>(java.lang.String,java.io.File,java.nio.channels.FileChannel,long,long,long,java.util.zip.Checksum,java.nio.ByteBuffer,boolean)>(v, null, null, 0L, v, v, null, v, v);
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: void setState(org.apache.nifi.processors.standard.TailFile$TailFileState)>(v);
label:
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void persistState(org.apache.nifi.processors.standard.TailFile$TailFileObject,org.apache.nifi.processor.ProcessSession,org.apache.nifi.processor.ProcessContext)>(v, v, v);
label:
virtualinvoke v.<java.util.zip.CheckedInputStream: void close()>();
label:
virtualinvoke v.<java.io.FileInputStream: void close()>();
return 1;
label:
v := @caughtexception;
throw v;
label:
v := @caughtexception;
throw v;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
private org.apache.nifi.processors.standard.TailFile$TailFileState consumeFileFully(java.io.File, org.apache.nifi.processor.ProcessContext, org.apache.nifi.processor.ProcessSession, org.apache.nifi.processors.standard.TailFile$TailFileObject) throws java.io.IOException
{
org.apache.nifi.processor.io.OutputStreamCallback v;
java.nio.ByteBuffer v;
org.apache.nifi.components.PropertyDescriptor v;
org.apache.nifi.components.PropertyValue v, v;
byte v;
java.net.URI v;
org.apache.nifi.processors.standard.TailFile$TailFileObject v;
org.apache.nifi.flowfile.FlowFile v, v, v;
java.lang.Throwable v;
java.lang.Object[] v;
java.util.HashMap v;
long v, v, v, v;
org.apache.nifi.logging.ComponentLog v;
org.apache.nifi.processors.standard.TailFile$TailFileState v, v, v, v;
org.apache.nifi.provenance.ProvenanceReporter v;
org.apache.nifi.processor.Relationship v;
java.lang.String v, v, v, v, v, v;
org.apache.nifi.processors.standard.TailFile v;
org.apache.nifi.processor.ProcessContext v;
org.apache.nifi.processor.ProcessSession v;
java.io.FileInputStream v;
java.io.File v;
org.apache.nifi.flowfile.attributes.CoreAttributes v, v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v := @parameter: java.io.File;
v := @parameter: org.apache.nifi.processor.ProcessContext;
v := @parameter: org.apache.nifi.processor.ProcessSession;
v := @parameter: org.apache.nifi.processors.standard.TailFile$TailFileObject;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile create()>();
v = new java.io.FileInputStream;
specialinvoke v.<java.io.FileInputStream: void <init>(java.io.File)>(v);
label:
v = staticinvoke <org.apache.nifi.processors.standard.TailFile$lambda_consumeFileFully_3__236: org.apache.nifi.processor.io.OutputStreamCallback bootstrap$(org.apache.nifi.processors.standard.TailFile,java.io.InputStream)>(v, v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile write(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.io.OutputStreamCallback)>(v, v);
label:
virtualinvoke v.<java.io.InputStream: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
v = interfaceinvoke v.<org.apache.nifi.flowfile.FlowFile: long getSize()>();
v = v cmp 0L;
if v != 0 goto label;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void remove(org.apache.nifi.flowfile.FlowFile)>(v);
goto label;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>(int)>(3);
v = <org.apache.nifi.flowfile.attributes.CoreAttributes: org.apache.nifi.flowfile.attributes.CoreAttributes FILENAME>;
v = virtualinvoke v.<org.apache.nifi.flowfile.attributes.CoreAttributes: java.lang.String key()>();
v = virtualinvoke v.<java.io.File: java.lang.String getName()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
v = <org.apache.nifi.flowfile.attributes.CoreAttributes: org.apache.nifi.flowfile.attributes.CoreAttributes MIME_TYPE>;
v = virtualinvoke v.<org.apache.nifi.flowfile.attributes.CoreAttributes: java.lang.String key()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, "text/plain");
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.lang.String getFilename()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>("tailfile.original.path", v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.flowfile.FlowFile putAllAttributes(org.apache.nifi.flowfile.FlowFile,java.util.Map)>(v, v);
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: org.apache.nifi.provenance.ProvenanceReporter getProvenanceReporter()>();
v = virtualinvoke v.<java.io.File: java.net.URI toURI()>();
v = virtualinvoke v.<java.net.URI: java.lang.String toString()>();
interfaceinvoke v.<org.apache.nifi.provenance.ProvenanceReporter: void receive(org.apache.nifi.flowfile.FlowFile,java.lang.String)>(v, v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.processor.Relationship REL_SUCCESS>;
interfaceinvoke v.<org.apache.nifi.processor.ProcessSession: void transfer(org.apache.nifi.flowfile.FlowFile,org.apache.nifi.processor.Relationship)>(v, v);
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.logging.ComponentLog getLogger()>();
v = newarray (java.lang.Object)[2];
v[0] = v;
v[1] = v;
interfaceinvoke v.<org.apache.nifi.logging.ComponentLog: void debug(java.lang.String,java.lang.Object[])>("Created {} from {} and routed to success", v);
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile: void cleanup(org.apache.nifi.processor.ProcessContext)>(v);
v = new org.apache.nifi.processors.standard.TailFile$TailFileState;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor FILENAME>;
v = interfaceinvoke v.<org.apache.nifi.processor.ProcessContext: org.apache.nifi.components.PropertyValue getProperty(org.apache.nifi.components.PropertyDescriptor)>(v);
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: org.apache.nifi.components.PropertyValue evaluateAttributeExpressions()>();
v = interfaceinvoke v.<org.apache.nifi.components.PropertyValue: java.lang.String getValue()>();
v = virtualinvoke v.<java.io.File: long lastModified()>();
v = v + 1L;
v = virtualinvoke v.<java.io.File: long length()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: java.nio.ByteBuffer getBuffer()>();
specialinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileState: void <init>(java.lang.String,java.io.File,java.nio.channels.FileChannel,long,long,long,java.util.zip.Checksum,java.nio.ByteBuffer)>(v, null, null, 0L, v, v, null, v);
virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: void setState(org.apache.nifi.processors.standard.TailFile$TailFileState)>(v);
specialinvoke v.<org.apache.nifi.processors.standard.TailFile: void persistState(org.apache.nifi.processors.standard.TailFile$TailFileObject,org.apache.nifi.processor.ProcessSession,org.apache.nifi.processor.ProcessContext)>(v, v, v);
label:
v = virtualinvoke v.<org.apache.nifi.processors.standard.TailFile$TailFileObject: org.apache.nifi.processors.standard.TailFile$TailFileState getState()>();
return v;
catch java.lang.Throwable from label to label with label;
}
public long getCurrentTimeMs()
{
org.apache.nifi.processors.standard.TailFile v;
long v;
v := @this: org.apache.nifi.processors.standard.TailFile;
v = staticinvoke <java.lang.System: long currentTimeMillis()>();
return v;
}
static void <clinit>()
{
byte[] v;
org.apache.nifi.components.AllowableValue v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.processor.Relationship v;
org.apache.nifi.expression.ExpressionLanguageScope v, v, v, v, v, v, v, v;
java.nio.charset.Charset v;
org.apache.nifi.components.PropertyDescriptor v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v, v;
org.apache.nifi.components.PropertyDescriptor$Builder v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.nifi.components.AllowableValue[] v, v, v, v, v;
java.lang.String[] v, v;
org.apache.nifi.components.Validator v, v, v, v, v, v, v, v, v;
org.apache.nifi.processor.Relationship$Builder v, v, v;
v = "\n";
v = <java.nio.charset.StandardCharsets: java.nio.charset.Charset UTF_8>;
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.nio.charset.Charset)>(v);
<org.apache.nifi.processors.standard.TailFile: byte[] NEW_LINE_BYTES> = v;
v = new org.apache.nifi.components.AllowableValue;
specialinvoke v.<org.apache.nifi.components.AllowableValue: void <init>(java.lang.String,java.lang.String,java.lang.String)>("Local", "Local", "State is stored locally. Each node in a cluster will tail a different file.");
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue LOCATION_LOCAL> = v;
v = new org.apache.nifi.components.AllowableValue;
specialinvoke v.<org.apache.nifi.components.AllowableValue: void <init>(java.lang.String,java.lang.String,java.lang.String)>("Remote", "Remote", "State is located on a remote resource. This Processor will store state across the cluster so that it can be run on Primary Node Only and a new Primary Node can pick up where the last one left off.");
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue LOCATION_REMOTE> = v;
v = new org.apache.nifi.components.AllowableValue;
specialinvoke v.<org.apache.nifi.components.AllowableValue: void <init>(java.lang.String,java.lang.String,java.lang.String)>("Single file", "Single file", "In this mode, only the one file indicated in the \'Files to tail\' property will be watched by the processor. In this mode, the file may not exist when starting the processor.");
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue MODE_SINGLEFILE> = v;
v = new org.apache.nifi.components.AllowableValue;
specialinvoke v.<org.apache.nifi.components.AllowableValue: void <init>(java.lang.String,java.lang.String,java.lang.String)>("Multiple files", "Multiple files", "In this mode, the \'Files to tail\' property accepts a regular expression and the processor will look for files in \'Base directory\' to list the files to tail by the processor.");
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue MODE_MULTIFILE> = v;
v = new org.apache.nifi.components.AllowableValue;
specialinvoke v.<org.apache.nifi.components.AllowableValue: void <init>(java.lang.String,java.lang.String,java.lang.String)>("Beginning of Time", "Beginning of Time", "Start with the oldest data that matches the Rolling Filename Pattern and then begin reading from the File to Tail");
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue START_BEGINNING_OF_TIME> = v;
v = new org.apache.nifi.components.AllowableValue;
specialinvoke v.<org.apache.nifi.components.AllowableValue: void <init>(java.lang.String,java.lang.String,java.lang.String)>("Beginning of File", "Beginning of File", "Start with the beginning of the File to Tail. Do not ingest any data that has already been rolled over");
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue START_CURRENT_FILE> = v;
v = new org.apache.nifi.components.AllowableValue;
specialinvoke v.<org.apache.nifi.components.AllowableValue: void <init>(java.lang.String,java.lang.String,java.lang.String)>("Current Time", "Current Time", "Start with the data at the end of the File to Tail. Do not ingest any data thas has already been rolled over or any data in the File to Tail that has already been written.");
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue START_CURRENT_TIME> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("tail-base-directory");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Base directory");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("Base directory used to look for files to tail. This property is required when using Multifile mode.");
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope VARIABLE_REGISTRY>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator FILE_EXISTS_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(0);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor BASE_DIRECTORY> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("tail-mode");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Tailing mode");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("Mode to use: single file will tail only one file, multiple file will look for a list of file. In Multiple mode the Base directory is required.");
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope NONE>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = newarray (org.apache.nifi.components.AllowableValue)[2];
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue MODE_SINGLEFILE>;
v[0] = v;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue MODE_MULTIFILE>;
v[1] = v;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder allowableValues(org.apache.nifi.components.AllowableValue[])>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue MODE_SINGLEFILE>;
v = virtualinvoke v.<org.apache.nifi.components.AllowableValue: java.lang.String getValue()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor MODE> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("File(s) to Tail");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("File to Tail");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("Path of the file to tail in case of single file mode. If using multifile mode, regular expression to find files to tail in the base directory. In case recursivity is set to true, the regular expression will be used to match the path starting from the base directory (see additional details for examples).");
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope VARIABLE_REGISTRY>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = staticinvoke <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator createRegexValidator(int,int,boolean)>(0, 2147483647, 1);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor FILENAME> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("Rolling Filename Pattern");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("If the file to tail \"rolls over\" as would be the case with log files, this filename pattern will be used to identify files that have rolled over so that if NiFi is restarted, and the file has rolled over, it will be able to pick up where it left off. This pattern supports wildcard characters * and ?, it also supports the notation ${filename} to specify a pattern based on the name of the file (without extension), and will assume that the files that have rolled over live in the same directory as the file being tailed. The same glob pattern will be used for all files.");
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator NON_EMPTY_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope NONE>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(0);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor ROLLING_FILENAME_PATTERN> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("Post-Rollover Tail Period");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("When a file is rolled over, the processor will continue tailing the rolled over file until it has not been modified for this amount of time. This allows for another process to rollover a file, and then flush out any buffered data. Note that when this value is set, and the tailed file rolls over, the new file will not be tailed until the old file has not been modified for the configured amount of time. Additionally, when using this capability, in order to avoid data duplication, this period must be set longer than the Processor\'s Run Schedule, and the Processor must not be stopped after the file being tailed has been rolled over and before the data has been fully consumed. Otherwise, the data may be duplicated, as the entire file may be written out as the contents of a single FlowFile.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(0);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator TIME_PERIOD_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope NONE>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>("0 sec");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor POST_ROLLOVER_TAIL_PERIOD> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("State Location");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("File Location");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("Specifies where the state is located either local or cluster so that state can be stored appropriately in order to ensure that all data is consumed without duplicating data upon restart of NiFi");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = newarray (org.apache.nifi.components.AllowableValue)[2];
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue LOCATION_LOCAL>;
v[0] = v;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue LOCATION_REMOTE>;
v[1] = v;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder allowableValues(org.apache.nifi.components.AllowableValue[])>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue LOCATION_LOCAL>;
v = virtualinvoke v.<org.apache.nifi.components.AllowableValue: java.lang.String getValue()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor STATE_LOCATION> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("Initial Start Position");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("When the Processor first begins to tail data, this property specifies where the Processor should begin reading data. Once data has been ingested from a file, the Processor will continue from the last point from which it has received data.");
v = newarray (org.apache.nifi.components.AllowableValue)[3];
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue START_BEGINNING_OF_TIME>;
v[0] = v;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue START_CURRENT_FILE>;
v[1] = v;
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue START_CURRENT_TIME>;
v[2] = v;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder allowableValues(org.apache.nifi.components.AllowableValue[])>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue START_CURRENT_FILE>;
v = virtualinvoke v.<org.apache.nifi.components.AllowableValue: java.lang.String getValue()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor START_POSITION> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("tailfile-recursive-lookup");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Recursive lookup");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("When using Multiple files mode, this property defines if files must be listed recursively or not in the base directory.");
v = newarray (java.lang.String)[2];
v[0] = "true";
v[1] = "false";
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder allowableValues(java.lang.String[])>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>("false");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor RECURSIVE> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("tailfile-lookup-frequency");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Lookup frequency");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("Only used in Multiple files mode. It specifies the minimum duration the processor will wait before listing again the files to tail.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(0);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>("10 minutes");
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator TIME_PERIOD_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor LOOKUP_FREQUENCY> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("tailfile-maximum-age");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Maximum age");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("Only used in Multiple files mode. It specifies the necessary minimum duration to consider that no new messages will be appended in a file regarding its last modification date. This should not be set too low to avoid duplication of data in case new messages are appended at a lower frequency.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(0);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>("24 hours");
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator TIME_PERIOD_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor MAXIMUM_AGE> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("reread-on-nul");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Reread when NUL encountered");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("If this option is set to \'true\', when a NUL character is read, the processor will yield and try to read the same part again later. (Note: Yielding may delay the processing of other files tailed by this processor, not just the one with the NUL character.) The purpose of this flag is to allow users to handle cases where reading a file may return temporary NUL values. NFS for example may send file contents out of order. In this case the missing parts are temporarily replaced by NUL values. CAUTION! If the file contains legitimate NUL values, setting this flag causes this processor to get stuck indefinitely. For this reason users should refrain from using this feature if they can help it and try to avoid having the target file on a file system where reads are unreliable.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(0);
v = newarray (java.lang.String)[2];
v[0] = "true";
v[1] = "false";
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder allowableValues(java.lang.String[])>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>("false");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor REREAD_ON_NUL> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("Line Start Pattern");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Line Start Pattern");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("A Regular Expression to match against the start of a log line. If specified, any line that matches the expression, and any following lines, will be buffered until another line matches the Expression. In doing this, we can avoid splitting apart multi-line messages in the file. This assumes that the data is in UTF-8 format.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(0);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator REGULAR_EXPRESSION_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope NONE>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor MODE>;
v = newarray (org.apache.nifi.components.AllowableValue)[1];
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.AllowableValue MODE_SINGLEFILE>;
v[0] = v;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder dependsOn(org.apache.nifi.components.PropertyDescriptor,org.apache.nifi.components.AllowableValue[])>(v, v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor LINE_START_PATTERN> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("Max Buffer Size");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Max Buffer Size");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("When using the Line Start Pattern, there may be situations in which the data in the file being tailed never matches the Regular Expression. This would result in the processor buffering all data from the tailed file, which can quickly exhaust the heap. To avoid this, the Processor will buffer only up to this amount of data before flushing the buffer, even if it means ingesting partial data from the file.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator DATA_SIZE_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope NONE>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>("64 KB");
v = <org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor LINE_START_PATTERN>;
v = newarray (org.apache.nifi.components.AllowableValue)[0];
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder dependsOn(org.apache.nifi.components.PropertyDescriptor,org.apache.nifi.components.AllowableValue[])>(v, v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor MAX_BUFFER_LENGTH> = v;
v = new org.apache.nifi.components.PropertyDescriptor$Builder;
specialinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder name(java.lang.String)>("pre-allocated-buffer-size");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder displayName(java.lang.String)>("Pre-Allocated Buffer Size");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder description(java.lang.String)>("Sets the amount of memory that is pre-allocated for each tailed file.");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder required(boolean)>(1);
v = <org.apache.nifi.processor.util.StandardValidators: org.apache.nifi.components.Validator DATA_SIZE_VALIDATOR>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder addValidator(org.apache.nifi.components.Validator)>(v);
v = <org.apache.nifi.expression.ExpressionLanguageScope: org.apache.nifi.expression.ExpressionLanguageScope NONE>;
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder expressionLanguageSupported(org.apache.nifi.expression.ExpressionLanguageScope)>(v);
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor$Builder defaultValue(java.lang.String)>("65536 B");
v = virtualinvoke v.<org.apache.nifi.components.PropertyDescriptor$Builder: org.apache.nifi.components.PropertyDescriptor build()>();
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.components.PropertyDescriptor PRE_ALLOCATED_BUFFER_SIZE> = v;
v = new org.apache.nifi.processor.Relationship$Builder;
specialinvoke v.<org.apache.nifi.processor.Relationship$Builder: void <init>()>();
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder name(java.lang.String)>("success");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship$Builder description(java.lang.String)>("All FlowFiles are routed to this Relationship.");
v = virtualinvoke v.<org.apache.nifi.processor.Relationship$Builder: org.apache.nifi.processor.Relationship build()>();
<org.apache.nifi.processors.standard.TailFile: org.apache.nifi.processor.Relationship REL_SUCCESS> = v;
return;
}
}