Skip to content

Commit 490aab1

Browse files
authored
Fixed the NPE caused by multiple errors (#16091)
* partial * fix * partial * add-failure-hanlder
1 parent 9a15b5d commit 490aab1

26 files changed

+193
-131
lines changed

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/cq/CreateCQProcedure.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,10 @@ private void addCQ(ConfigNodeProcedureEnv env) {
136136
setNextState(INACTIVE);
137137
} else if (res.code == TSStatusCode.CQ_ALREADY_EXIST.getStatusCode()) {
138138
LOGGER.info("Failed to init CQ {} because such cq already exists", req.cqId);
139-
setFailure(new ProcedureException(new IoTDBException(res.message, res.code)));
139+
setFailure(new ProcedureException(new IoTDBException(res)));
140140
} else {
141141
LOGGER.warn("Failed to init CQ {} because of unknown reasons {}", req.cqId, res);
142-
setFailure(new ProcedureException(new IoTDBException(res.message, res.code)));
142+
setFailure(new ProcedureException(new IoTDBException(res)));
143143
}
144144
}
145145

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/SetTTLProcedure.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ private void setConfigNodeTTL(ConfigNodeProcedureEnv env) {
9797
}
9898
if (res.code != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
9999
LOGGER.info("Failed to execute plan {} because {}", plan, res.message);
100-
setFailure(new ProcedureException(new IoTDBException(res.message, res.code)));
100+
setFailure(new ProcedureException(new IoTDBException(res)));
101101
} else {
102102
setNextState(SetTTLState.UPDATE_DATANODE_CACHE);
103103
}

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/SetTemplateProcedure.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -168,9 +168,7 @@ private void validateTemplateExistence(final ConfigNodeProcedureEnv env) {
168168
if (resp.getStatus().getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
169169
setNextState(SetTemplateState.PRE_SET);
170170
} else {
171-
setFailure(
172-
new ProcedureException(
173-
new IoTDBException(resp.getStatus().getMessage(), resp.getStatus().getCode())));
171+
setFailure(new ProcedureException(new IoTDBException(resp.getStatus())));
174172
}
175173
}
176174

@@ -193,7 +191,7 @@ private void preSetTemplate(final ConfigNodeProcedureEnv env) {
193191
templateName,
194192
templateSetPath,
195193
status.getMessage());
196-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
194+
setFailure(new ProcedureException(new IoTDBException(status)));
197195
}
198196
}
199197

@@ -368,7 +366,7 @@ private void commitSetTemplate(final ConfigNodeProcedureEnv env) {
368366
templateName,
369367
templateSetPath,
370368
status.getMessage());
371-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
369+
setFailure(new ProcedureException(new IoTDBException(status)));
372370
}
373371
}
374372

@@ -470,7 +468,7 @@ private void rollbackPreSet(final ConfigNodeProcedureEnv env) {
470468
templateName,
471469
templateSetPath,
472470
status.getMessage());
473-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
471+
setFailure(new ProcedureException(new IoTDBException(status)));
474472
}
475473
}
476474

@@ -529,7 +527,7 @@ private void rollbackCommitSet(final ConfigNodeProcedureEnv env) {
529527
templateName,
530528
templateSetPath,
531529
status.getMessage());
532-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
530+
setFailure(new ProcedureException(new IoTDBException(status)));
533531
}
534532
}
535533

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/UnsetTemplateProcedure.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ private void constructBlackList(final ConfigNodeProcedureEnv env) {
136136
if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
137137
setNextState(UnsetTemplateState.CLEAN_DATANODE_TEMPLATE_CACHE);
138138
} else {
139-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
139+
setFailure(new ProcedureException(new IoTDBException(status)));
140140
}
141141
}
142142

@@ -199,7 +199,7 @@ private void unsetTemplate(final ConfigNodeProcedureEnv env) {
199199
.getClusterSchemaManager()
200200
.unsetSchemaTemplateInBlackList(template.getId(), path, isGeneratedByPipe);
201201
if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
202-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
202+
setFailure(new ProcedureException(new IoTDBException(status)));
203203
}
204204
}
205205

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/table/AddTableColumnProcedure.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,7 @@ protected void columnCheck(final ConfigNodeProcedureEnv env) {
110110
database, tableName, addedColumnList, this instanceof AddViewColumnProcedure);
111111
final TSStatus status = result.getLeft();
112112
if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
113-
setFailure(
114-
new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
113+
setFailure(new ProcedureException(new IoTDBException(status)));
115114
return;
116115
}
117116
table = result.getRight();
@@ -137,7 +136,7 @@ private void addColumn(final ConfigNodeProcedureEnv env) {
137136
: new AddTableColumnPlan(database, tableName, addedColumnList, false),
138137
isGeneratedByPipe);
139138
if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
140-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
139+
setFailure(new ProcedureException(new IoTDBException(status)));
141140
} else {
142141
setNextState(AddTableColumnState.COMMIT_RELEASE);
143142
}
@@ -186,7 +185,7 @@ private void rollbackAddColumn(final ConfigNodeProcedureEnv env) {
186185
: new AddTableColumnPlan(database, tableName, addedColumnList, true),
187186
isGeneratedByPipe);
188187
if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
189-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
188+
setFailure(new ProcedureException(new IoTDBException(status)));
190189
}
191190
}
192191

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/table/CreateTableProcedure.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ protected void preCreateTable(final ConfigNodeProcedureEnv env) {
142142
if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
143143
setNextState(CreateTableState.PRE_RELEASE);
144144
} else {
145-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
145+
setFailure(new ProcedureException(new IoTDBException(status)));
146146
}
147147
}
148148

