GitHub user dkulp opened a pull request:
https://github.com/apache/avro/pull/245
[AVRO-2051] Remove synchronization for JsonProperties.getJsonProp
This change does two basic things:
Makes "props" a private field and requires the subclasses to access it via
the additional methods. This allows some changing of the underlying
implementation a bit easier.
Change props to an ConcurrentHashMap with an extra ConcurrentLinkedQueue to
maintain order. With the (1) change, this is fairly simple. This keeps the
O(log N) puts and lookups and a simple entrySet iterator for quick iterations.
Synchronized blocks are removed.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/dkulp/avro AVRO-2051
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/avro/pull/245.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 #245
----
commit ef757c5aefd344a32e100736d419b4717d4dfd9f
Author: Daniel Kulp <[email protected]>
Date: 2017-07-17T19:08:10Z
[AVRO-2051] Remove synchronization for JsonProperties.getJsonProp
----
---