S3 runner failed. Reason Unable to read 512 bytes from 1184768 in stream of length 1048577

asked 2020-07-25 10:29:03 -0500

oberfirer gravatar image

updated 2020-07-27 11:57:07 -0500

Hello, I'm suddenly encountering this error with a pipeline that has been running fine for the last 2 months:

com.streamsets.pipeline.api.StageException: S3_SPOOLDIR_26 - S3 runner failed. Reason java.lang.IndexOutOfBoundsException: Unable to read 512 bytes from 1184768 in stream of length 1048577

I'm using SDC 3.14.0. The pipeline reads an excel file from S3. This looks to be related to the file size gradually increasing over time, and finally exceeding the limit, but I checked the parser.limit property and it's a lot higher than 1184768, currently set to 10485760 (and I doubled it from 5M after getting the error). Are there other settings I can try to increase the buffer and parser limits? Is it possible the value is not being loaded properly to the app, since it's complaining about a default allocation of 1M? Here's a full stack trace: com.streamsets.pipeline.api.StageException: S3_SPOOLDIR_26 - S3 runner failed. Reason java.lang.IndexOutOfBoundsException: Unable to read 512 bytes from 1189888 in stream of length 1048577 at com.streamsets.pipeline.stage.origin.s3.AbstractAmazonS3Source.produce(AbstractAmazonS3Source.java:121) at com.streamsets.pipeline.api.base.configurablestage.DPushSource.produce(DPushSource.java:44) at com.streamsets.datacollector.runner.StageRuntime.lambda$execute$1(StageRuntime.java:270) at com.streamsets.datacollector.runner.StageRuntime.execute(StageRuntime.java:244) at com.streamsets.datacollector.runner.StageRuntime.execute(StageRuntime.java:279) at com.streamsets.datacollector.runner.SourcePipe.process(SourcePipe.java:79) at com.streamsets.datacollector.runner.preview.PreviewPipelineRunner.runPushSource(PreviewPipelineRunner.java:236) at com.streamsets.datacollector.runner.preview.PreviewPipelineRunner.run(PreviewPipelineRunner.java:221) at com.streamsets.datacollector.runner.Pipeline.run(Pipeline.java:530) at com.streamsets.datacollector.runner.preview.PreviewPipeline.run(PreviewPipeline.java:51) at com.streamsets.datacollector.execution.preview.sync.SyncPreviewer.start(SyncPreviewer.java:230) at com.streamsets.datacollector.execution.preview.async.AsyncPreviewer.lambda$start$1(AsyncPreviewer.java:98) at com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable.lambda$call$0(SafeScheduledExecutorService.java:226) at com.streamsets.datacollector.security.GroupsInScope.execute(GroupsInScope.java:34) at com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable.call(SafeScheduledExecutorService.java:222) at com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable.lambda$call$0(SafeScheduledExecutorService.java:226) at com.streamsets.datacollector.security.GroupsInScope.execute(GroupsInScope.java:34) at com.streamsets.pipeline.lib.executor.SafeScheduledExecutorService$SafeCallable.call(SafeScheduledExecutorService.java:222) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at com.streamsets.datacollector.metrics.MetricSafeScheduledExecutorService$MetricsTask.run(MetricSafeScheduledExecutorService.java:100) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.IndexOutOfBoundsException: Unable to read 512 bytes from 1189888 in stream of length 1048577 at org.apache.poi.poifs.nio.ByteArrayBackedDataSource.read(ByteArrayBackedDataSource.java:42) at org.apache.poi.poifs.filesystem.NPOIFSFileSystem.getBlockAt(NPOIFSFileSystem.java:477) at org.apache.poi.poifs.filesystem.NPOIFSFileSystem.readBAT(NPOIFSFileSystem.java:451 ... (more)

edit retag flag offensive close merge delete

Comments

I installed the latest version of the collector and - 3.16.1 and I can replicate the same issue.

oberfirer gravatar imageoberfirer ( 2020-07-25 13:21:09 -0500 )edit