You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Murtadha Hubail (Code Review)" <do...@asterixdb.incubator.apache.org> on 2018/03/11 15:01:24 UTC

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Murtadha Hubail has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/2473

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................

[NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- Log NC status on startup tasks request.
- Do not respond to startup tasks request if
  no tasks need to be performed.

Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
---
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/NcLifecycleCoordinator.java
1 file changed, 43 insertions(+), 36 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/73/2473/1

diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/NcLifecycleCoordinator.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/NcLifecycleCoordinator.java
index 5c497aa..043e02e 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/NcLifecycleCoordinator.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/NcLifecycleCoordinator.java
@@ -112,11 +112,13 @@
     private void process(RegistrationTasksRequestMessage msg) throws HyracksDataException {
         final String nodeId = msg.getNodeId();
         List<INCLifecycleTask> tasks = buildNCRegTasks(msg.getNodeId(), msg.getNodeStatus(), msg.getState());
-        RegistrationTasksResponseMessage response = new RegistrationTasksResponseMessage(nodeId, tasks);
-        try {
-            messageBroker.sendApplicationMessageToNC(response, msg.getNodeId());
-        } catch (Exception e) {
-            throw HyracksDataException.create(e);
+        if (!tasks.isEmpty()) {
+            RegistrationTasksResponseMessage response = new RegistrationTasksResponseMessage(nodeId, tasks);
+            try {
+                messageBroker.sendApplicationMessageToNC(response, msg.getNodeId());
+            } catch (Exception e) {
+                throw HyracksDataException.create(e);
+            }
         }
     }
 
@@ -136,39 +138,17 @@
     }
 
     protected List<INCLifecycleTask> buildNCRegTasks(String nodeId, NodeStatus nodeStatus, SystemState state) {
-        LOGGER.log(Level.INFO, () -> "Building registration tasks for node: " + nodeId + " with state: " + state);
+        LOGGER.info("Building registration tasks for node {} with status {} and system state: {}", nodeId, nodeStatus,
+                state);
         final boolean isMetadataNode = nodeId.equals(metadataNodeId);
-        if (nodeStatus == NodeStatus.ACTIVE) {
-            /*
-             * if the node state is already ACTIVE then it completed
-             * booting and just re-registering with a new/failed CC.
-             */
-            return buildActiveNCRegTasks(isMetadataNode);
+        switch (nodeStatus) {
+            case ACTIVE:
+                return buildActiveNCRegTasks(isMetadataNode);
+            case IDLE:
+                return buildIdleNcRegTasks(nodeId, isMetadataNode, state);
+            default:
+                return new ArrayList<>();
         }
-        final List<INCLifecycleTask> tasks = new ArrayList<>();
-        tasks.add(new UpdateNodeStatusTask(NodeStatus.BOOTING));
-        if (state == SystemState.CORRUPTED) {
-            //need to perform local recovery for node partitions
-            LocalRecoveryTask rt = new LocalRecoveryTask(Arrays.asList(clusterManager.getNodePartitions(nodeId))
-                    .stream().map(ClusterPartition::getPartitionId).collect(Collectors.toSet()));
-            tasks.add(rt);
-        }
-        if (replicationEnabled) {
-            tasks.add(new StartReplicationServiceTask());
-        }
-        if (isMetadataNode) {
-            tasks.add(new MetadataBootstrapTask(clusterManager.getMetadataPartition().getPartitionId()));
-        }
-        tasks.add(new ExternalLibrarySetupTask(isMetadataNode));
-        tasks.add(new CheckpointTask());
-        tasks.add(new StartLifecycleComponentsTask());
-        if (isMetadataNode) {
-            tasks.add(new ExportMetadataNodeTask(true));
-            tasks.add(new BindMetadataNodeTask());
-        }
-        tasks.add(new ReportLocalCountersTask());
-        tasks.add(new UpdateNodeStatusTask(NodeStatus.ACTIVE));
-        return tasks;
     }
 
     protected List<INCLifecycleTask> buildActiveNCRegTasks(boolean metadataNode) {
@@ -201,6 +181,33 @@
         }
     }
 
+    protected List<INCLifecycleTask> buildIdleNcRegTasks(String nodeId, boolean metadataNode, SystemState state) {
+        final List<INCLifecycleTask> tasks = new ArrayList<>();
+        tasks.add(new UpdateNodeStatusTask(NodeStatus.BOOTING));
+        if (state == SystemState.CORRUPTED) {
+            // need to perform local recovery for node partitions
+            LocalRecoveryTask rt = new LocalRecoveryTask(Arrays.stream(clusterManager.getNodePartitions(nodeId))
+                    .map(ClusterPartition::getPartitionId).collect(Collectors.toSet()));
+            tasks.add(rt);
+        }
+        if (replicationEnabled) {
+            tasks.add(new StartReplicationServiceTask());
+        }
+        if (metadataNode) {
+            tasks.add(new MetadataBootstrapTask(clusterManager.getMetadataPartition().getPartitionId()));
+        }
+        tasks.add(new ExternalLibrarySetupTask(metadataNode));
+        tasks.add(new CheckpointTask());
+        tasks.add(new StartLifecycleComponentsTask());
+        if (metadataNode) {
+            tasks.add(new ExportMetadataNodeTask(true));
+            tasks.add(new BindMetadataNodeTask());
+        }
+        tasks.add(new ReportLocalCountersTask());
+        tasks.add(new UpdateNodeStatusTask(NodeStatus.ACTIVE));
+        return tasks;
+    }
+
     private void process(MetadataNodeResponseMessage response) throws HyracksDataException {
         // rebind metadata node since it might be changing
         MetadataManager.INSTANCE.rebindMetadataNode();

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1: Contrib+1

Analytics Compatibility Tests Successful
https://goo.gl/dBLYT5 : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/1022/ (4/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/3232/ (10/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/3487/ (6/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/2927/ (8/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/3546/ (11/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/5913/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/5913/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/8472/ (1/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1:

BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/2873/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app/3735/ (5/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/3014/ (7/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Murtadha Hubail (Code Review)" <do...@asterixdb.incubator.apache.org>.
Murtadha Hubail has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1:

(2 comments)

https://asterix-gerrit.ics.uci.edu/#/c/2473/1/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/NcLifecycleCoordinator.java
File asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/NcLifecycleCoordinator.java:

PS1, Line 150: new ArrayList<>()
> it would be nice to be free to return Collections.emptyList() here, but we 
yup


PS1, Line 189: Arrays.stream
> probably eclipse wouldn't have pointed this out, #amiright
#+1


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Murtadha Hubail <mh...@apache.org>
Gerrit-HasComments: Yes

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Murtadha Hubail (Code Review)" <do...@asterixdb.incubator.apache.org>.
Murtadha Hubail has submitted this change and it was merged.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


[NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

- user model changes: no
- storage format changes: no
- interface changes: no

Details:
- Log NC status on startup tasks request.
- Do not respond to startup tasks request if
  no tasks need to be performed.

Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2473
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Michael Blow <mb...@apache.org>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
---
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/NcLifecycleCoordinator.java
1 file changed, 43 insertions(+), 36 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/app/replication/NcLifecycleCoordinator.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/NcLifecycleCoordinator.java
index 5c497aa..043e02e 100644
--- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/NcLifecycleCoordinator.java
+++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/NcLifecycleCoordinator.java
@@ -112,11 +112,13 @@
     private void process(RegistrationTasksRequestMessage msg) throws HyracksDataException {
         final String nodeId = msg.getNodeId();
         List<INCLifecycleTask> tasks = buildNCRegTasks(msg.getNodeId(), msg.getNodeStatus(), msg.getState());
-        RegistrationTasksResponseMessage response = new RegistrationTasksResponseMessage(nodeId, tasks);
-        try {
-            messageBroker.sendApplicationMessageToNC(response, msg.getNodeId());
-        } catch (Exception e) {
-            throw HyracksDataException.create(e);
+        if (!tasks.isEmpty()) {
+            RegistrationTasksResponseMessage response = new RegistrationTasksResponseMessage(nodeId, tasks);
+            try {
+                messageBroker.sendApplicationMessageToNC(response, msg.getNodeId());
+            } catch (Exception e) {
+                throw HyracksDataException.create(e);
+            }
         }
     }
 
@@ -136,39 +138,17 @@
     }
 
     protected List<INCLifecycleTask> buildNCRegTasks(String nodeId, NodeStatus nodeStatus, SystemState state) {
-        LOGGER.log(Level.INFO, () -> "Building registration tasks for node: " + nodeId + " with state: " + state);
+        LOGGER.info("Building registration tasks for node {} with status {} and system state: {}", nodeId, nodeStatus,
+                state);
         final boolean isMetadataNode = nodeId.equals(metadataNodeId);
-        if (nodeStatus == NodeStatus.ACTIVE) {
-            /*
-             * if the node state is already ACTIVE then it completed
-             * booting and just re-registering with a new/failed CC.
-             */
-            return buildActiveNCRegTasks(isMetadataNode);
+        switch (nodeStatus) {
+            case ACTIVE:
+                return buildActiveNCRegTasks(isMetadataNode);
+            case IDLE:
+                return buildIdleNcRegTasks(nodeId, isMetadataNode, state);
+            default:
+                return new ArrayList<>();
         }
-        final List<INCLifecycleTask> tasks = new ArrayList<>();
-        tasks.add(new UpdateNodeStatusTask(NodeStatus.BOOTING));
-        if (state == SystemState.CORRUPTED) {
-            //need to perform local recovery for node partitions
-            LocalRecoveryTask rt = new LocalRecoveryTask(Arrays.asList(clusterManager.getNodePartitions(nodeId))
-                    .stream().map(ClusterPartition::getPartitionId).collect(Collectors.toSet()));
-            tasks.add(rt);
-        }
-        if (replicationEnabled) {
-            tasks.add(new StartReplicationServiceTask());
-        }
-        if (isMetadataNode) {
-            tasks.add(new MetadataBootstrapTask(clusterManager.getMetadataPartition().getPartitionId()));
-        }
-        tasks.add(new ExternalLibrarySetupTask(isMetadataNode));
-        tasks.add(new CheckpointTask());
-        tasks.add(new StartLifecycleComponentsTask());
-        if (isMetadataNode) {
-            tasks.add(new ExportMetadataNodeTask(true));
-            tasks.add(new BindMetadataNodeTask());
-        }
-        tasks.add(new ReportLocalCountersTask());
-        tasks.add(new UpdateNodeStatusTask(NodeStatus.ACTIVE));
-        return tasks;
     }
 
     protected List<INCLifecycleTask> buildActiveNCRegTasks(boolean metadataNode) {
@@ -201,6 +181,33 @@
         }
     }
 
+    protected List<INCLifecycleTask> buildIdleNcRegTasks(String nodeId, boolean metadataNode, SystemState state) {
+        final List<INCLifecycleTask> tasks = new ArrayList<>();
+        tasks.add(new UpdateNodeStatusTask(NodeStatus.BOOTING));
+        if (state == SystemState.CORRUPTED) {
+            // need to perform local recovery for node partitions
+            LocalRecoveryTask rt = new LocalRecoveryTask(Arrays.stream(clusterManager.getNodePartitions(nodeId))
+                    .map(ClusterPartition::getPartitionId).collect(Collectors.toSet()));
+            tasks.add(rt);
+        }
+        if (replicationEnabled) {
+            tasks.add(new StartReplicationServiceTask());
+        }
+        if (metadataNode) {
+            tasks.add(new MetadataBootstrapTask(clusterManager.getMetadataPartition().getPartitionId()));
+        }
+        tasks.add(new ExternalLibrarySetupTask(metadataNode));
+        tasks.add(new CheckpointTask());
+        tasks.add(new StartLifecycleComponentsTask());
+        if (metadataNode) {
+            tasks.add(new ExportMetadataNodeTask(true));
+            tasks.add(new BindMetadataNodeTask());
+        }
+        tasks.add(new ReportLocalCountersTask());
+        tasks.add(new UpdateNodeStatusTask(NodeStatus.ACTIVE));
+        return tasks;
+    }
+
     private void process(MetadataNodeResponseMessage response) throws HyracksDataException {
         // rebind metadata node since it might be changing
         MetadataManager.INSTANCE.rebindMetadataNode();

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-Reviewer: Murtadha Hubail <mh...@apache.org>

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/3463/ (3/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1:

Analytics Compatibility Compilation Successful
https://goo.gl/KXUzjt : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1: Contrib+1

BAD Compatibility Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/2873/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/3002/ (12/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Michael Blow (Code Review)" <do...@asterixdb.incubator.apache.org>.
Michael Blow has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1: Code-Review+2

(2 comments)

https://asterix-gerrit.ics.uci.edu/#/c/2473/1/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/NcLifecycleCoordinator.java
File asterixdb/asterix-app/src/main/java/org/apache/asterix/app/replication/NcLifecycleCoordinator.java:

PS1, Line 150: new ArrayList<>()
it would be nice to be free to return Collections.emptyList() here, but we would need to refine the API to ensure extensions are prepared for this


PS1, Line 189: Arrays.stream
probably eclipse wouldn't have pointed this out, #amiright


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Blow <mb...@apache.org>
Gerrit-HasComments: Yes

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/2975/ (9/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: [NO ISSUE][CLUS] Log NC Status on Startup Tasks Request
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/6965/ (2/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/2473
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I6e8f2c8a4144cb6f1768d1f78d819b0057f0056b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Murtadha Hubail <mh...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No