You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by pb...@apache.org on 2018/11/26 10:39:33 UTC
[04/12] phoenix git commit: PHOENIX-4977 Make
KillServerOnFailurePolicy a configurable option in PhoenixIndexFailurePolicy
PHOENIX-4977 Make KillServerOnFailurePolicy a configurable option in PhoenixIndexFailurePolicy
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/b82843b9
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/b82843b9
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/b82843b9
Branch: refs/heads/4.x-cdh5.15
Commit: b82843b99396cfa48ff72d0da56d4b000ee16453
Parents: b899734
Author: Vincent Poon <vi...@apache.org>
Authored: Wed Oct 24 00:03:22 2018 +0100
Committer: pboado <pe...@gmail.com>
Committed: Sun Nov 25 22:09:03 2018 +0000
----------------------------------------------------------------------
.../phoenix/hbase/index/write/DelegateIndexFailurePolicy.java | 5 ++++-
.../org/apache/phoenix/index/PhoenixIndexFailurePolicy.java | 6 ++++++
.../src/main/java/org/apache/phoenix/query/QueryServices.java | 1 +
3 files changed, 11 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/b82843b9/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/write/DelegateIndexFailurePolicy.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/write/DelegateIndexFailurePolicy.java b/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/write/DelegateIndexFailurePolicy.java
index a7fb7ec..caf2b38 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/write/DelegateIndexFailurePolicy.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/hbase/index/write/DelegateIndexFailurePolicy.java
@@ -28,7 +28,7 @@ import com.google.common.collect.Multimap;
public class DelegateIndexFailurePolicy implements IndexFailurePolicy {
- private final IndexFailurePolicy delegate;
+ private IndexFailurePolicy delegate;
public DelegateIndexFailurePolicy(IndexFailurePolicy delegate) {
this.delegate = delegate;
@@ -55,4 +55,7 @@ public class DelegateIndexFailurePolicy implements IndexFailurePolicy {
delegate.stop(arg0);
}
+ public void setDelegate(IndexFailurePolicy delegate) {
+ this.delegate = delegate;
+ }
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/b82843b9/phoenix-core/src/main/java/org/apache/phoenix/index/PhoenixIndexFailurePolicy.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/index/PhoenixIndexFailurePolicy.java b/phoenix-core/src/main/java/org/apache/phoenix/index/PhoenixIndexFailurePolicy.java
index b6c1c83..2d0c22c 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/index/PhoenixIndexFailurePolicy.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/index/PhoenixIndexFailurePolicy.java
@@ -60,6 +60,7 @@ import org.apache.phoenix.hbase.index.table.HTableInterfaceReference;
import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
import org.apache.phoenix.hbase.index.write.DelegateIndexFailurePolicy;
import org.apache.phoenix.hbase.index.write.KillServerOnFailurePolicy;
+import org.apache.phoenix.hbase.index.write.LeaveIndexActiveFailurePolicy;
import org.apache.phoenix.jdbc.PhoenixConnection;
import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData;
import org.apache.phoenix.query.QueryServices;
@@ -134,6 +135,11 @@ public class PhoenixIndexFailurePolicy extends DelegateIndexFailurePolicy {
} else {
throwIndexWriteFailure = Boolean.parseBoolean(value);
}
+
+ boolean killServer = env.getConfiguration().getBoolean(QueryServices.INDEX_FAILURE_KILL_SERVER, true);
+ if (!killServer) {
+ setDelegate(new LeaveIndexActiveFailurePolicy());
+ } // else, default in constructor is KillServerOnFailurePolicy
}
/**
http://git-wip-us.apache.org/repos/asf/phoenix/blob/b82843b9/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java b/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java
index d3c8dc0..337bb05 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/query/QueryServices.java
@@ -154,6 +154,7 @@ public interface QueryServices extends SQLCloseable {
public static final String INDEX_FAILURE_BLOCK_WRITE = "phoenix.index.failure.block.write";
public static final String INDEX_FAILURE_DISABLE_INDEX = "phoenix.index.failure.disable.index";
public static final String INDEX_FAILURE_THROW_EXCEPTION_ATTRIB = "phoenix.index.failure.throw.exception";
+ public static final String INDEX_FAILURE_KILL_SERVER = "phoenix.index.failure.unhandled.killserver";
// Index will be partially re-built from index disable time stamp - following overlap time
@Deprecated