[ https://issues.apache.org/jira/browse/FLINK-12681?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16851560#comment-16851560 ]
Biao Liu commented on FLINK-12681: ---------------------------------- The {{SimpleCounter}} is widely used. Especially in per-record path, it is extremely performance sensitive. So I would suggest implementing a new thread-safe {{Counter}} instead of {{SimpleCounter}}. We can use it like this, {{getRuntimeContext().getMetricGroup().counter("thread-safe counter", new ThreadSafeCounter()}} BTW, it makes sense to me to provide a built-in thread-safe {{Counter}}, it's quite common. Will keep tracking this in other thread. > Make SimpleCounter thread-safe. > ------------------------------- > > Key: FLINK-12681 > URL: https://issues.apache.org/jira/browse/FLINK-12681 > Project: Flink > Issue Type: Improvement > Reporter: Piyush Goyal > Priority: Major > > While adding metrics to Elasticsearch connector, we noticed that the > SimpleCounter which seems like the main implementation of Counter interface > is not thread-safe. It makes it tricky/expensive to use it in a > multi-threaded context. > It should be a very simple change to make it thread-safe, and the performance > benefit (if any) of keeping it thread-unsafe doesn't seem worth the extra > care to use it in a multithreaded context. What do you think ? -- This message was sent by Atlassian JIRA (v7.6.3#76005)