GitHub user dkulp opened a pull request:
https://github.com/apache/avro/pull/236
[AVRO-2051] Remove synchronization for JsonProperties.getJsonProp
This change does two basic things:
1) 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.
2) Change props to an AtomicReference and makes it act like an immutable
map. The addProp method does a full copy of the map, adds the new value, and
then atomicly swaps in the map thus not affecting other threads that would be
using the value that was "current" when they called the get method.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/dkulp/avro master
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/avro/pull/236.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 #236
----
commit ad14635fa3af97b90282a79b7e04a0b8753e45b5
Author: Daniel Kulp <[email protected]>
Date: 2017-07-17T19:08:10Z
[AVRO-2051] Remove synchronization for JsonProperties.getJsonProp
----
---
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.
---