-
Notifications
You must be signed in to change notification settings - Fork 134
Open
Labels
Description
Description
When processing blockstream from testnet, importer failed with the following error:
2025-10-30T20:10:36.688Z ERROR scheduling-1 o.h.m.i.d.b.CompositeBlockSource Failed to get block from BLOCK_NODE source org.hiero.mirror.importer.exception.BlockStreamException: org.hiero.mirror.importer.exception.InvalidStreamFileException: Missing transaction result in block 000000000000000000000000000063746115.blk
at org.hiero.mirror.importer.downloader.block.BlockNode.streamBlocks(BlockNode.java:144)
at org.hiero.mirror.importer.downloader.block.BlockNodeSubscriber.get(BlockNodeSubscriber.java:47)
at org.hiero.mirror.importer.downloader.block.CompositeBlockSource.get(CompositeBlockSource.java:48)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130)
at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124)
at io.micrometer.observation.Observation.observe(Observation.java:498)
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124)
at org.springframework.scheduling.config.Task$OutcomeTrackingRunnable.run(Task.java:85)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: org.hiero.mirror.importer.exception.InvalidStreamFileException: Missing transaction result in block 000000000000000000000000000063746115.blk
at org.hiero.mirror.importer.reader.block.BlockStreamReaderImpl.readSignedTransactions(BlockStreamReaderImpl.java:141)
at org.hiero.mirror.importer.reader.block.BlockStreamReaderImpl.readEvents(BlockStreamReaderImpl.java:127)
at org.hiero.mirror.importer.reader.block.BlockStreamReaderImpl.readRounds(BlockStreamReaderImpl.java:194)
at org.hiero.mirror.importer.reader.block.BlockStreamReaderImpl.read(BlockStreamReaderImpl.java:69)
at org.hiero.mirror.importer.downloader.block.AbstractBlockSource.onBlockStream(AbstractBlockSource.java:36)
at org.hiero.mirror.importer.downloader.block.BlockNode.streamBlocks(BlockNode.java:115)
... 16 common frames omitted
Tracing reveals that it's an atomic batch transaction with 2 inner transactions: https://hashscan.io/testnet/transaction/1761778510.870996548
- the first inner transaction failed: https://hashscan.io/testnet/transaction/1761778510.870996549
- the second inner transaction didn't execute
In blockstream reader, we assumed there will be TranactionResult block item for each inner transaction, regardless of its execution status. However, there's no TransactionResult for the second inner transaction at all. As a result, the reader ended up expecting the wrong block item.
Steps to reproduce
check the description
Additional context
No response
Hedera network
testnet
Version
v0.141.0
Operating system
None
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
🏃♀ Sprint backlog