Skip to content

Commit 76c01dc

Browse files
authored
[IOTDB-4150] Client output has double error code (apache#7018)
[IOTDB-4150] Client output has double error code apache#7018
1 parent 15a3202 commit 76c01dc

File tree

3 files changed

+53
-60
lines changed

3 files changed

+53
-60
lines changed

server/src/main/java/org/apache/iotdb/db/auth/ClusterAuthorityFetcher.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.apache.iotdb.commons.auth.entity.User;
2727
import org.apache.iotdb.commons.client.IClientManager;
2828
import org.apache.iotdb.commons.consensus.PartitionRegionId;
29+
import org.apache.iotdb.commons.exception.IoTDBException;
2930
import org.apache.iotdb.commons.path.PartialPath;
3031
import org.apache.iotdb.commons.utils.AuthUtils;
3132
import org.apache.iotdb.confignode.rpc.thrift.TAuthorizerReq;
@@ -40,7 +41,6 @@
4041
import org.apache.iotdb.db.mpp.plan.statement.sys.AuthorStatement;
4142
import org.apache.iotdb.db.qp.logical.sys.AuthorOperator;
4243
import org.apache.iotdb.rpc.RpcUtils;
43-
import org.apache.iotdb.rpc.StatementExecutionException;
4444
import org.apache.iotdb.rpc.TSStatusCode;
4545

4646
import com.google.common.util.concurrent.SettableFuture;
@@ -127,7 +127,7 @@ public SettableFuture<ConfigTaskResult> operatePermission(AuthorStatement author
127127
.toString()
128128
.toLowerCase(Locale.ROOT),
129129
tsStatus);
130-
future.setException(new StatementExecutionException(tsStatus));
130+
future.setException(new IoTDBException(tsStatus.message, tsStatus.code));
131131
} else {
132132
future.set(new ConfigTaskResult(TSStatusCode.SUCCESS_STATUS));
133133
}
@@ -161,7 +161,9 @@ public SettableFuture<ConfigTaskResult> queryPermission(AuthorStatement authorSt
161161
.toString()
162162
.toLowerCase(Locale.ROOT),
163163
authorizerResp.getStatus());
164-
future.setException(new StatementExecutionException(authorizerResp.getStatus()));
164+
future.setException(
165+
new IoTDBException(
166+
authorizerResp.getStatus().message, authorizerResp.getStatus().code));
165167
} else {
166168
AuthorizerManager.getInstance().buildTSBlock(authorizerResp.getAuthorizerInfo(), future);
167169
}
@@ -170,7 +172,8 @@ public SettableFuture<ConfigTaskResult> queryPermission(AuthorStatement authorSt
170172
authorizerResp.setStatus(
171173
RpcUtils.getStatus(
172174
TSStatusCode.EXECUTE_STATEMENT_ERROR, "Failed to connect to config node."));
173-
future.setException(new StatementExecutionException(authorizerResp.getStatus()));
175+
future.setException(
176+
new IoTDBException(authorizerResp.getStatus().message, authorizerResp.getStatus().code));
174177
} catch (AuthException e) {
175178
future.setException(e);
176179
}

server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@
7070
import org.apache.iotdb.db.mpp.plan.statement.metadata.template.ShowNodesInSchemaTemplateStatement;
7171
import org.apache.iotdb.db.mpp.plan.statement.metadata.template.ShowPathSetTemplateStatement;
7272
import org.apache.iotdb.db.mpp.plan.statement.metadata.template.ShowSchemaTemplateStatement;
73-
import org.apache.iotdb.rpc.StatementExecutionException;
7473
import org.apache.iotdb.rpc.TSStatusCode;
7574

