leventov commented on a change in pull request #6402: Thread-safe QueryMetrics
URL: https://github.com/apache/incubator-druid/pull/6402#discussion_r229339067
 
 

 ##########
 File path: 
processing/src/main/java/org/apache/druid/query/DefaultQueryMetrics.java
 ##########
 @@ -295,12 +304,22 @@ public void identity(String identity)
   }
 
   @Override
-  public void emit(ServiceEmitter emitter)
+  public void emit(final ServiceEmitter emitter)
   {
-    checkModifiedFromOwnerThread();
-    for (Map.Entry<String, Number> metric : metrics.entrySet()) {
-      emitter.emit(builder.build(metric.getKey(), metric.getValue()));
+    final Thread currThread = Thread.currentThread();
+    synchronized (lock) {
+      if (ownerThread == null) {
+        ownerThread = currThread;
+      } else if (!ownerThread.equals(currThread)) {
+        throw new ISE("emit() from multiple threads is not allowed. If it is 
needed to emit metrics from "
 
 Review comment:
   Not formatted properly. Concatenated string arg should start at it's own 
line and in the end `);` be on the separate line as well.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to