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;

Reply via email to