7675
import com.google.common.util.concurrent.SettableFuture;
@@ -188,7 +187,7 @@ public SettableFuture<ConfigTaskResult> createFunction(
188187
udfName,
189188
className,
190189
uris);
191-
future.setException(new StatementExecutionException(executionStatus));
190+
future.setException(new IoTDBException(executionStatus.message, executionStatus.code));
192191
} else {
193192
future.set(new ConfigTaskResult(TSStatusCode.SUCCESS_STATUS));
194193
}
@@ -231,7 +230,7 @@ public SettableFuture<ConfigTaskResult> dropFunction(String udfName) {
231230

232231
if (TSStatusCode.SUCCESS_STATUS.getStatusCode() != executionStatus.getCode()) {
233232
LOGGER.error("[{}] Failed to drop function {} in config node.", executionStatus, udfName);
234-
future.setException(new StatementExecutionException(executionStatus));
233+
future.setException(new IoTDBException(executionStatus.message, executionStatus.code));
235234
} else {
236235
future.set(new ConfigTaskResult(TSStatusCode.SUCCESS_STATUS));
237236
}
@@ -286,7 +285,7 @@ public SettableFuture<ConfigTaskResult> merge(boolean isCluster) {
286285
if (tsStatus.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
287286
future.set(new ConfigTaskResult(TSStatusCode.SUCCESS_STATUS));
288287
} else {
289-
future.setException(new StatementExecutionException(tsStatus));
288+
future.setException(new IoTDBException(tsStatus.message, tsStatus.code));
290289
}
291290
return future;
292291
}
@@ -309,7 +308,7 @@ public SettableFuture<ConfigTaskResult> flush(TFlushReq tFlushReq, boolean isClu
309308
if (tsStatus.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
310309
future.set(new ConfigTaskResult(TSStatusCode.SUCCESS_STATUS));
311310
} else {
312-
future.setException(new StatementExecutionException(tsStatus));
311+
future.setException(new IoTDBException(tsStatus.message, tsStatus.code));
313312
}
314313
return future;
315314
}
@@ -332,7 +331,7 @@ public SettableFuture<ConfigTaskResult> clearCache(boolean isCluster) {
332331
if (tsStatus.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
333332
future.set(new ConfigTaskResult(TSStatusCode.SUCCESS_STATUS));
334333
} else {
335-
future.setException(new StatementExecutionException(tsStatus));
334+
future.setException(new IoTDBException(tsStatus.message, tsStatus.code));
336335
}
337336
return future;
338337
}
@@ -406,7 +405,9 @@ public SettableFuture<ConfigTaskResult> showRegion(ShowRegionStatement showRegio
406405
CONFIG_NODE_CLIENT_MANAGER.borrowClient(ConfigNodeInfo.partitionRegionId)) {
407406
showRegionResp = client.showRegion(showRegionReq);
408407
if (showRegionResp.getStatus().getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
409-
future.setException(new StatementExecutionException(showRegionResp.getStatus()));
408+
future.setException(
409+
new IoTDBException(
410+
showRegionResp.getStatus().message, showRegionResp.getStatus().code));
410411
return future;
411412
}
412413
} catch (TException | IOException e) {
@@ -426,7 +427,9 @@ public SettableFuture<ConfigTaskResult> showDataNodes(
426427
CONFIG_NODE_CLIENT_MANAGER.borrowClient(ConfigNodeInfo.partitionRegionId)) {
427428
showDataNodesResp = client.showDataNodes();
428429
if (showDataNodesResp.getStatus().getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
429-
future.setException(new StatementExecutionException(showDataNodesResp.getStatus()));
430+
future.setException(
431+
new IoTDBException(
432+
showDataNodesResp.getStatus().message, showDataNodesResp.getStatus().code));
430433
return future;
431434
}
432435
} catch (TException | IOException e) {
@@ -446,7 +449,9 @@ public SettableFuture<ConfigTaskResult> showConfigNodes() {
446449
showConfigNodesResp = client.showConfigNodes();
447450
if (showConfigNodesResp.getStatus().getCode()
448451
!= TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
449-
future.setException(new StatementExecutionException(showConfigNodesResp.getStatus()));
452+
future.setException(
453+
new IoTDBException(
454+
showConfigNodesResp.getStatus().message, showConfigNodesResp.getStatus().code));
450455
return future;
451456
}
452457
} catch (TException | IOException e) {

server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/StandaloneConfigTaskExecutor.java

Lines changed: 32 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,6 @@
4646
import org.apache.iotdb.db.mpp.plan.statement.metadata.template.ShowNodesInSchemaTemplateStatement;
4747
import org.apache.iotdb.db.mpp.plan.statement.metadata.template.ShowPathSetTemplateStatement;
4848
import org.apache.iotdb.db.mpp.plan.statement.metadata.template.ShowSchemaTemplateStatement;
49-
import org.apache.iotdb.rpc.RpcUtils;
50-
import org.apache.iotdb.rpc.StatementExecutionException;
5149
import org.apache.iotdb.rpc.TSStatusCode;
5250

5351
import com.google.common.util.concurrent.SettableFuture;
@@ -154,9 +152,7 @@ public SettableFuture<ConfigTaskResult> createFunction(
154152
udfName, className, uris, e.getMessage());
155153
LOGGER.error(message, e);
156154
future.setException(
157-
new StatementExecutionException(
158-
new TSStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode())
159-
.setMessage(message)));
155+
new IoTDBException(message, TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode()));
160156
}
161157
return future;
162158
}
@@ -202,9 +198,7 @@ public SettableFuture<ConfigTaskResult> dropFunction(String udfName) {
202198
String.format("Failed to drop function %s, because %s.", udfName, e.getMessage());
203199
LOGGER.error(message, e);
204200
future.setException(
205-
new StatementExecutionException(
206-
new TSStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode())
207-
.setMessage(message)));
201+
new IoTDBException(message, TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode()));
208202
}
209203
return future;
210204
}
@@ -229,7 +223,7 @@ public SettableFuture<ConfigTaskResult> merge(boolean isCluster) {
229223
if (tsStatus.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
230224
future.set(new ConfigTaskResult(TSStatusCode.SUCCESS_STATUS));
231225
} else {
232-
future.setException(new StatementExecutionException(tsStatus));
226+
future.setException(new IoTDBException(tsStatus.message, tsStatus.code));
233227
}
234228
return future;
235229
}
@@ -241,7 +235,7 @@ public SettableFuture<ConfigTaskResult> flush(TFlushReq tFlushReq, boolean isClu
241235
if (tsStatus.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
242236
future.set(new ConfigTaskResult(TSStatusCode.SUCCESS_STATUS));
243237
} else {
244-
future.setException(new StatementExecutionException(tsStatus));
238+
future.setException(new IoTDBException(tsStatus.message, tsStatus.code));
245239
}
246240
return future;
247241
}
@@ -253,7 +247,7 @@ public SettableFuture<ConfigTaskResult> clearCache(boolean isCluster) {
253247
if (tsStatus.getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
254248
future.set(new ConfigTaskResult(TSStatusCode.SUCCESS_STATUS));
255249
} else {
256-
future.setException(new StatementExecutionException(tsStatus));
250+
future.setException(new IoTDBException(tsStatus.message, tsStatus.code));
257251
}
258252
return future;
259253
}
@@ -262,10 +256,9 @@ public SettableFuture<ConfigTaskResult> clearCache(boolean isCluster) {
262256
public SettableFuture<ConfigTaskResult> showCluster() {
263257
SettableFuture<ConfigTaskResult> future = SettableFuture.create();
264258
future.setException(
265-
new StatementExecutionException(
266-
RpcUtils.getStatus(
267-
TSStatusCode.EXECUTE_STATEMENT_ERROR,
268-
"Executing show cluster in standalone mode is not supported")));
259+
new IoTDBException(
260+
"Executing show cluster in standalone mode is not supported",
261+
TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode()));
269262
return future;
270263
}
271264

