This is an automated email from the ASF dual-hosted git repository. qiaojialin pushed a commit to branch fix_error_log_to_warn in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit f493d660461de61ed2d5946f34bae86e1df677bf Author: qiaojialin <[email protected]> AuthorDate: Thu Nov 26 18:53:34 2020 +0800 catch NullPointerException and log error --- .../org/apache/iotdb/db/service/TSServiceImpl.java | 147 +++++++++++++++------ 1 file changed, 108 insertions(+), 39 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java index ce8e397..9145e51 100644 --- a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java +++ b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java @@ -295,7 +295,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { // release as many as resources as possible, so do not break as soon as one exception is // raised exceptions.add(e); - logger.error("Error in closeSession : ", e); + logger.warn("Error in closeSession : ", e); } } } @@ -342,9 +342,12 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { releaseQueryResource(req.queryId); } - } catch (Exception e) { + } catch (NullPointerException e) { logger.error("Error in closeOperation : ", e); return RpcUtils.getStatus(TSStatusCode.CLOSE_OPERATION_ERROR, "Error in closeOperation"); + } catch (Exception e) { + logger.warn("Error in closeOperation : ", e); + return RpcUtils.getStatus(TSStatusCode.CLOSE_OPERATION_ERROR, "Error in closeOperation"); } return RpcUtils.getStatus(TSStatusCode.SUCCESS_STATUS); } @@ -390,14 +393,14 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { status = RpcUtils.getStatus(TSStatusCode.METADATA_ERROR, req.getType()); break; } - } catch (MetadataException | OutOfMemoryError e) { + } catch (NullPointerException | OutOfMemoryError e) { logger.error( String.format("Failed to fetch timeseries %s's metadata", req.getColumnPath()), e); status = RpcUtils.getStatus(TSStatusCode.METADATA_ERROR, e.getMessage()); resp.setStatus(status); return resp; } catch (Exception e) { - logger.error("Error in fetchMetadata : ", e); + logger.warn("Error in fetchMetadata : ", e); status = RpcUtils.getStatus(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage()); resp.setStatus(status); return resp; @@ -440,10 +443,14 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { } else { return RpcUtils.getStatus(result); } - } catch (Exception e) { + } catch (NullPointerException e) { logger.error(SERVER_INTERNAL_ERROR, IoTDBConstant.GLOBAL_DB_NAME, e); return RpcUtils .getStatus(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage()); + } catch (Exception e) { + logger.warn(SERVER_INTERNAL_ERROR, IoTDBConstant.GLOBAL_DB_NAME, e); + return RpcUtils + .getStatus(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage()); } finally { Measurement.INSTANCE.addOperationLatency(Operation.EXECUTE_JDBC_BATCH, t1); } @@ -471,7 +478,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { ERROR_PARSING_SQL + " " + statement + " " + e.getMessage())); return false; } catch (SQLParserException e) { - logger.error("Error occurred when executing {}, check metadata error: ", statement, e); + logger.warn("Error occurred when executing {}, check metadata error: ", statement, e); result.add(RpcUtils.getStatus( TSStatusCode.SQL_PARSE_ERROR, ERROR_PARSING_SQL + " " + statement + " " + e.getMessage())); @@ -489,10 +496,14 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { RpcUtils.getStatus(TSStatusCode.QUERY_NOT_ALLOWED, "query statement not allowed: " + statement)); return false; - } catch (Exception e) { + } catch (NullPointerException e) { logger.error(SERVER_INTERNAL_ERROR, IoTDBConstant.GLOBAL_DB_NAME, e); result.add(RpcUtils.getStatus( TSStatusCode.INTERNAL_SERVER_ERROR, "server Internal Error: " + e.getMessage())); + } catch (Exception e) { + logger.warn(SERVER_INTERNAL_ERROR, IoTDBConstant.GLOBAL_DB_NAME, e); + result.add(RpcUtils.getStatus( + TSStatusCode.INTERNAL_SERVER_ERROR, "server Internal Error: " + e.getMessage())); } return true; } @@ -520,7 +531,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { logger.warn(ERROR_PARSING_SQL, req.getStatement() + " " + e.getMessage()); return RpcUtils.getTSExecuteStatementResp(TSStatusCode.SQL_PARSE_ERROR, e.getMessage()); } catch (SQLParserException e) { - logger.error(CHECK_METADATA_ERROR, e); + logger.warn(CHECK_METADATA_ERROR, e); return RpcUtils.getTSExecuteStatementResp( TSStatusCode.METADATA_ERROR, CHECK_METADATA_ERROR + e.getMessage()); } catch (QueryProcessException e) { @@ -528,9 +539,12 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { return RpcUtils.getTSExecuteStatementResp( RpcUtils.getStatus(TSStatusCode.QUERY_PROCESS_ERROR, "Meet error in query process: " + e.getMessage())); - } catch (Exception e) { + } catch (NullPointerException e) { logger.error(SERVER_INTERNAL_ERROR, IoTDBConstant.GLOBAL_DB_NAME, e); return RpcUtils.getTSExecuteStatementResp(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage()); + } catch (Exception e) { + logger.warn(SERVER_INTERNAL_ERROR, IoTDBConstant.GLOBAL_DB_NAME, e); + return RpcUtils.getTSExecuteStatementResp(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage()); } } @@ -566,13 +580,17 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { return RpcUtils.getTSExecuteStatementResp(TSStatusCode.SQL_PARSE_ERROR, ERROR_PARSING_SQL + e.getMessage()); } catch (SQLParserException e) { - logger.error(CHECK_METADATA_ERROR, e); + logger.warn(CHECK_METADATA_ERROR, e); return RpcUtils.getTSExecuteStatementResp( TSStatusCode.METADATA_ERROR, CHECK_METADATA_ERROR + e.getMessage()); - } catch (Exception e) { + } catch (NullPointerException e) { logger.error(SERVER_INTERNAL_ERROR, IoTDBConstant.GLOBAL_DB_NAME, e); return RpcUtils.getTSExecuteStatementResp( RpcUtils.getStatus(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage())); + } catch (Exception e) { + logger.warn(SERVER_INTERNAL_ERROR, IoTDBConstant.GLOBAL_DB_NAME, e); + return RpcUtils.getTSExecuteStatementResp( + RpcUtils.getStatus(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage())); } } @@ -606,13 +624,17 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { return RpcUtils.getTSExecuteStatementResp(TSStatusCode.SQL_PARSE_ERROR, ERROR_PARSING_SQL + e.getMessage()); } catch (SQLParserException e) { - logger.error(CHECK_METADATA_ERROR, e); + logger.warn(CHECK_METADATA_ERROR, e); return RpcUtils.getTSExecuteStatementResp( TSStatusCode.METADATA_ERROR, CHECK_METADATA_ERROR + e.getMessage()); - } catch (Exception e) { + } catch (NullPointerException e) { logger.error(SERVER_INTERNAL_ERROR, IoTDBConstant.GLOBAL_DB_NAME, e); return RpcUtils.getTSExecuteStatementResp( RpcUtils.getStatus(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage())); + } catch (Exception e) { + logger.warn(SERVER_INTERNAL_ERROR, IoTDBConstant.GLOBAL_DB_NAME, e); + return RpcUtils.getTSExecuteStatementResp( + RpcUtils.getStatus(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage())); } } @@ -739,7 +761,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { return resp; } catch (Exception e) { - logger.error("{}: Internal server error: ", IoTDBConstant.GLOBAL_DB_NAME, e); + logger.warn("{}: Internal server error: ", IoTDBConstant.GLOBAL_DB_NAME, e); if (e instanceof NullPointerException) { e.printStackTrace(); } @@ -747,7 +769,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { try { releaseQueryResource(queryId); } catch (StorageEngineException ex) { - logger.error("Error happened while releasing query resource: ", ex); + logger.warn("Error happened while releasing query resource: ", ex); } } return RpcUtils.getTSExecuteStatementResp(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage()); @@ -810,7 +832,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { case MERGE_STATUS: return StaticResps.MERGE_STATUS_RESP; default: - logger.error("Unsupported show content type: {}", showPlan.getShowContentType()); + logger.warn("Unsupported show content type: {}", showPlan.getShowContentType()); throw new QueryProcessException( "Unsupported show content type:" + showPlan.getShowContentType()); } @@ -1023,11 +1045,11 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { return resp; } } catch (Exception e) { - logger.error("{}: Internal server error: ", IoTDBConstant.GLOBAL_DB_NAME, e); + logger.warn("{}: Internal server error: ", IoTDBConstant.GLOBAL_DB_NAME, e); try { releaseQueryResource(req.queryId); } catch (StorageEngineException ex) { - logger.error("Error happened while releasing query resource: ", ex); + logger.warn("Error happened while releasing query resource: ", ex); } return RpcUtils.getTSFetchResultsResp(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage()); } @@ -1123,10 +1145,14 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { } String statement = req.getStatement(); return executeUpdateStatement(statement, req.getSessionId()); - } catch (Exception e) { + } catch (NullPointerException e) { logger.error(SERVER_INTERNAL_ERROR, IoTDBConstant.GLOBAL_DB_NAME, e); return RpcUtils.getTSExecuteStatementResp( RpcUtils.getStatus(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage())); + } catch (Exception e) { + logger.warn(SERVER_INTERNAL_ERROR, IoTDBConstant.GLOBAL_DB_NAME, e); + return RpcUtils.getTSExecuteStatementResp( + RpcUtils.getStatus(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage())); } } @@ -1207,10 +1233,14 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { if (zoneId != null) { resp = new TSGetTimeZoneResp(tsStatus, zoneId.toString()); } - } catch (Exception e) { + } catch (NullPointerException e) { logger.error("meet error while generating time zone.", e); tsStatus = RpcUtils.getStatus(TSStatusCode.GENERATE_TIME_ZONE_ERROR); resp = new TSGetTimeZoneResp(tsStatus, "Unknown time zone"); + } catch (Exception e) { + logger.warn("meet error while generating time zone.", e); + tsStatus = RpcUtils.getStatus(TSStatusCode.GENERATE_TIME_ZONE_ERROR); + resp = new TSGetTimeZoneResp(tsStatus, "Unknown time zone"); } return resp; } @@ -1222,9 +1252,12 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { String timeZoneID = req.getTimeZone(); sessionIdZoneIdMap.put(req.getSessionId(), ZoneId.of(timeZoneID)); tsStatus = RpcUtils.getStatus(TSStatusCode.SUCCESS_STATUS); - } catch (Exception e) { + } catch (NullPointerException e) { logger.error("meet error while setting time zone.", e); tsStatus = RpcUtils.getStatus(TSStatusCode.SET_TIME_ZONE_ERROR); + } catch (Exception e) { + logger.warn("meet error while setting time zone.", e); + tsStatus = RpcUtils.getStatus(TSStatusCode.SET_TIME_ZONE_ERROR); } return new TSStatus(tsStatus); } @@ -1274,10 +1307,14 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { && isAllSuccessful); } statusList.add(status); - } catch (Exception e) { + } catch (NullPointerException e) { logger.error("meet error when insert in batch", e); isAllSuccessful = false; statusList.add(RpcUtils.getStatus(TSStatusCode.INTERNAL_SERVER_ERROR)); + } catch (Exception e) { + logger.warn("meet error when insert in batch", e); + isAllSuccessful = false; + statusList.add(RpcUtils.getStatus(TSStatusCode.INTERNAL_SERVER_ERROR)); } } @@ -1320,10 +1357,14 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { && isAllSuccessful); } statusList.add(status); - } catch (Exception e) { + } catch (NullPointerException e) { logger.error("meet error when insert in batch", e); isAllSuccessful = false; statusList.add(RpcUtils.getStatus(TSStatusCode.INTERNAL_SERVER_ERROR)); + } catch (Exception e) { + logger.warn("meet error when insert in batch", e); + isAllSuccessful = false; + statusList.add(RpcUtils.getStatus(TSStatusCode.INTERNAL_SERVER_ERROR)); } } @@ -1395,8 +1436,10 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { return status; } return executeNonQueryPlan(plan); - } catch (Exception e) { + } catch (NullPointerException e) { logger.error("meet error when insert", e); + } catch (Exception e) { + logger.warn("meet error when insert", e); } return RpcUtils.getStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR); } @@ -1425,8 +1468,10 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { return status; } return executeNonQueryPlan(plan); - } catch (Exception e) { + } catch (NullPointerException e) { logger.error("meet error when insert", e); + } catch (Exception e) { + logger.warn("meet error when insert", e); } return RpcUtils.getStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR); } @@ -1453,8 +1498,10 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { return new TSStatus(status); } return new TSStatus(executeNonQueryPlan(plan)); - } catch (Exception e) { + } catch (NullPointerException e) { logger.error("meet error when delete data", e); + } catch (Exception e) { + logger.warn("meet error when delete data", e); } return RpcUtils.getStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR); } @@ -1483,10 +1530,14 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { } return executeNonQueryPlan(insertTabletPlan); - } catch (Exception e) { + } catch (NullPointerException e) { logger.error("{}: error occurs when executing statements", IoTDBConstant.GLOBAL_DB_NAME, e); return RpcUtils .getStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR, e.getMessage()); + } catch (Exception e) { + logger.warn("{}: error occurs when executing statements", IoTDBConstant.GLOBAL_DB_NAME, e); + return RpcUtils + .getStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR, e.getMessage()); } finally { Measurement.INSTANCE.addOperationLatency(Operation.EXECUTE_RPC_BATCH_INSERT, t1); } @@ -1529,10 +1580,12 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { return RpcUtils.getStatus(statusList); } return RpcUtils.getStatus(TSStatusCode.SUCCESS_STATUS); - } catch (Exception e) { + } catch (NullPointerException e) { logger.error("{}: error occurs when insertTablets", IoTDBConstant.GLOBAL_DB_NAME, e); - return RpcUtils - .getStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR, e.getMessage()); + return RpcUtils.getStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR, e.getMessage()); + } catch (Exception e) { + logger.warn("{}: error occurs when insertTablets", IoTDBConstant.GLOBAL_DB_NAME, e); + return RpcUtils.getStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR, e.getMessage()); } finally { Measurement.INSTANCE.addOperationLatency(Operation.EXECUTE_RPC_BATCH_INSERT, t1); } @@ -1552,8 +1605,10 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { return new TSStatus(status); } return new TSStatus(executeNonQueryPlan(plan)); - } catch (Exception e) { + } catch (NullPointerException e) { logger.error("meet error when set storage group", e); + } catch (Exception e) { + logger.warn("meet error when set storage group", e); } return RpcUtils.getStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR); } @@ -1575,8 +1630,10 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { return new TSStatus(status); } return new TSStatus(executeNonQueryPlan(plan)); - } catch (Exception e) { + } catch (NullPointerException e) { logger.error("meet error when delete storage groups", e); + } catch (Exception e) { + logger.warn("meet error when delete storage groups", e); } return RpcUtils.getStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR); } @@ -1602,8 +1659,10 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { return status; } return executeNonQueryPlan(plan); - } catch (Exception e) { + } catch (NullPointerException e) { logger.error("meet error when create timeseries", e); + } catch (Exception e) { + logger.warn("meet error when create timeseries", e); } return RpcUtils.getStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR); } @@ -1712,8 +1771,10 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { logger.debug("Create multiple timeseries failed!"); return RpcUtils.getStatus(statusList); } - } catch (Exception e) { + } catch (NullPointerException e) { logger.error("meet error when create multi timeseries", e); + } catch (Exception e) { + logger.warn("meet error when create multi timeseries", e); } return RpcUtils.getStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR); } @@ -1735,8 +1796,10 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { return status; } return executeNonQueryPlan(plan); - } catch (Exception e) { + } catch (NullPointerException e) { logger.error("meet error when delete timeseries", e); + } catch (Exception e) { + logger.warn("meet error when delete timeseries", e); } return RpcUtils.getStatus(TSStatusCode.EXECUTE_STATEMENT_ERROR); } @@ -1758,11 +1821,14 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { "No permissions for this operation " + plan.getOperatorType().toString()); } } catch (AuthException e) { - logger.error("meet error while checking authorization.", e); + logger.warn("meet error while checking authorization.", e); return RpcUtils.getStatus(TSStatusCode.UNINITIALIZED_AUTH_ERROR, e.getMessage()); - } catch (Exception e) { + } catch (NullPointerException e) { logger.error(SERVER_INTERNAL_ERROR, IoTDBConstant.GLOBAL_DB_NAME, e); return RpcUtils.getStatus(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage()); + } catch (Exception e) { + logger.warn(SERVER_INTERNAL_ERROR, IoTDBConstant.GLOBAL_DB_NAME, e); + return RpcUtils.getStatus(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage()); } return null; } @@ -1775,11 +1841,14 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { } catch (BatchInsertionException e) { return RpcUtils.getStatus(Arrays.asList(e.getFailingStatus())); } catch (QueryProcessException e) { - logger.error("meet error while processing non-query. ", e); + logger.warn("meet error while processing non-query. ", e); return RpcUtils.getStatus(e.getErrorCode(), e.getMessage()); - } catch (Exception e) { + } catch (NullPointerException e) { logger.error(SERVER_INTERNAL_ERROR, IoTDBConstant.GLOBAL_DB_NAME, e); return RpcUtils.getStatus(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage()); + } catch (Exception e) { + logger.warn(SERVER_INTERNAL_ERROR, IoTDBConstant.GLOBAL_DB_NAME, e); + return RpcUtils.getStatus(TSStatusCode.INTERNAL_SERVER_ERROR, e.getMessage()); } return execRet
