in lib/logstash/outputs/kusto/ingestor.rb [136:175]
def upload(path, delete_on_success)
file_size = File.size(path)
@logger.debug("Sending file to kusto: #{path}. size: #{file_size}")
if file_size > 0
file_source_info = Java::com.microsoft.azure.kusto.ingest.source.FileSourceInfo.new(path, 0);
@kusto_client.ingestFromFile(file_source_info, @ingestion_properties)
else
@logger.warn("File #{path} is an empty file and is not ingested.")
end
File.delete(path) if delete_on_success
@logger.debug("File #{path} sent to kusto.")
rescue Errno::ENOENT => e
@logger.error("File doesn't exist! Unrecoverable error.", exception: e.class, message: e.message, path: path, backtrace: e.backtrace)
rescue Java::JavaNioFile::NoSuchFileException => e
@logger.error("File doesn't exist! Unrecoverable error.", exception: e.class, message: e.message, path: path, backtrace: e.backtrace)
rescue => e
@logger.error('Uploading failed, retrying.', exception: e.class, message: e.message, path: path, backtrace: e.backtrace)
sleep RETRY_DELAY_SECONDS
retry
end