Github user dlmarion commented on the pull request:
https://github.com/apache/accumulo/pull/75#issuecomment-191248202
So, I took a different approach. I believe that I resolved the race
conditions by synchronizing on the objects being updated. This would still
cause the performance penalty that you are talking about going to main memory.
However, the stats objects being updated are only used if trace logging is
enabled, so I guarded the two methods that update the stats with trace logging
checks. Therefore, you will only pay a performance penalty if trace logging is
enabled, but by turning on trace logging you should expect a little bit of a
performance hit anyway.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---