apache / apache/iotdb

UnsupportedOperationException when try to restart dataNode

オープン
#10,362 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。