You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2018/05/29 19:22:51 UTC

[14/14] hbase git commit: HBASE-20597 Serialize access to a shared reference to ZooKeeperWatcher in HBaseReplicationEndpoint

HBASE-20597 Serialize access to a shared reference to ZooKeeperWatcher in HBaseReplicationEndpoint


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/e43b2648
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/e43b2648
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/e43b2648

Branch: refs/heads/branch-2.0
Commit: e43b26484c16da8c72aef63ce1de8df6c16fa1cb
Parents: e534956
Author: Andrew Purtell <ap...@apache.org>
Authored: Fri May 25 10:25:29 2018 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Tue May 29 11:29:17 2018 -0700

----------------------------------------------------------------------
 .../hbase/replication/HBaseReplicationEndpoint.java       | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/e43b2648/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/HBaseReplicationEndpoint.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/HBaseReplicationEndpoint.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/HBaseReplicationEndpoint.java
index bd5c529..9cb3312 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/HBaseReplicationEndpoint.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/HBaseReplicationEndpoint.java
@@ -43,19 +43,17 @@ import org.slf4j.LoggerFactory;
  * target cluster is an HBase cluster.
  */
 @InterfaceAudience.Private
-@edu.umd.cs.findbugs.annotations.SuppressWarnings(value="MT_CORRECTNESS",
-  justification="Thinks zkw needs to be synchronized access but should be fine as is.")
 public abstract class HBaseReplicationEndpoint extends BaseReplicationEndpoint
   implements Abortable {
 
   private static final Logger LOG = LoggerFactory.getLogger(HBaseReplicationEndpoint.class);
 
-  private ZKWatcher zkw = null; // FindBugs: MT_CORRECTNESS
+  private ZKWatcher zkw = null;
 
   private List<ServerName> regionServers = new ArrayList<>(0);
   private long lastRegionServerUpdate;
 
-  protected void disconnect() {
+  protected synchronized void disconnect() {
     if (zkw != null) {
       zkw.close();
     }
@@ -123,7 +121,7 @@ public abstract class HBaseReplicationEndpoint extends BaseReplicationEndpoint
    * Get the ZK connection to this peer
    * @return zk connection
    */
-  protected ZKWatcher getZkw() {
+  protected synchronized ZKWatcher getZkw() {
     return zkw;
   }
 
@@ -131,7 +129,7 @@ public abstract class HBaseReplicationEndpoint extends BaseReplicationEndpoint
    * Closes the current ZKW (if not null) and creates a new one
    * @throws IOException If anything goes wrong connecting
    */
-  void reloadZkWatcher() throws IOException {
+  synchronized void reloadZkWatcher() throws IOException {
     if (zkw != null) zkw.close();
     zkw = new ZKWatcher(ctx.getConfiguration(),
         "connection to cluster: " + ctx.getPeerId(), this);