You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by el...@apache.org on 2014/06/06 17:33:14 UTC
[05/15] git commit: ACCUMULO-378 When we fail to get the
ReplicaSystem, wait a bit before returning
ACCUMULO-378 When we fail to get the ReplicaSystem, wait a bit before returning
It's the sign of a bad configuration (or bad implementation). If we return
immediately, it will get near immediately re-queued and spam the system.
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/24925e11
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/24925e11
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/24925e11
Branch: refs/heads/ACCUMULO-378
Commit: 24925e116339a68917f69dde9a88ef07ca7d1eea
Parents: 028b780
Author: Josh Elser <el...@apache.org>
Authored: Thu Jun 5 16:00:17 2014 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu Jun 5 16:08:11 2014 -0400
----------------------------------------------------------------------
.../tserver/replication/ReplicationProcessor.java | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/24925e11/server/tserver/src/main/java/org/apache/accumulo/tserver/replication/ReplicationProcessor.java
----------------------------------------------------------------------
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/replication/ReplicationProcessor.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/replication/ReplicationProcessor.java
index f1bba6b..3b3df87 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/replication/ReplicationProcessor.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/replication/ReplicationProcessor.java
@@ -81,7 +81,19 @@ public class ReplicationProcessor implements Processor {
log.debug("Received replication work for {} to {}", file, target);
- ReplicaSystem replica = getReplicaSystem(target);
+ ReplicaSystem replica;
+ try {
+ replica = getReplicaSystem(target);
+ } catch (Exception e) {
+ log.error("Could not instantiate ReplicaSystem for {}, waiting before returning the work", target, e);
+ try {
+ Thread.sleep(10000);
+ } catch (InterruptedException ie) {
+ Thread.currentThread().interrupt();
+ }
+
+ return;
+ }
Status status;
try {