Repository: phoenix Updated Branches: refs/heads/omid2 0f2b1b8ba -> d03eadc23
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/a48e42e7 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/a48e42e7 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/a48e42e7 Branch: refs/heads/omid2 Commit: a48e42e7f639c8194db84155ce73ca9d4df25d91 Parents: 2ff316a Author: Vincent Poon <vincentp...@apache.org> Authored: Tue Oct 23 16:03:22 2018 -0700 Committer: Vincent Poon <vincentp...@apache.org> Committed: Thu Oct 25 12:06:31 2018 -0700 ---------------------------------------------------------------------- .../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/a48e42e7/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/a48e42e7/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 4c2013b..f0af6f6 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; @@ -133,6 +134,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/a48e42e7/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