apache / apache/iotdb

IoTDB升级,从0.13.4升级到1.2.2版本,使用load迁移数据报错

Offen
#11,659 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
6.4k
Forks
1.2k
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
115

Beschreibung

### update method

![iotdb-update-method](https://github.com/apache/iotdb/assets/39052598/4364b751-570c-4ded-a462-0f4c99c19d0a)

IoTDB> load '/opt/server/eos-iotdb-0.13.4/data.20231204' verify=false onSuccess=none;
Msg: 701: Parse file /opt/server/eos-iotdb-0.13.4/data.20231204/data/data/sequence/root.ops/0/0/1685351762938-9-0-581.tsfile to resource error

查看日志:**vim log_datanode_warn.log**
~~~

2023-12-05 08:40:07,571 [main] WARN o.a.r.m.MetricRegistriesLoader:81 - Found multiple MetricRegistries implementations: class org.apache.iotdb.consensus.ratis.metrics.MetricRegistryManager, class org.apache.ratis.metrics.impl.MetricRegistriesImpl. Using first found implementation: org.apache.iotdb.consensus.ratis.metrics.MetricRegistryManager@623dcf2a
2023-12-05 08:45:34,200 [pool-30-IoTDB-ClientRPC-Processor-2$20231205_004317_00001_1] WARN o.a.i.d.q.p.a.LoadTsfileAnalyzer$SchemaAutoCreatorAndVerifier:331 - Auto create or verify schema error.
java.lang.UnsupportedOperationException: This node isn't instance of SchemaEntityNode.
at org.apache.iotdb.db.queryengine.common.schematree.node.SchemaNode.getAsEntityNode(SchemaNode.java:71)
at org.apache.iotdb.db.queryengine.common.schematree.ClusterSchemaTree.searchDeviceSchemaInfo(ClusterSchemaTree.java:160)
at org.apache.iotdb.db.queryengine.plan.analyze.schema.ClusterSchemaFetcher.checkMissingMeasurementsAfterSchemaFetch(ClusterSchemaFetcher.java:360)
at org.apache.iotdb.db.queryengine.plan.analyze.schema.ClusterSchemaFetcher.fetchSchemaListWithAutoCreate(ClusterSchemaFetcher.java:283)
at org.apache.iotdb.db.queryengine.plan.analyze.schema.SchemaValidator.validate(SchemaValidator.java:66)
at org.apache.iotdb.db.queryengine.plan.analyze.LoadTsfileAnalyzer$SchemaAutoCreatorAndVerifier.autoCreateSchema(LoadTsfileAnalyzer.java:444)
at org.apache.iotdb.db.queryengine.plan.analyze.LoadTsfileAnalyzer$SchemaAutoCreatorAndVerifier.doAutoCreateAndVerify(LoadTsfileAnalyzer.java:325)
at org.apache.iotdb.db.queryengine.plan.analyze.LoadTsfileAnalyzer$SchemaAutoCreatorAndVerifier.flush(LoadTsfileAnalyzer.java:303)
at org.apache.iotdb.db.queryengine.plan.analyze.LoadTsfileAnalyzer$SchemaAutoCreatorAndVerifier.autoCreateAndVerify(LoadTsfileAnalyzer.java:285)
at org.apache.iotdb.db.queryengine.plan.analyze.LoadTsfileAnalyzer.analyzeSingleTsFile(LoadTsfileAnalyzer.java:155)
at org.apache.iotdb.db.queryengine.plan.analyze.LoadTsfileAnalyzer.analyzeFileByFile(LoadTsfileAnalyzer.java:112)
at org.apache.iotdb.db.queryengine.plan.analyze.AnalyzeVisitor.visitLoadFile(AnalyzeVisitor.java:2568)
at org.apache.iotdb.db.queryengine.plan.analyze.AnalyzeVisitor.visitLoadFile(AnalyzeVisitor.java:199)
at org.apache.iotdb.db.queryengine.plan.statement.crud.LoadTsFileStatement.accept(LoadTsFileStatement.java:161)
at org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor.process(StatementVisitor.java:130)
at org.apache.iotdb.db.queryengine.plan.analyze.Analyzer.analyze(Analyzer.java:47)
at org.apache.iotdb.db.queryengine.plan.execution.QueryExecution.analyze(QueryExecution.java:310)
at org.apache.iotdb.db.queryengine.plan.execution.QueryExecution.(QueryExecution.java:170)
at org.apache.iotdb.db.queryengine.plan.Coordinator.createQueryExecution(Coordinator.java:113)
at org.apache.iotdb.db.queryengine.plan.Coordinator.execute(Coordinator.java:147)
at org.apache.iotdb.db.protocol.thrift.impl.ClientRPCServiceImpl.executeStatementInternal(ClientRPCServiceImpl.java:297)
at org.apache.iotdb.db.protocol.thrift.impl.ClientRPCServiceImpl.executeStatementV2(ClientRPCServiceImpl.java:738)
at org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$executeStatementV2.getResult(IClientRPCService.java:3869)
at org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$executeStatementV2.getResult(IClientRPCService.java:3849)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:38)
at org.apache.iotdb.db.protocol.thrift.ProcessorWithMetrics.process(ProcessorWithMetrics.java:64)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
2023-12-05 08:45:34,202 [pool-30-IoTDB-ClientRPC-Processor-2$20231205_004317_00001_1] WARN o.a.i.d.q.p.a.LoadTsfileAnalyzer:126 - Parse file /opt/server/eos-iotdb-0.13.4/data.20231204/data/data/sequence/root.ops/0/0/1685351762938-9-0-581.tsfile to resource error.
org.apache.iotdb.db.exception.sql.SemanticException: Auto create or verify schema error when executing statement LoadTsFileStatement{file=/opt/server/eos-iotdb-0.13.4/data.20231204, deleteAfterLoad=false, databaseLevel=1, verifySchema=false, tsFiles Size=261}.
at org.apache.iotdb.db.queryengine.plan.analyze.LoadTsfileAnalyzer$SchemaAutoCreatorAndVerifier.doAutoCreateAndVerify(LoadTsfileAnalyzer.java:333)
at org.apache.iotdb.db.queryengine.plan.analyze.LoadTsfileAnalyzer$SchemaAutoCreatorAndVerifier.flush(LoadTsfileAnalyzer.java:303)
at org.apache.iotdb.db.queryengine.plan.analyze.LoadTsfileAnalyzer$SchemaAutoCreatorAndVerifier.autoCreateAndVerify(LoadTsfileAnalyzer.java:285)
at org.apache.iotdb.db.queryengine.plan.analyze.LoadTsfileAnalyzer.analyzeSingleTsFile(LoadTsfileAnalyzer.java:155)
at org.apache.iotdb.db.queryengine.plan.analyze.LoadTsfileAnalyzer.analyzeFileByFile(LoadTsfileAnalyzer.java:112)
at org.apache.iotdb.db.queryengine.plan.analyze.AnalyzeVisitor.visitLoadFile(AnalyzeVisitor.java:2568)
at org.apache.iotdb.db.queryengine.plan.analyze.AnalyzeVisitor.visitLoadFile(AnalyzeVisitor.java:199)
at org.apache.iotdb.db.queryengine.plan.statement.crud.LoadTsFileStatement.accept(LoadTsFileStatement.java:161)
at org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor.process(StatementVisitor.java:130)
at org.apache.iotdb.db.queryengine.plan.analyze.Analyzer.analyze(Analyzer.java:47)
at org.apache.iotdb.db.queryengine.plan.execution.QueryExecution.analyze(QueryExecution.java:310)
at org.apache.iotdb.db.queryengine.plan.execution.QueryExecution.(QueryExecution.java:170)
at org.apache.iotdb.db.queryengine.plan.Coordinator.createQueryExecution(Coordinator.java:113)
at org.apache.iotdb.db.queryengine.plan.Coordinator.execute(Coordinator.java:147)
at org.apache.iotdb.db.protocol.thrift.impl.ClientRPCServiceImpl.executeStatementInternal(ClientRPCServiceImpl.java:297)
at org.apache.iotdb.db.protocol.thrift.impl.ClientRPCServiceImpl.executeStatementV2(ClientRPCServiceImpl.java:738)
at org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$executeStatementV2.getResult(IClientRPCService.java:3869)
at org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$executeStatementV2.getResult(IClientRPCService.java:3849)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:38)
at org.apache.iotdb.db.protocol.thrift.ProcessorWithMetrics.process(ProcessorWithMetrics.java:64)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
2023-12-05 08:45:34,203 [pool-30-IoTDB-ClientRPC-Processor-2] WARN o.a.i.d.u.ErrorHandlingUtils:91 - Status code: 701, Query Statement: "load '/opt/server/eos-iotdb-0.13.4/data.20231204' verify=false onSuccess=none". executeStatement failed
org.apache.iotdb.db.exception.sql.SemanticException: Parse file /opt/server/eos-iotdb-0.13.4/data.20231204/data/data/sequence/root.ops/0/0/1685351762938-9-0-581.tsfile to resource error
at org.apache.iotdb.db.queryengine.plan.analyze.LoadTsfileAnalyzer.analyzeFileByFile(LoadTsfileAnalyzer.java:128)
at org.apache.iotdb.db.queryengine.plan.analyze.AnalyzeVisitor.visitLoadFile(AnalyzeVisitor.java:2568)
at org.apache.iotdb.db.queryengine.plan.analyze.AnalyzeVisitor.visitLoadFile(AnalyzeVisitor.java:199)
at org.apache.iotdb.db.queryengine.plan.statement.crud.LoadTsFileStatement.accept(LoadTsFileStatement.java:161)
at org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor.process(StatementVisitor.java:130)
at org.apache.iotdb.db.queryengine.plan.analyze.Analyzer.analyze(Analyzer.java:47)
at org.apache.iotdb.db.queryengine.plan.execution.QueryExecution.analyze(QueryExecution.java:310)
at org.apache.iotdb.db.queryengine.plan.execution.QueryExecution.(QueryExecution.java:170)
at org.apache.iotdb.db.queryengine.plan.Coordinator.createQueryExecution(Coordinator.java:113)
at org.apache.iotdb.db.queryengine.plan.Coordinator.execute(Coordinator.java:147)
at org.apache.iotdb.db.protocol.thrift.impl.ClientRPCServiceImpl.executeStatementInternal(ClientRPCServiceImpl.java:297)
at org.apache.iotdb.db.protocol.thrift.impl.ClientRPCServiceImpl.executeStatementV2(ClientRPCServiceImpl.java:738)
at org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$executeStatementV2.getResult(IClientRPCService.java:3869)
at org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$executeStatementV2.getResult(IClientRPCService.java:3849)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:38)
at org.apache.iotdb.db.protocol.thrift.ProcessorWithMetrics.process(ProcessorWithMetrics.java:64)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)

~~~

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Reproduziere die Migration mit dem gemeldeten `load`-Befehl und untersuche `log_datanode_warn.log`. Beginne mit `LoadTsfileAnalyzer`, `ClusterSchemaFetcher` und `ClusterSchemaTree`, indem du der gemeldeten `SchemaEntityNode`-Ausnahme während der Schemaüberprüfung folgst. Als abgeschlossen gilt dies, wenn das Datenverzeichnis von 0.13.4 ohne Parse- oder Schemafehler in IoTDB 1.2.2 geladen wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
databases
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.