You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by kt...@apache.org on 2014/09/04 17:57:52 UTC
git commit: ACCUMULO-3096 stopped retrying metadata updates on
contraint violations
Repository: accumulo
Updated Branches:
refs/heads/1.5.2-SNAPSHOT b0c3ba8c5 -> 0a5ceca53
ACCUMULO-3096 stopped retrying metadata updates on contraint violations
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/0a5ceca5
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/0a5ceca5
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/0a5ceca5
Branch: refs/heads/1.5.2-SNAPSHOT
Commit: 0a5ceca5396cdc53ebda4b7e581f80d1c7917a72
Parents: b0c3ba8
Author: Keith Turner <kt...@apache.org>
Authored: Tue Sep 2 12:20:42 2014 -0400
Committer: Keith Turner <kt...@apache.org>
Committed: Thu Sep 4 11:50:39 2014 -0400
----------------------------------------------------------------------
.../main/java/org/apache/accumulo/core/client/impl/Writer.java | 5 +++++
.../java/org/apache/accumulo/server/util/MetadataTable.java | 2 ++
2 files changed, 7 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/0a5ceca5/core/src/main/java/org/apache/accumulo/core/client/impl/Writer.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/Writer.java b/core/src/main/java/org/apache/accumulo/core/client/impl/Writer.java
index b5c05aa..ff57f9d 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/impl/Writer.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/impl/Writer.java
@@ -95,6 +95,11 @@ public class Writer {
} catch (NotServingTabletException e) {
log.trace("Not serving tablet, server = " + tabLoc.tablet_location);
TabletLocator.getInstance(instance, table).invalidateCache(tabLoc.tablet_extent);
+ } catch (ConstraintViolationException cve) {
+ log.error("error sending update to " + tabLoc.tablet_location + ": " + cve);
+ // probably do not need to invalidate cache, but it does not hurt
+ TabletLocator.getInstance(instance, table).invalidateCache(tabLoc.tablet_extent);
+ throw cve;
} catch (TException e) {
log.error("error sending update to " + tabLoc.tablet_location + ": " + e);
TabletLocator.getInstance(instance, table).invalidateCache(tabLoc.tablet_extent);
http://git-wip-us.apache.org/repos/asf/accumulo/blob/0a5ceca5/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java b/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java
index 477718d..3d281f6 100644
--- a/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java
+++ b/server/src/main/java/org/apache/accumulo/server/util/MetadataTable.java
@@ -131,6 +131,8 @@ public class MetadataTable extends org.apache.accumulo.core.util.MetadataTable {
log.error(e, e);
} catch (ConstraintViolationException e) {
log.error(e, e);
+ // retrying when a CVE occurs is probably futile and can cause problems, see ACCUMULO-3096
+ throw new RuntimeException(e);
} catch (TableNotFoundException e) {
log.error(e, e);
}