@@ -308,10 +301,9 @@ public SettableFuture<ConfigTaskResult> showTTL(ShowTTLStatement showTTLStatemen
308301
public SettableFuture<ConfigTaskResult> showRegion(ShowRegionStatement showRegionStatement) {
309302
SettableFuture<ConfigTaskResult> future = SettableFuture.create();
310303
future.setException(
311-
new StatementExecutionException(
312-
RpcUtils.getStatus(
313-
TSStatusCode.EXECUTE_STATEMENT_ERROR,
314-
"Executing show regions in standalone mode is not supported")));
304+
new IoTDBException(
305+
"Executing show regions in standalone mode is not supported",
306+
TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode()));
315307
return future;
316308
}
317309

@@ -320,21 +312,19 @@ public SettableFuture<ConfigTaskResult> showDataNodes(
320312
ShowDataNodesStatement showDataNodesStatement) {
321313
SettableFuture<ConfigTaskResult> future = SettableFuture.create();
322314
future.setException(
323-
new StatementExecutionException(
324-
RpcUtils.getStatus(
325-
TSStatusCode.EXECUTE_STATEMENT_ERROR,
326-
"Executing show datanodes in standalone mode is not supported")));
315+
new IoTDBException(
316+
"Executing show datanodes in standalone mode is not supported",
317+
TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode()));
327318
return future;
328319
}
329320

