[
https://issues.apache.org/jira/browse/IOTDB-4738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17623033#comment-17623033
]
周沛辰 commented on IOTDB-4738:
----------------------------
Write a value page first, which has no statistics, and then write an empty
value page. When reading this file, the system will think that these two pages
have their own statistic, but they do not, so an error will be reported.
> TsFile damaged after writing empty value pages
> ----------------------------------------------
>
> Key: IOTDB-4738
> URL: https://issues.apache.org/jira/browse/IOTDB-4738
> Project: Apache IoTDB
> Issue Type: Bug
> Reporter: 周沛辰
> Assignee: 周沛辰
> Priority: Major
> Attachments: image-2022-10-24-16-06-23-790.png
>
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> java.io.IOException: FAILED_TO_UNCOMPRESS(5)
> at org.xerial.snappy.SnappyNative.throw_error(SnappyNative.java:112)
> at org.xerial.snappy.SnappyNative.rawUncompress(Native Method)
> at org.xerial.snappy.Snappy.rawUncompress(Snappy.java:478)
> at org.xerial.snappy.Snappy.uncompress(Snappy.java:517)
> at
> org.apache.iotdb.tsfile.compress.IUnCompressor$SnappyUnCompressor.uncompress(IUnCompressor.java:168)
> at
> org.apache.iotdb.tsfile.read.TsFileSequenceReader.readPage(TsFileSequenceReader.java:1295)
> at
> org.apache.iotdb.db.tools.validate.TsFileValidationTool.findUncorrectFiles(TsFileValidationTool.java:245)
> at
> org.apache.iotdb.db.engine.compaction.FastAlignedCrossCompactionTest.validateSeqFiles(FastAlignedCrossCompactionTest.java:5215)
> at
> org.apache.iotdb.db.engine.compaction.FastAlignedCrossCompactionTest.test9(FastAlignedCrossCompactionTest.java:2737)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
> at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
> at
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
> at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
> at
> org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
> at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
> at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
> at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
> at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
> at
> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
> at
> com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
> at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
> at
> com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
> at
> com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
> at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
> -- Meet errors in reading file
> /Users/bensonchou/PersonalFiles/IOTDB/projects/choubenson/iotdb/server/target/data/sequence/root.compactionTest/0/0/1666596230093-2-0-1.tsfile,
> tsfile may be corrupted.
> !image-2022-10-24-16-06-23-790.png!
--
This message was sent by Atlassian Jira
(v8.20.10#820010)