UnsupportedOperationException when try to restart dataNode
- 主要言語
- Java
- スター
- 6.4k
- フォーク
- 1.2k
- 平均マージ
- 1日 23時間
- マージ済み PR(30日)
- 115
説明
version: 1.1.0
I deployment iotdb basedon HDFS as data storage.
config:
schema_replication_factor=1
data_replication_factor=2
when one dataNode is failed and try to restart it, there is such exception:
ERROR o.a.i.c.c.t.WrappedThreadPoolExecutor:108 - Exception in thread pool org.apache.iotdb.threadpool:type=StorageEngine
java.lang.UnsupportedOperationException: Unsupported operation.
at org.apache.iotdb.hadoop.fileSystem.HDFSFile.getCanonicalPath(HDFSFile.java:308)
at org.apache.iotdb.db.wal.recover.WALRecoverManager.addRecoverPerformer(WALRecoverManager.java:181)
at org.apache.iotdb.db.engine.storagegroup.DataRegion.recoverUnsealedTsFile(DataRegion.java:774)
at org.apache.iotdb.db.engine.storagegroup.DataRegion.recover(DataRegion.java:483)
at org.apache.iotdb.db.engine.storagegroup.DataRegion.(DataRegion.java:345)
at org.apache.iotdb.db.engine.StorageEngine.buildNewDataRegion(StorageEngine.java:459)
at org.apache.iotdb.db.engine.StorageEngine.lambda$asyncRecover$2(StorageEngine.java:255)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
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)
コントリビューションガイド
調査の方向性
HDFSFile.java:308 から始め、WALRecoverManager.addRecoverPerformer、DataRegion.recoverUnsealedTsFile、DataRegion.recover を通る呼び出し経路を追跡します。指定されたレプリケーション設定で、1 台の DataNode 障害後の再起動を再現し、UnsupportedOperationException が発生せずにリカバリが完了することを確認します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- hadoop, java
- 領域
- databases
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100