From a87a673fe9f0db0ba4f6a5dd4d1e1cecb9283331 Mon Sep 17 00:00:00 2001 From: "Brian S. O'Neill" Date: Wed, 7 Feb 2007 02:22:46 +0000 Subject: Don't attempt to repair inconsistency when not fully defining the primary key on the replica. --- .../carbonado/repo/replicated/ReplicationTrigger.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/main/java/com') diff --git a/src/main/java/com/amazon/carbonado/repo/replicated/ReplicationTrigger.java b/src/main/java/com/amazon/carbonado/repo/replicated/ReplicationTrigger.java index ebce796..249a779 100644 --- a/src/main/java/com/amazon/carbonado/repo/replicated/ReplicationTrigger.java +++ b/src/main/java/com/amazon/carbonado/repo/replicated/ReplicationTrigger.java @@ -321,9 +321,18 @@ class ReplicationTrigger extends Trigger { return; } } - } else if (!master.tryLoad()) { - // Both are missing -- no repair needed. - return; + } else { + try { + if (!master.tryLoad()) { + // Both are missing -- no repair needed. + return; + } + } catch (IllegalStateException e) { + // Can be caused by not fully defining the primary key on + // the replica, but an alternate key is. The insert will + // fail anyhow, so don't try to repair. + return; + } } } catch (FetchException e) { throw e.toPersistException(); -- cgit v1.2.3