This is an automated email from the ASF dual-hosted git repository. liurui pushed a commit to branch monitor in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit 5ff75da3e0d5605da070e5b72c482a6f83a72941 Author: liuruiyiyang <[email protected]> AuthorDate: Thu Nov 21 13:05:28 2019 +0800 fix(*): update AtomicLong when StatMonitor is enabled --- .../org/apache/iotdb/db/engine/StorageEngine.java | 26 ++++++++++++++----- .../iotdb/db/monitor/collector/FileSize.java | 2 +- .../org/apache/iotdb/db/service/TSServiceImpl.java | 30 +++++++++++++--------- 3 files changed, 38 insertions(+), 20 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java index 62074bd..6600d4d 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java @@ -244,15 +244,15 @@ public class StorageEngine implements IService, IStatistic { } catch (StorageEngineException e) { logger.warn("get StorageGroupProcessor of device {} failed, because {}", insertPlan.getDeviceId(), e.getMessage(), e); - failPoint.addAndGet(insertPlan.getMeasurements().length); + addFailPoint(insertPlan.getMeasurements().length); throw new StorageEngineException(e); } try { storageGroupProcessor.insert(insertPlan); - okPoint.addAndGet(insertPlan.getMeasurements().length); + addOkPoint(insertPlan.getMeasurements().length); } catch (QueryProcessException e) { - failPoint.addAndGet(insertPlan.getMeasurements().length); + addFailPoint(insertPlan.getMeasurements().length); throw new QueryProcessException(e); } } @@ -272,16 +272,16 @@ public class StorageEngine implements IService, IStatistic { logger.warn("get StorageGroupProcessor of device {} failed, because {}", batchInsertPlan.getDeviceId(), e.getMessage(), e); - failPoint.addAndGet(pointsNumber); + addFailPoint(pointsNumber); throw new StorageEngineException(e); } try { Integer[] result = storageGroupProcessor.insertBatch(batchInsertPlan); - okPoint.addAndGet(pointsNumber); + addOkPoint(pointsNumber); return result; } catch (QueryProcessException e) { - failPoint.addAndGet(pointsNumber); + addFailPoint(pointsNumber); throw new StorageEngineException(e); } } @@ -509,9 +509,21 @@ public class StorageEngine implements IService, IStatistic { okPoint.set(0); failPoint.set(0); Map<String, Object> statParamsMap = new HashMap<>(); - for (StorageEngineMetrics kind : MonitorConstants.StorageEngineMetrics.values()) { + for (StorageEngineMetrics kind: MonitorConstants.StorageEngineMetrics.values()) { statParamsMap.put(kind.name(), new AtomicLong(fileSizeMap.get(kind))); } return statParamsMap; } + + private void addOkPoint(long count) { + if (config.isEnableStatMonitor()) { + okPoint.addAndGet(count); + } + } + + private void addFailPoint(long count) { + if (config.isEnableStatMonitor()) { + failPoint.addAndGet(count); + } + } } diff --git a/server/src/main/java/org/apache/iotdb/db/monitor/collector/FileSize.java b/server/src/main/java/org/apache/iotdb/db/monitor/collector/FileSize.java index c3f52f3..e57de4a 100644 --- a/server/src/main/java/org/apache/iotdb/db/monitor/collector/FileSize.java +++ b/server/src/main/java/org/apache/iotdb/db/monitor/collector/FileSize.java @@ -121,7 +121,7 @@ public class FileSize implements IStatistic { * * @return a map[FileSizeMetrics, Long] with the dir type and the dir size in byte */ - private Map<FileSizeMetrics, Long> getFileSizesInByte() { + Map<FileSizeMetrics, Long> getFileSizesInByte() { EnumMap<FileSizeMetrics, Long> fileSizes = new EnumMap<>(FileSizeMetrics.class); for (FileSizeMetrics kinds : FileSizeMetrics.values()) { 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 2478e15..2533e8c 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 @@ -539,7 +539,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext, IStatisti @Override public TSExecuteBatchStatementResp executeBatchStatement(TSExecuteBatchStatementReq req) { long t1 = System.currentTimeMillis(); - requestNum.incrementAndGet(); + addRequestNum(); List<Integer> result = new ArrayList<>(); try { if (!checkLogin()) { @@ -612,7 +612,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext, IStatisti @Override public TSExecuteStatementResp executeStatement(TSExecuteStatementReq req) { long startTime = System.currentTimeMillis(); - requestNum.incrementAndGet(); + addRequestNum(); TSExecuteStatementResp resp; SqlArgument sqlArgument; try { @@ -703,7 +703,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext, IStatisti logger.info(INFO_NOT_LOGIN, IoTDBConstant.GLOBAL_DB_NAME); return getTSExecuteStatementResp(getStatus(TSStatusCode.NOT_LOGIN_ERROR)); } - requestNum.incrementAndGet(); + addRequestNum(); String statement = req.getStatement(); PhysicalPlan physicalPlan; try { @@ -1013,7 +1013,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext, IStatisti return getTSExecuteStatementResp(getStatus(TSStatusCode.NOT_LOGIN_ERROR)); } - requestNum.incrementAndGet(); + addRequestNum(); String statement = req.getStatement(); return executeUpdateStatement(statement); } catch (Exception e) { @@ -1169,7 +1169,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext, IStatisti return getTSExecuteStatementResp(getStatus(TSStatusCode.NOT_LOGIN_ERROR)); } - requestNum.incrementAndGet(); + addRequestNum(); long stmtId = req.getStmtId(); InsertPlan plan = (InsertPlan) operationStatus.get() .computeIfAbsent(stmtId, k -> new InsertPlan()); @@ -1204,7 +1204,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext, IStatisti return new TSStatus(getStatus(TSStatusCode.NOT_LOGIN_ERROR)); } - requestNum.incrementAndGet(); + addRequestNum(); InsertPlan plan = new InsertPlan(); plan.setDeviceId(req.getDeviceId()); plan.setTime(req.getTimestamp()); @@ -1225,7 +1225,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext, IStatisti return new TSStatus(getStatus(TSStatusCode.NOT_LOGIN_ERROR)); } - requestNum.incrementAndGet(); + addRequestNum(); DeletePlan plan = new DeletePlan(); plan.setDeleteTime(req.getTimestamp()); List<Path> paths = new ArrayList<>(); @@ -1250,7 +1250,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext, IStatisti return getTSBatchExecuteStatementResp(getStatus(TSStatusCode.NOT_LOGIN_ERROR), null); } - requestNum.incrementAndGet(); + addRequestNum(); BatchInsertPlan batchInsertPlan = new BatchInsertPlan(req.deviceId, req.measurements); batchInsertPlan.setTimes(QueryDataSetUtils.readTimesFromBuffer(req.timestamps, req.size)); batchInsertPlan.setColumns(QueryDataSetUtils @@ -1299,7 +1299,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext, IStatisti return new TSStatus(getStatus(TSStatusCode.NOT_LOGIN_ERROR)); } - requestNum.incrementAndGet(); + addRequestNum(); SetStorageGroupPlan plan = new SetStorageGroupPlan(new Path(storageGroup)); TSStatus status = checkAuthority(plan); if (status != null) { @@ -1314,7 +1314,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext, IStatisti logger.info(INFO_NOT_LOGIN, IoTDBConstant.GLOBAL_DB_NAME); return new TSStatus(getStatus(TSStatusCode.NOT_LOGIN_ERROR)); } - requestNum.incrementAndGet(); + addRequestNum(); List<Path> storageGroupList = new ArrayList<>(); for (String storageGroup : storageGroups) { storageGroupList.add(new Path(storageGroup)); @@ -1333,7 +1333,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext, IStatisti logger.info(INFO_NOT_LOGIN, IoTDBConstant.GLOBAL_DB_NAME); return new TSStatus(getStatus(TSStatusCode.NOT_LOGIN_ERROR)); } - requestNum.incrementAndGet(); + addRequestNum(); CreateTimeSeriesPlan plan = new CreateTimeSeriesPlan(new Path(req.getPath()), TSDataType.values()[req.getDataType()], TSEncoding.values()[req.getEncoding()], CompressionType.values()[req.compressor], new HashMap<>()); @@ -1350,7 +1350,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext, IStatisti logger.info(INFO_NOT_LOGIN, IoTDBConstant.GLOBAL_DB_NAME); return new TSStatus(getStatus(TSStatusCode.NOT_LOGIN_ERROR)); } - requestNum.incrementAndGet(); + addRequestNum(); List<Path> pathList = new ArrayList<>(); for (String path : paths) { pathList.add(new Path(path)); @@ -1445,5 +1445,11 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext, IStatisti queryIdGenerator.set(queryId + 1); return queryId; } + + private void addRequestNum() { + if (config.isEnableStatMonitor()) { + requestNum.incrementAndGet(); + } + } }
