gchq / stroom

Stroom is a highly scalable data storage, processing and analysis platform.
https://gchq.github.io/stroom-docs/
Apache License 2.0
424 stars 56 forks source link

HTTPAppender errors when empty Stream and Compression is enabled #4263

Open stroomdev10 opened 1 month ago

stroomdev10 commented 1 month ago

"no current ZIP entry" in the Error stream

Assume this is when I have a filter that results in no output

HTTPAppender has useCompression = true

re-ran with useCompression = false, no errors reported.

stroomdev10 commented 1 month ago
TRACE  [2024-05-21T10:16:32.837Z] [Data Processor# #144604] stroom.pipeline.errorhandler.ErrorReceiverProxy -  no current ZIP entry
java.util.zip.ZipException: no current ZIP entry
        at java.base/java.util.zip.ZipOutputStream.write(ZipOutputStream.java:357)
        at stroom.util.io.WrappedOutputStream.write(WrappedOutputStream.java:42)
        at stroom.util.io.ByteCountOutputStream.write(ByteCountOutputStream.java:54)
        at stroom.pipeline.writer.AbstractAppender.write(AbstractAppender.java:143)
        at stroom.pipeline.writer.AbstractAppender.writeFooter(AbstractAppender.java:138)
        at stroom.pipeline.writer.AbstractAppender.closeCurrentOutputStream(AbstractAppender.java:86)
        at stroom.pipeline.writer.AbstractAppender.endProcessing(AbstractAppender.java:44)
        at stroom.pipeline.writer.AbstractWriter.endProcessing(AbstractWriter.java:201)
        at stroom.pipeline.filter.XMLFilterFork.endProcessing(XMLFilterFork.java:89)
        at stroom.pipeline.filter.AbstractXMLFilter.endProcessing(AbstractXMLFilter.java:52)
        at stroom.pipeline.filter.AbstractXMLFilter.endProcessing(AbstractXMLFilter.java:52)
        at stroom.pipeline.filter.XsltFilter.endProcessing(XsltFilter.java:232)
        at stroom.pipeline.filter.AbstractXMLFilter.endProcessing(AbstractXMLFilter.java:52)
        at stroom.pipeline.filter.XsltFilter.endProcessing(XsltFilter.java:232)
        at stroom.pipeline.filter.AbstractXMLFilter.endProcessing(AbstractXMLFilter.java:52)
        at stroom.pipeline.filter.AbstractXMLFilter.endProcessing(AbstractXMLFilter.java:52)
        at stroom.pipeline.filter.SplitFilter.endProcessing(SplitFilter.java:146)
        at stroom.pipeline.parser.AbstractParser.endProcessing(AbstractParser.java:136)
        at stroom.pipeline.reader.AbstractIOElement.endProcessing(AbstractIOElement.java:195)
        at stroom.pipeline.factory.PipelineImpl.internalEndProcessing(PipelineImpl.java:75)
        at stroom.pipeline.factory.PipelineImpl.endProcessing(PipelineImpl.java:55)
        at stroom.core.dataprocess.AbstractProcessorTaskExecutor.processNestedStreams(AbstractProcessorTaskExecutor.java:487)
        at stroom.core.dataprocess.AbstractProcessorTaskExecutor.process(AbstractProcessorTaskExecutor.java:339)
        at stroom.core.dataprocess.AbstractProcessorTaskExecutor.exec(AbstractProcessorTaskExecutor.java:238)
        at stroom.processor.impl.DataProcessorTaskHandler.exec(DataProcessorTaskHandler.java:164)
        at stroom.processor.impl.DataProcessorTaskHandler.lambda$exec$0(DataProcessorTaskHandler.java:92)
        at stroom.task.impl.TaskContextFactoryImpl.lambda$wrap$2(TaskContextFactoryImpl.java:253)
        at stroom.util.logging.LocationAwareLambdaLogger.logDurationIfDebugEnabled(LocationAwareLambdaLogger.java:307)
        at stroom.task.impl.TaskContextFactoryImpl.lambda$wrap$4(TaskContextFactoryImpl.java:253)
        at stroom.util.pipeline.scope.PipelineScopeRunnable.scopeResult(PipelineScopeRunnable.java:39)
        at stroom.task.impl.TaskContextFactoryImpl.lambda$wrap$5(TaskContextFactoryImpl.java:250)
        at stroom.task.impl.TaskContextFactoryImpl.lambda$wrap$6(TaskContextFactoryImpl.java:262)
        at stroom.security.impl.SecurityContextImpl.useAsReadResult(SecurityContextImpl.java:390)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:50)
        at jdk.proxy2/jdk.proxy2.$Proxy122.useAsReadResult(Unknown Source)
        at stroom.task.impl.TaskContextFactoryImpl.lambda$wrap$7(TaskContextFactoryImpl.java:262)
        at stroom.security.impl.SecurityContextImpl.asUserResult(SecurityContextImpl.java:322)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:50)
        at jdk.proxy2/jdk.proxy2.$Proxy122.asUserResult(Unknown Source)
        at stroom.task.impl.TaskContextFactoryImpl.lambda$wrap$11(TaskContextFactoryImpl.java:260)
        at stroom.processor.impl.DataProcessorTaskHandler.lambda$exec$1(DataProcessorTaskHandler.java:92)
        at stroom.security.impl.SecurityContextImpl.useAsReadResult(SecurityContextImpl.java:390)
        at stroom.processor.impl.DataProcessorTaskHandler.lambda$exec$2(DataProcessorTaskHandler.java:87)
        at stroom.security.impl.SecurityContextImpl.asUserResult(SecurityContextImpl.java:322)
        at stroom.processor.impl.DataProcessorTaskHandler.exec(DataProcessorTaskHandler.java:87)
        at stroom.processor.impl.DataProcessorTaskFactory$RunnableFactoryImpl.lambda$create$0(DataProcessorTaskFactory.java:166)
        at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1804)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
        at java.base/java.lang.Thread.run(Thread.java:1583)