GitHub user pnowojski opened a pull request: https://github.com/apache/flink/pull/4840
[FLINK-7368][metrics] Make MetricStore ThreadSafe class Remove external synchronisation on MetricStore ## What is the purpose of the change This is a refactor that makes `MetricStore` thread safe. It achieves it by pulling in all modifying methods and by returning immutable copies in getters. ## Verifying this change This change is already covered by existing tests, such as `MetricStoreTest` or `MetricFetcherTest` ## Does this pull request potentially affect one of the following parts: - Dependencies (does it add or upgrade a dependency): (yes / **no**) - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: (yes / **no**) - The serializers: (yes / **no** / don't know) - The runtime per-record code paths (performance sensitive): (yes / **no** / don't know) - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / **no** / don't know) ## Documentation - Does this pull request introduce a new feature? (yes / **no**) You can merge this pull request into a Git repository by running: $ git pull https://github.com/pnowojski/flink flink7368 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/4840.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #4840 ---- commit e49438e76c1ffb92b24837d8b958ae491bb0f9ca Author: Piotr Nowojski <piotr.nowoj...@gmail.com> Date: 2017-10-16T14:53:14Z [FLINK-7368][metrics] Make MetricStore ThreadSafe class Remove external synchronization on MetricStore ---- ---