seqcli
seqcli copied to clipboard
Default plain-text ingestion fails on empty lines
E.g. in PowerShell, in a non-empty folder, running:
ls | seqcli ingest
Produces:
Ingestion failed: A line arrived late or could not be parsed: ``.
System.IO.InvalidDataException: A line arrived late or could not be parsed: ``.
at SeqCli.PlainText.PlainTextLogEventReader.TryReadAsync() in C:\projects\seqcli\src\SeqCli\PlainText\PlainTextLogEventReader.cs:line 36
at SeqCli.Ingestion.LogShipper.ReadBatchAsync(ILogEventReader reader, Func`2 filter, Int32 count, InvalidDataHandling invalidDataHandling) in C:\projects\seqcli\src\SeqCli\Ingestion\LogShipper.cs:line 94
at SeqCli.Ingestion.LogShipper.ShipEvents(SeqConnection connection, ILogEventReader reader, List`1 enrichers, InvalidDataHandling invalidDataHandling, SendFailureHandling sendFailureHandling, Func`2 filter) in C:\projects\seqcli\src\SeqCli\Ingestion\LogShipper.cs:line 50
at SeqCli.Cli.Commands.IngestCommand.Run() in C:\projects\seqcli\src\SeqCli\Cli\Commands\IngestCommand.cs:line 90
This is easy to work around with --invalid-data=ignore; we should take a closer look at scenarios to see whether empty lines can be considered "valid" by the default template.
Unsure whether we should assign bug status to this, or if the way we handle empty lines should be re-thought.