[ https://issues.apache.org/jira/browse/AURORA-1890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15864537#comment-15864537 ]
Zameer Manji commented on AURORA-1890: -------------------------------------- The scheduler does the right thing on first pulse. However on failover, any coordinated updates are immediately sent to BLOCKED_AWAITING_PULSE. This is because on scheduler startup pulse state is reset to no pulse received. The code sets the timestamp to the last pulse received to 0L: {noformat} synchronized void initializePulseState(IJobUpdate update, JobUpdateStatus status) { pulseStates.put(update.getSummary().getKey(), new PulseState( status, update.getInstructions().getSettings().getBlockIfNoPulsesAfterMs(), 0L)); } {noformat} Would it be ok to set the timestamp to the first event after the most recent {{BLOCKED_AWAITING_PULSE}}? We know for sure at that point in time that a pulse was received because of the state transition from {{BLCOKED_AWAITING_PULSE}} to some other event. Also could you describe "significant" write volume? I can imagine if the pulse interval was in the seconds and there are thousands of updates perhaps it would be too much. However we could prevent excessively small pulse intervals. > Job Update Pulse History is not durably stored > ---------------------------------------------- > > Key: AURORA-1890 > URL: https://issues.apache.org/jira/browse/AURORA-1890 > Project: Aurora > Issue Type: Bug > Reporter: Zameer Manji > > I have experienced the following problem with pulse updates. To reproduce: > 1. Create an update with a pulse timeout of 1h > 2. Send a pulse to get the update going. > 3. Failover the scheduler immediately after. > 4. Observe that the update is awaiting another pulse right after the failover. > This is because the {{JobUpdateControllerImpl}} stores pulse history and > state in memory in {{PulseHandler}}. On scheduler startup, the pulse state is > reset to no pulse received. > We can solve this by durably storing the timestamp of the last pulse received > in storage. -- This message was sent by Atlassian JIRA (v6.3.15#6346)