Repository: incubator-beam Updated Branches: refs/heads/master 78fda4513 -> fe00b84dc
Mark JAXBContext as Volatile in JAXBCoder This corrects the double-checked locking and lazy intialization Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/c29afb11 Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/c29afb11 Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/c29afb11 Branch: refs/heads/master Commit: c29afb119be034b6b93083d9e8ec5542f13b4373 Parents: 78fda45 Author: Thomas Groh <[email protected]> Authored: Fri Aug 19 10:24:00 2016 -0700 Committer: Luke Cwik <[email protected]> Committed: Fri Aug 19 16:08:43 2016 -0700 ---------------------------------------------------------------------- .../build-tools/src/main/resources/beam/findbugs-filter.xml | 6 ------ .../src/main/java/org/apache/beam/sdk/coders/JAXBCoder.java | 2 +- 2 files changed, 1 insertion(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/c29afb11/sdks/java/build-tools/src/main/resources/beam/findbugs-filter.xml ---------------------------------------------------------------------- diff --git a/sdks/java/build-tools/src/main/resources/beam/findbugs-filter.xml b/sdks/java/build-tools/src/main/resources/beam/findbugs-filter.xml index d135cbb..cd50408 100644 --- a/sdks/java/build-tools/src/main/resources/beam/findbugs-filter.xml +++ b/sdks/java/build-tools/src/main/resources/beam/findbugs-filter.xml @@ -38,12 +38,6 @@ <!--[BEAM-398] Possible double check of field--> </Match> <Match> - <Class name="org.apache.beam.sdk.coders.JAXBCoder"/> - <Field name="jaxbContext"/> - <Bug pattern="IS2_INCONSISTENT_SYNC"/> - <!--[BEAM-398] Inconsistent synchronization--> - </Match> - <Match> <Class name="org.apache.beam.sdk.io.range.OffsetRangeTracker"/> <Field name="done"/> <Bug pattern="IS2_INCONSISTENT_SYNC"/> http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/c29afb11/sdks/java/core/src/main/java/org/apache/beam/sdk/coders/JAXBCoder.java ---------------------------------------------------------------------- diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/coders/JAXBCoder.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/coders/JAXBCoder.java index 2284aaf..689f993 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/coders/JAXBCoder.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/coders/JAXBCoder.java @@ -46,7 +46,7 @@ import javax.xml.bind.Unmarshaller; public class JAXBCoder<T> extends AtomicCoder<T> { private final Class<T> jaxbClass; - private transient JAXBContext jaxbContext; + private transient volatile JAXBContext jaxbContext; public Class<T> getJAXBClass() { return jaxbClass;
