From a127ebce742c330485087b18f80cdee6ffbfbf4a Mon Sep 17 00:00:00 2001 From: chenheng Date: Wed, 9 Sep 2015 15:40:22 +0800 Subject: [PATCH] HBASE-14361 ReplicationSink should create Connection instances lazily Conflicts: hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java --- .../hadoop/hbase/replication/regionserver/ReplicationSink.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java index cd45461..f989a4f 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSink.java @@ -72,7 +72,7 @@ public class ReplicationSink { private static final Log LOG = LogFactory.getLog(ReplicationSink.class); private final Configuration conf; - private final HConnection sharedHtableCon; + private HConnection sharedHtableCon; private final MetricsSink metrics; private final AtomicLong totalReplicatedEdits = new AtomicLong(); @@ -88,7 +88,6 @@ public class ReplicationSink { this.conf = HBaseConfiguration.create(conf); decorateConf(); this.metrics = new MetricsSink(); - this.sharedHtableCon = HConnectionManager.createConnection(this.conf); } /** @@ -213,7 +212,9 @@ public class ReplicationSink { */ public void stopReplicationSinkServices() { try { - this.sharedHtableCon.close(); + if (this.sharedHtableCon != null) { + this.sharedHtableCon.close(); + } } catch (IOException e) { LOG.warn("IOException while closing the connection", e); // ignoring as we are closing. } @@ -232,6 +233,9 @@ public class ReplicationSink { } HTableInterface table = null; try { + if (this.sharedHtableCon == null) { + this.sharedHtableCon = HConnectionManager.createConnection(this.conf); + } table = this.sharedHtableCon.getTable(tableName); for (List rows : allRows) { table.batch(rows); -- 1.9.5 (Apple Git-50.3)