Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-03 Thread Murtadha Hubail (Code Review)
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: Jenkins 
Reviewed-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

2018-02-03 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-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

2018-02-03 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-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

2018-02-03 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-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

2018-02-03 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-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

2018-02-03 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-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

2018-02-03 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-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

2018-02-03 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-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

2018-02-03 Thread Michael Blow (Code Review)
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 Hubail 
Gerrit-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

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-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

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-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

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-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

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-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

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-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

2018-02-02 Thread Anon. E. Moose (Code Review)
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 Hubail 
Gerrit-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

2018-02-02 Thread Anon. E. Moose (Code Review)
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 Hubail 
Gerrit-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

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Anon. E. Moose (Code Review)
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 Hubail 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Murtadha Hubail (Code Review)
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 Hubail 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Anon. E. Moose (Code Review)
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 Hubail 
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Murtadha Hubail (Code Review)
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

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No


Change in asterixdb[master]: [NO ISSUE][REPL] Add API to Release Partition

2018-02-02 Thread Jenkins (Code Review)
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 Hubail 
Gerrit-Reviewer: Jenkins 
Gerrit-HasComments: No