@@ -175,7 +175,7 @@ private void commitCreateTable(final ConfigNodeProcedureEnv env) {
175175
if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
176176
setNextState(CreateTableState.COMMIT_RELEASE);
177177
} else {
178-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
178+
setFailure(new ProcedureException(new IoTDBException(status)));
179179
}
180180
}
181181

@@ -225,7 +225,7 @@ protected void rollbackCreate(final ConfigNodeProcedureEnv env) {
225225
new RollbackCreateTablePlan(database, table.getTableName()), env, LOGGER);
226226
if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
227227
LOGGER.warn("Failed to rollback table creation {}.{}", database, table.getTableName());
228-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
228+
setFailure(new ProcedureException(new IoTDBException(status)));
229229
}
230230
}
231231

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/table/DropTableColumnProcedure.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ private void checkAndPreDeleteColumn(final ConfigNodeProcedureEnv env) {
142142
isAttributeColumn = status.isSetMessage();
143143
setNextState(DropTableColumnState.INVALIDATE_CACHE);
144144
} else {
145-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
145+
setFailure(new ProcedureException(new IoTDBException(status)));
146146
}
147147
}
148148

@@ -216,7 +216,7 @@ private void dropColumn(final ConfigNodeProcedureEnv env) {
216216
: new CommitDeleteColumnPlan(database, tableName, columnName),
217217
isGeneratedByPipe);
218218
if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
219-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
219+
setFailure(new ProcedureException(new IoTDBException(status)));
220220
}
221221
}
222222

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/table/DropTableProcedure.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ private void checkAndPreDeleteTable(final ConfigNodeProcedureEnv env) {
125125
if (status.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
126126
setNextState(DropTableState.INVALIDATE_CACHE);
127127
} else {
128-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
128+
setFailure(new ProcedureException(new IoTDBException(status)));
129129
}
130130
}
131131

@@ -201,7 +201,7 @@ private void dropTable(final ConfigNodeProcedureEnv env) {
201201
: new CommitDeleteTablePlan(database, tableName),
202202
isGeneratedByPipe);
203203
if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
204-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
204+
setFailure(new ProcedureException(new IoTDBException(status)));
205205
}
206206
}
207207

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/table/RenameTableColumnProcedure.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,7 @@ private void columnCheck(final ConfigNodeProcedureEnv env) {
113113
database, tableName, oldName, newName, this instanceof RenameViewColumnProcedure);
114114
final TSStatus status = result.getLeft();
115115
if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
116-
setFailure(
117-
new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
116+
setFailure(new ProcedureException(new IoTDBException(status)));
118117
return;
119118
}
120119
table = result.getRight();
@@ -140,7 +139,7 @@ private void renameColumn(final ConfigNodeProcedureEnv env) {
140139
: new RenameTableColumnPlan(database, tableName, oldName, newName),
141140
isGeneratedByPipe);
142141
if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
143-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
142+
setFailure(new ProcedureException(new IoTDBException(status)));
144143
} else {
145144
setNextState(RenameTableColumnState.COMMIT_RELEASE);
146145
}
@@ -184,7 +183,7 @@ private void rollbackRenameColumn(final ConfigNodeProcedureEnv env) {
184183
new RenameTableColumnPlan(database, tableName, newName, oldName),
185184
isGeneratedByPipe);
186185
if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
187-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
186+
setFailure(new ProcedureException(new IoTDBException(status)));
188187
}
189188
}
190189

iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/schema/table/RenameTableProcedure.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,7 @@ private void tableCheck(final ConfigNodeProcedureEnv env) {
106106
database, tableName, newName, this instanceof RenameViewProcedure);
107107
final TSStatus status = result.getLeft();
108108
if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
109-
setFailure(
110-
new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
109+
setFailure(new ProcedureException(new IoTDBException(status)));
111110
return;
112111
}
113112
table = result.getRight();
@@ -133,7 +132,7 @@ private void renameTable(final ConfigNodeProcedureEnv env) {
133132
: new RenameTablePlan(database, tableName, newName),
134133
isGeneratedByPipe);
135134
if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
136-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
135+
setFailure(new ProcedureException(new IoTDBException(status)));
137136
} else {
138137
setNextState(RenameTableState.COMMIT_RELEASE);
139138
}
@@ -175,7 +174,7 @@ private void rollbackRenameTable(final ConfigNodeProcedureEnv env) {
175174
: new RenameTablePlan(database, newName, tableName),
176175
isGeneratedByPipe);
177176
if (status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
178-
setFailure(new ProcedureException(new IoTDBException(status.getMessage(), status.getCode())));
177+
setFailure(new ProcedureException(new IoTDBException(status)));
179178
}
180179
}
181180

0 commit comments

Comments
 (0)