https://github.com/Netflix/atlas
Revision 9e8937d07df8b0c10115b003238347f768ae7ca2 authored by brharrington on 28 October 2017, 17:50:50 UTC, committed by GitHub on 28 October 2017, 17:50:50 UTC
On instance type with a large number of cores the cache introduced in #730 starts to make things worse because of heavy thread contention with the `computeIfAbsent` calls used for interning the queries and internally to the LoadingCache. This change refactors the calls to do a get/put which may result in recomputing some values, but avoids the blocking. See Netflix/spectator#352 for a similar issue we had before. This change was manually pushed to a test node and I confirmed that the blocked threads are no longer present.
1 parent 9fa0be3
Tip revision: 9e8937d07df8b0c10115b003238347f768ae7ca2 authored by brharrington on 28 October 2017, 17:50:50 UTC
reduce thread contention for splitter cache (#732)
reduce thread contention for splitter cache (#732)
Tip revision: 9e8937d
File | Mode | Size |
---|---|---|
atlas-akka | ||
atlas-chart | ||
atlas-config | ||
atlas-core | ||
atlas-eval | ||
atlas-jmh | ||
atlas-json | ||
atlas-lwcapi | ||
atlas-module-akka | ||
atlas-module-cloudwatch | ||
atlas-module-eval | ||
atlas-module-lwcapi | ||
atlas-module-webapi | ||
atlas-poller | ||
atlas-poller-cloudwatch | ||
atlas-standalone | ||
atlas-test | ||
atlas-webapi | ||
atlas-wiki | ||
conf | ||
project | ||
scripts | ||
.gitignore | -rw-r--r-- | 242 bytes |
.scalafmt.conf | -rw-r--r-- | 519 bytes |
.travis.yml | -rw-r--r-- | 1.0 KB |
CONTRIBUTING.md | -rw-r--r-- | 10.2 KB |
LICENSE | -rw-r--r-- | 11.1 KB |
Makefile | -rw-r--r-- | 2.4 KB |
OSSMETADATA | -rw-r--r-- | 20 bytes |
README.md | -rw-r--r-- | 989 bytes |
build.sbt | -rw-r--r-- | 5.4 KB |
Computing file changes ...