Yingyi Bu has posted comments on this change.

Change subject: Set the priority of the following threads to be 
Thread.MAX_PRIORITY: 1. heartbeat thread at NC 2. IPC network thread 3. work 
queue thread in CC
......................................................................


Patch Set 4:

(3 comments)

I tried the test case with various configurations, the result depends on the 
hardware and OS.  Therefore, I have to drop the test. 

Also, the thread priority change doesn't seem to make much difference, at least 
in my test environment. 

Do we still want that change?   I guess this change at least should not be 
worse than before:-)

https://asterix-gerrit.ics.uci.edu/#/c/389/4/hyracks/hyracks-client/src/test/java/org/apache/hyracks/client/heartbeat/HeartBeatTest.java
File 
hyracks/hyracks-client/src/test/java/org/apache/hyracks/client/heartbeat/HeartBeatTest.java:

Line 59:             cpuConsumers[i].setPriority(Thread.MIN_PRIORITY);
> Should this be NORM_PRIORITY as the other worker threads?
The test result really depends on the hardware and OS.  Therefore I dropped 
this test.


https://asterix-gerrit.ics.uci.edu/#/c/389/4/hyracks/hyracks-client/src/test/java/org/apache/hyracks/client/stats/HyracksUtils.java
File 
hyracks/hyracks-client/src/test/java/org/apache/hyracks/client/stats/HyracksUtils.java:

Line 61:         ccConfig.maxHeartbeatLapsePeriods = 5;
> What was the default before?
The default is defined in CCConfig.java:
    @Option(name = "-heartbeat-period", usage = "Sets the time duration between 
two heartbeats from each node controller in milliseconds (default: 10000)")
    public int heartbeatPeriod = 10000;

    @Option(name = "-max-heartbeat-lapse-periods", usage = "Sets the maximum 
number of missed heartbeats before a node is marked as dead (default: 5)")
    public int maxHeartbeatLapsePeriods = 5;


https://asterix-gerrit.ics.uci.edu/#/c/389/4/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NodeControllerService.java
File 
hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NodeControllerService.java:

Line 300:         timerThread.setPriority(Thread.MAX_PRIORITY);
> This looks slightly hackish :)
I tried to implement our own Timer, but it turned out tricky because in line 
307 we use the same timer to schedule another Task which is the ProfileDumpTask.
So, this hacky way might be the smallest change to achieve the functionality:-)


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I4e53a85e21a6bdee48a3ca8d004569700f911fbd
Gerrit-PatchSet: 4
Gerrit-Project: hyracks
Gerrit-Branch: master
Gerrit-Owner: Yingyi Bu <[email protected]>
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Reviewer: Till Westmann <[email protected]>
Gerrit-Reviewer: Yingyi Bu <[email protected]>
Gerrit-HasComments: Yes

Reply via email to