xingtanzjr commented on code in PR #9439:
URL: https://github.com/apache/iotdb/pull/9439#discussion_r1147177287
##########
server/src/main/java/org/apache/iotdb/db/service/metrics/IoTDBInternalLocalReporter.java:
##########
@@ -150,39 +150,43 @@ public ReporterType getReporterType() {
@Override
protected void writeMetricToIoTDB(Map<String, Object> valueMap, String
prefix, long time) {
- try {
- TSInsertRecordReq request = new TSInsertRecordReq();
- List<String> measurements = new ArrayList<>();
- List<TSDataType> types = new ArrayList<>();
- List<Object> values = new ArrayList<>();
- for (Map.Entry<String, Object> entry : valueMap.entrySet()) {
- String measurement = entry.getKey();
- Object value = entry.getValue();
- measurements.add(measurement);
- types.add(inferType(value));
- values.add(value);
- }
- ByteBuffer buffer = SessionUtils.getValueBuffer(types, values);
+ service.execute(
Review Comment:
From the call stack, it seems that the `service.execute()` will be called
inside the thread pool, which has potential risk leading dead lock for thread
pool `service`.
Although currently we doesn't wait `writeMetricToIoTDB()` to be completed so
the dead-lock won't be triggered, but it is better to optimize the
implementation, from my side.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]