330321
@Override
331322
public SettableFuture<ConfigTaskResult> showConfigNodes() {
332323
SettableFuture<ConfigTaskResult> future = SettableFuture.create();
333324
future.setException(
334-
new StatementExecutionException(
335-
RpcUtils.getStatus(
336-
TSStatusCode.EXECUTE_STATEMENT_ERROR,
337-
"Executing show confignodes in standalone mode is not supported")));
325+
new IoTDBException(
326+
"Executing show confignodes in standalone mode is not supported",
327+
TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode()));
338328
return future;
339329
}
340330

@@ -343,10 +333,9 @@ public SettableFuture<ConfigTaskResult> createSchemaTemplate(
343333
CreateSchemaTemplateStatement createSchemaTemplateStatement) {
344334
SettableFuture<ConfigTaskResult> future = SettableFuture.create();
345335
future.setException(
346-
new StatementExecutionException(
347-
RpcUtils.getStatus(
348-
TSStatusCode.EXECUTE_STATEMENT_ERROR,
349-
"Executing create schema template is not supported")));
336+
new IoTDBException(
337+
"Executing create schema template is not supported",
338+
TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode()));
350339
return future;
351340
}
352341

@@ -355,10 +344,9 @@ public SettableFuture<ConfigTaskResult> showSchemaTemplate(
355344
ShowSchemaTemplateStatement showSchemaTemplateStatement) {
356345
SettableFuture<ConfigTaskResult> future = SettableFuture.create();
357346
future.setException(
358-
new StatementExecutionException(
359-
RpcUtils.getStatus(
360-
TSStatusCode.EXECUTE_STATEMENT_ERROR,
361-
"Executing show schema template is not supported")));
347+
new IoTDBException(
348+
"Executing show schema template is not supported",
349+
TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode()));
362350
return future;
363351
}
364352

@@ -367,10 +355,9 @@ public SettableFuture<ConfigTaskResult> showNodesInSchemaTemplate(
367355
ShowNodesInSchemaTemplateStatement showNodesInSchemaTemplateStatement) {
368356
SettableFuture<ConfigTaskResult> future = SettableFuture.create();
369357
future.setException(
370-
new StatementExecutionException(
371-
RpcUtils.getStatus(
372-
TSStatusCode.EXECUTE_STATEMENT_ERROR,
373-
"Executing show nodes in schema template is not supported")));
358+
new IoTDBException(
359+
"Executing show nodes in schema template is not supported",
360+
TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode()));
374361
return future;
375362
}
376363

@@ -379,10 +366,9 @@ public SettableFuture<ConfigTaskResult> setSchemaTemplate(
379366
SetSchemaTemplateStatement setSchemaTemplateStatement) {
380367
SettableFuture<ConfigTaskResult> future = SettableFuture.create();
381368
future.setException(
382-
new StatementExecutionException(
383-
RpcUtils.getStatus(
384-
TSStatusCode.EXECUTE_STATEMENT_ERROR,
385-
"Executing set schema template is not supported")));
369+
new IoTDBException(
370+
"Executing set schema template is not supported",
371+
TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode()));
386372
return future;
387373
}
388374

@@ -391,10 +377,9 @@ public SettableFuture<ConfigTaskResult> showPathSetTemplate(
391377
ShowPathSetTemplateStatement showPathSetTemplateStatement) {
392378
SettableFuture<ConfigTaskResult> future = SettableFuture.create();
393379
future.setException(
394-
new StatementExecutionException(
395-
RpcUtils.getStatus(
396-
TSStatusCode.EXECUTE_STATEMENT_ERROR,
397-
"Executing show path set template is not supported")));
380+
new IoTDBException(
381+
"Executing show path set template is not supported",
382+
TSStatusCode.EXECUTE_STATEMENT_ERROR.getStatusCode()));
398383
return future;
399384
}
400385
}

0 commit comments

Comments
 (0)