Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge changes from the 3.1 branch to 3.2 #1071

Merged
merged 24 commits into from
Feb 15, 2017
Merged

Conversation

arteam
Copy link
Member

@arteam arteam commented Feb 15, 2017

Merge changes from the 3.-maintenance branch to the 3.2 branch

nurkiewicz and others added 24 commits April 11, 2016 23:15
Support for publishing metrics of BigInteger and BigDecimal type
New reporter - metrics-munin-reporter
Update third-party to include metrics-circonus
(cherry picked from commit 2762ce5)
#814 Always close socket in Graphite client
This reverts commit 28e6556.
Add a proxy which provides a ThreadLocalRandom implementation depending on its
availability in runtime. If the JDK provides ThreadLocalRandom, use it. Otherwise,
fallback to the internal implementation.
* Support the JDK's LongAdder

Add an ability to use the JDK's implementation if it's available in the
runtime. Use a proxy for creating LongAdders which tries to use the JDK's
implementation and fallbacks to the internal one if the JDK doesn't
provide any.

Unfortunatelly, `LongAdder`s don't have a common interface, therefore we
introduce `LongAdderAdapter` as a common interface for `LongAdder`s. It
will be used in other components as an interface, but a concrete
implementation of it will be created by `LongAdderProxy`.

This pattern allows to us to still run code in the JRE, but enjoy the
benefits of the stock `LongAdder` in modern JDKs (less bugs, better
performance).

* Run tests only on JDK8

We need a compile dependency on LongAdders which is not available
in JDK7.
Do retry DNS lookups, which are just done in the constructor of
InetSocketAddress.

Reason might be that in some environments DNS is very dynamic and thus a name
might be sometimes resolveable and sometimes not. The way this is currently
implemented the InetSocketAddress is always cached, which in itself caches the
return value of the last DNS lookup, even if that failed.
* Added ExponentiallyDecayingReservoir test illustrating the rescale race condition.

(cherry picked from commit d9af3c1)

* Fixed the race condition in ExponentiallyDecayingReservoir's rescale method.

(cherry picked from commit b022f04)
# Conflicts:
#	docs/source/manual/third-party.rst
#	metrics-core/src/main/java/com/codahale/metrics/ScheduledReporter.java
@arteam
Copy link
Member Author

arteam commented Feb 15, 2017

We actually interested only in the last commits plus some docs update,

@arteam arteam merged commit 108acb2 into 3.2-development Feb 15, 2017
@arteam arteam deleted the merge_3.1_branch branch February 15, 2017 07:35
@jgangemi
Copy link

may i ask why the cpu profiling support change got reverted? i was looking forward to using that.

@arteam
Copy link
Member Author

arteam commented Feb 17, 2017

It is available in the 3.2 branch. It was originally submitted by a mistake to the 3.1 branch and then reverted. The revert commit shows up on the merge, but if you take a look at the diff, no CPU profiling changes are reverted.

@jgangemi
Copy link

thanks for the clarification!!

@jplock jplock added this to the 3.2.0 milestone Feb 24, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants