Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Murtadha Hubail has submitted this change and it was merged. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. [NO ISSUE][REPL] Add API to Release Partition - user model changes: no - storage format changes: no - interface changes: yes Details: - Add API to allow an NC to release a partition by flushing all of its resources and unregistering all of its replicas. This API can be used to allow graceful failover of a cluster partition. - Add test case. Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Reviewed-on: https://asterix-gerrit.ics.uci.edu/2349 Sonar-Qube: JenkinsReviewed-by: Michael Blow Tested-by: Jenkins Integration-Tests: Jenkins --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/StorageApiServlet.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/ReplicaManager.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replication/release_partition/release_partition.1.sto.cmd A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replication/release_partition/release_partition.2.pollget.http A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replication/release_partition/release_partition.3.post.http A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replication/release_partition/release_partition.4.get.http M asterixdb/asterix-app/src/test/resources/runtimets/replication.xml A asterixdb/asterix-app/src/test/resources/runtimets/results/replication/release_partition/release_partition.2.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/replication/release_partition/release_partition.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/replication/release_partition/release_partition.4.adm M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/IReplicaManager.java 11 files changed, 140 insertions(+), 0 deletions(-) Approvals: Anon. E. Moose #1000171: Jenkins: Verified; No violations found; Verified Michael Blow: Looks good to me, approved diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/StorageApiServlet.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/StorageApiServlet.java index e770bb3..142b99b 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/StorageApiServlet.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/StorageApiServlet.java @@ -96,6 +96,9 @@ case "/promote": processPromote(request, response); break; +case "/release": +processRelease(request, response); +break; default: sendError(response, HttpResponseStatus.NOT_FOUND); break; @@ -175,4 +178,14 @@ appCtx.getReplicaManager().promote(Integer.valueOf(partition)); response.setStatus(HttpResponseStatus.OK); } + +private void processRelease(IServletRequest request, IServletResponse response) throws HyracksDataException { +final String partition = request.getParameter("partition"); +if (partition == null) { +response.setStatus(HttpResponseStatus.BAD_REQUEST); +return; +} +appCtx.getReplicaManager().release(Integer.valueOf(partition)); +response.setStatus(HttpResponseStatus.OK); +} } \ No newline at end of file diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/ReplicaManager.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/ReplicaManager.java index 4edae69..8c733fb 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/ReplicaManager.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/ReplicaManager.java @@ -27,6 +27,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; +import org.apache.asterix.common.api.IDatasetLifecycleManager; import org.apache.asterix.common.api.INcApplicationContext; import org.apache.asterix.common.replication.IPartitionReplica; import org.apache.asterix.common.storage.IReplicaManager; @@ -35,6 +36,7 @@ import org.apache.asterix.replication.api.PartitionReplica; import org.apache.asterix.transaction.management.resource.PersistentLocalResourceRepository; import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.hyracks.storage.common.LocalResource; public class ReplicaManager implements IReplicaManager { @@ -93,4 +95,29 @@ recoveryManager.replayReplicaPartitionLogs(Stream.of(partition).collect(Collectors.toSet()), true); partitions.add(partition); } + +@Override +public void release(int
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Integration-Tests+1 Integration Tests Successful https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/5485/ : SUCCESS -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: -Integration-Tests Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/5485/ -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: -Contrib BAD Compatibility Tests Successful https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/2618/ : SUCCESS -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/2618/ -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Contrib-2 BAD Compatibility Tests Failed https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/2617/ : UNSTABLE -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/2617/ -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/2512/ (12/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Michael Blow has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Code-Review+2 -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Integration-Tests-1 Integration Tests Failed https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/5481/ : UNSTABLE -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/3072/ (12/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/3053/ (11/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app/3305/ (10/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/5481/ -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Anon. E. Moose #1000171 has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Contrib+1 Analytics Compatibility Tests Successful https://goo.gl/yWQn47 : SUCCESS -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Anon. E. Moose #1000171 has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 1: Contrib+1 Analytics Compatibility Tests Successful https://goo.gl/jkvR13 : SUCCESS -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-Reviewer: Michael Blow Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/2509/ (9/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Anon. E. Moose #1000171 has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Analytics Compatibility Compilation Successful https://goo.gl/baJgw7 : SUCCESS -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/2514/ (5/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Murtadha Hubail has uploaded a new patch set (#2). Change subject: [NO ISSUE][REPL] Add API to Release Partition .. [NO ISSUE][REPL] Add API to Release Partition - user model changes: no - storage format changes: no - interface changes: yes Details: - Add API to allow an NC to release a partition by flushing all of its resources and unregistering all of its replicas. This API can be used to allow graceful failover of a cluster partition. - Add test case. Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/StorageApiServlet.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/ReplicaManager.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replication/release_partition/release_partition.1.sto.cmd A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replication/release_partition/release_partition.2.pollget.http A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replication/release_partition/release_partition.3.post.http A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replication/release_partition/release_partition.4.get.http M asterixdb/asterix-app/src/test/resources/runtimets/replication.xml A asterixdb/asterix-app/src/test/resources/runtimets/results/replication/release_partition/release_partition.2.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/replication/release_partition/release_partition.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/replication/release_partition/release_partition.4.adm M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/IReplicaManager.java 11 files changed, 140 insertions(+), 0 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/49/2349/2 -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/2785/ (3/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/2457/ (7/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/563/ (4/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/8010/ (8/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/2497/ (6/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/3086/ (1/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 2: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/6506/ (2/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 2 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/2507/ (9/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Anon. E. Moose #1000171 has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 1: Analytics Compatibility Compilation Successful https://goo.gl/UhXU5M : SUCCESS -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Anon. E. Moose #1000171 Gerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/6504/ (2/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/3084/ (1/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/2512/ (8/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Murtadha Hubail has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/2349 Change subject: [NO ISSUE][REPL] Add API to Release Partition .. [NO ISSUE][REPL] Add API to Release Partition - user model changes: no - storage format changes: no - interface changes: yes Details: - Add API to allow an NC to release a partition by flushing all of its resources and unregistering all of its replicas. This API can be used to allow graceful failover of a cluster partition. - Add test case. Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/StorageApiServlet.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/ReplicaManager.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/message/MetadataNodeResponseMessage.java A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replication/release_partition/release_partition.1.sto.cmd A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replication/release_partition/release_partition.2.pollget.http A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replication/release_partition/release_partition.3.post.http A asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/replication/release_partition/release_partition.4.get.http M asterixdb/asterix-app/src/test/resources/runtimets/replication.xml A asterixdb/asterix-app/src/test/resources/runtimets/results/replication/release_partition/release_partition.2.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/replication/release_partition/release_partition.3.adm A asterixdb/asterix-app/src/test/resources/runtimets/results/replication/release_partition/release_partition.4.adm M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/storage/IReplicaManager.java 12 files changed, 142 insertions(+), 2 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/49/2349/1 diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/StorageApiServlet.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/StorageApiServlet.java index e770bb3..142b99b 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/StorageApiServlet.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/StorageApiServlet.java @@ -96,6 +96,9 @@ case "/promote": processPromote(request, response); break; +case "/release": +processRelease(request, response); +break; default: sendError(response, HttpResponseStatus.NOT_FOUND); break; @@ -175,4 +178,14 @@ appCtx.getReplicaManager().promote(Integer.valueOf(partition)); response.setStatus(HttpResponseStatus.OK); } + +private void processRelease(IServletRequest request, IServletResponse response) throws HyracksDataException { +final String partition = request.getParameter("partition"); +if (partition == null) { +response.setStatus(HttpResponseStatus.BAD_REQUEST); +return; +} +appCtx.getReplicaManager().release(Integer.valueOf(partition)); +response.setStatus(HttpResponseStatus.OK); +} } \ No newline at end of file diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/ReplicaManager.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/ReplicaManager.java index 4edae69..8c733fb 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/ReplicaManager.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/ReplicaManager.java @@ -27,6 +27,7 @@ import java.util.stream.Collectors; import java.util.stream.Stream; +import org.apache.asterix.common.api.IDatasetLifecycleManager; import org.apache.asterix.common.api.INcApplicationContext; import org.apache.asterix.common.replication.IPartitionReplica; import org.apache.asterix.common.storage.IReplicaManager; @@ -35,6 +36,7 @@ import org.apache.asterix.replication.api.PartitionReplica; import org.apache.asterix.transaction.management.resource.PersistentLocalResourceRepository; import org.apache.hyracks.api.exceptions.HyracksDataException; +import org.apache.hyracks.storage.common.LocalResource; public class ReplicaManager implements IReplicaManager { @@ -93,4 +95,29 @@ recoveryManager.replayReplicaPartitionLogs(Stream.of(partition).collect(Collectors.toSet()), true); partitions.add(partition); } + +@Override +public void release(int partition) throws HyracksDataException { +if (!partitions.contains(partition)) { +return; +} +final IDatasetLifecycleManager
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/8008/ (4/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/2455/ (5/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/561/ (6/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/2783/ (7/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No
Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition
Jenkins has posted comments on this change. Change subject: [NO ISSUE][REPL] Add API to Release Partition .. Patch Set 1: Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/2495/ (3/12) -- To view, visit https://asterix-gerrit.ics.uci.edu/2349 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: comment Gerrit-Change-Id: I7c8bbfc123904f13aae9f640dbefc7d17df69a42 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Murtadha HubailGerrit-Reviewer: Jenkins Gerrit-HasComments: No