in src/main/java/com/microsoft/azure/kusto/kafka/connect/sink/FileWriter.java [68:89]
public FileWriter(String basePath,
long fileThreshold,
Consumer<SourceFile> onRollCallback,
Function<Long, String> getFilePath,
long flushInterval,
ReentrantReadWriteLock reentrantLock,
IngestionProperties.DataFormat format,
BehaviorOnError behaviorOnError,
boolean isDlqEnabled) {
this.getFilePath = getFilePath;
this.basePath = basePath;
this.fileThreshold = fileThreshold;
this.onRollCallback = onRollCallback;
this.flushInterval = flushInterval;
this.behaviorOnError = behaviorOnError;
this.isDlqEnabled = isDlqEnabled;
// This is a fair lock so that we flush close to the time intervals
this.reentrantReadWriteLock = reentrantLock;
// If we failed on flush we want to throw the error from the put() flow.
flushError = null;
this.format = format;
}