Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This implements several suggestions for improving apache#1329 however there's still more work to be done.
Notably I think there are some problems with the changes to
StatisticImpl
in particular which this PR does not address. The issue is that class was marked with volatile and a bunch of synchronized methods but there's like 10-20 classes that extend it and none of those classes are updated. It doesn't make any sense to only update the parent. Many of the child classes can probably be marked with final members which might fix the issue.Furthermore, the updates aren't even really correct because you don't need to use synchronized and volatile, it's usually one or the other. You could probably just get away without synchronizing and using volatile depending on how it was implemented, but I'm not sure. We still may need synchronization on some methods but i have not looked at the stats classes in detail yet.