Michael Blow has uploaded a new change for review.
https://asterix-gerrit.ics.uci.edu/2138
Change subject: [NO ISSUE][HYR] Heartbeat processing / NC exceptions
......................................................................
[NO ISSUE][HYR] Heartbeat processing / NC exceptions
- Run heartbeat processing off of Worker thread, to prevent starvation
- Preserve stacktrace when creating node-scoped HyracksDataException
clones
Change-Id: If8fd35a7fd488bed5f1d5e2146dd48892cb0a7a4
---
M
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/HyracksDataException.java
M
hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/HyracksException.java
M
hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerIPCI.java
3 files changed, 5 insertions(+), 4 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/38/2138/1
diff --git
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/HyracksDataException.java
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/HyracksDataException.java
index 4517730..a480084 100644
---
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/HyracksDataException.java
+++
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/HyracksDataException.java
@@ -140,7 +140,9 @@
}
public static HyracksDataException create(HyracksDataException e, String
nodeId) {
- return new HyracksDataException(e.getComponent(), e.getErrorCode(),
e.getMessage(), e.getCause(), nodeId,
+ final HyracksDataException nodeScopedEx = new
HyracksDataException(e.getComponent(), e.getErrorCode(), e.getMessage(),
e.getCause(), nodeId,
e.getParams());
+ nodeScopedEx.setStackTrace(e.getStackTrace());
+ return nodeScopedEx;
}
}
diff --git
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/HyracksException.java
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/HyracksException.java
index 3aa95b3..20ef8a3 100644
---
a/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/HyracksException.java
+++
b/hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/exceptions/HyracksException.java
@@ -30,7 +30,7 @@
private final String component;
private final int errorCode;
private final Serializable[] params;
- private final String nodeId;
+ private String nodeId;
private transient volatile String msgCache;
public static HyracksException create(Throwable cause) {
diff --git
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerIPCI.java
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerIPCI.java
index 350984c..af5c102 100644
---
a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerIPCI.java
+++
b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerIPCI.java
@@ -72,8 +72,7 @@
break;
case NODE_HEARTBEAT:
CCNCFunctions.NodeHeartbeatFunction nhf =
(CCNCFunctions.NodeHeartbeatFunction) fn;
- ccs.getWorkQueue().schedule(new NodeHeartbeatWork(ccs,
nhf.getNodeId(),
- nhf.getHeartbeatData()));
+ ccs.getExecutor().execute(new NodeHeartbeatWork(ccs,
nhf.getNodeId(), nhf.getHeartbeatData()));
break;
case NOTIFY_JOBLET_CLEANUP:
CCNCFunctions.NotifyJobletCleanupFunction njcf =
(CCNCFunctions.NotifyJobletCleanupFunction) fn;
--
To view, visit https://asterix-gerrit.ics.uci.edu/2138
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: If8fd35a7fd488bed5f1d5e2146dd48892cb0a7a4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: release-0.9.3-pre-rc
Gerrit-Owner: Michael Blow <[email protected]>