[Bug] A large number of error logs are output every minute.
- Dominant language
- Java
- Stars
- 6.4k
- Forks
- 1.2k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 115
Description
### Search before asking
- [X] I searched in the [issues](https://github.com/apache/iotdb/issues) and found nothing similar.
### Version
docker image: docker.io/apache/iotdb:1.3.2-standalone
### Describe the bug and provide the minimal reproduce step
log files:
1. log_datanode_error.log
2. log_datanode_all.log
A large number of error logs are output every minute as following:
2024-07-03 05:36:45,608 [pool-10-IoTDB-Compaction-Schedule-4] ERROR o.a.i.d.s.d.DataRegion:2434 - Meet error in compaction schedule.
java.lang.NoClassDefFoundError: Could not initialize class org.apache.iotdb.db.storageengine.dataregion.flush.CompressionRatio$CompressionRatioHolder
at org.apache.iotdb.db.storageengine.dataregion.flush.CompressionRatio.getInstance(CompressionRatio.java:202)
at org.apache.iotdb.db.storageengine.dataregion.compaction.selector.estimator.AbstractCompactionEstimator.(AbstractCompactionEstimator.java:62)
at org.apache.iotdb.db.storageengine.dataregion.compaction.selector.estimator.AbstractCrossSpaceEstimator.(AbstractCrossSpaceEstimator.java:35)
at org.apache.iotdb.db.storageengine.dataregion.compaction.selector.estimator.FastCrossSpaceCompactionEstimator.(FastCrossSpaceCompactionEstimator.java:27)
at org.apache.iotdb.db.storageengine.dataregion.compaction.selector.ICompactionSelector.getCompactionEstimator(ICompactionSelector.java:70)
at org.apache.iotdb.db.storageengine.dataregion.compaction.selector.impl.RewriteCrossSpaceCompactionSelector.(RewriteCrossSpaceCompactionSelector.java:92)
at org.apache.iotdb.db.storageengine.dataregion.compaction.selector.constant.CrossCompactionSelector.createInstance(CrossCompactionSelector.java:46)
at org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionScheduler.tryToSubmitCrossSpaceCompactionTask(CompactionScheduler.java:258)
at org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionScheduler.scheduleCompaction(CompactionScheduler.java:103)
at org.apache.iotdb.db.storageengine.dataregion.DataRegion.executeCompaction(DataRegion.java:2430)
at org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionScheduleTaskWorker.call(CompactionScheduleTaskWorker.java:69)
at org.apache.iotdb.db.storageengine.dataregion.compaction.schedule.CompactionScheduleTaskWorker.call(CompactionScheduleTaskWorker.java:34)
at java.base/java.util.concurrent.FutureTask.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)
### What did you expect to see?
The file can be compressed normally and no error log should be output.
### What did you see instead?
None
### Anything else?
_No response_
### Are you willing to submit a PR?
- [ ] I'm willing to submit a PR!
Contributor guide
Research direction
Start with CompressionRatio.java and the stack trace from CompactionScheduler through AbstractCompactionEstimator to identify why CompressionRatioHolder fails to initialize in the IoTDB 1.3.2 standalone image. Use the reported compaction-schedule error as the reproduction signal; done means compaction runs without repeated errors and the expected compression works.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100