Source:
<code>public void processHeartbeatResponse(ContainerHeartbeatResponse rsp) { if (rsp.nodeRequests != null) { nodeRequests = rsp.nodeRequests; } if (rsp.committedWindowId != lastCommittedWindowId) { lastCommittedWindowId = rsp.committedWindowId; <START> bufferServer.purge(lastCommittedWindowId); <END> OperatorRequest nr = null; for (Entry<Integer, Node<?>> e : nodes.entrySet()) { final Thread thread = e.getValue().context.getThread(); if (thread == null || !thread.isAlive()) { continue; } if (e.getValue().getOperator() instanceof Operator.CheckpointListener) { if (nr == null) { nr = new OperatorRequest() { @Override public StatsListener.OperatorResponse execute(Operator operator, int operatorId, long windowId) throws IOException { ((Operator.CheckpointListener)operator).committed(lastCommittedWindowId); return null; } }; } e.getValue().context.request(nr); } } } if (rsp.undeployRequest != null) { logger.info("Undeploy request: {}", rsp.undeployRequest); processNodeRequests(false); undeploy(rsp.undeployRequest); } if (rsp.shutdown) { logger.info("Received shutdown request"); processNodeRequests(false); this.exitHeartbeatLoop = true; return; } if (rsp.deployRequest != null) { logger.info("Deploy request: {}", rsp.deployRequest); try { deploy(rsp.deployRequest); } catch (Exception e) { logger.error("deploy request failed", e); try { umbilical.log(this.containerId, "deploy request failed: " + rsp.deployRequest + " " + ExceptionUtils.getStackTrace(e)); } catch (IOException ioe) { } this.exitHeartbeatLoop = true; throw new IllegalStateException("Deploy request failed: " + rsp.deployRequest, e); } } processNodeRequests(true); }</code><technical_language>this a request is bufferserver streaming container this introduces a dependency rely bufferserver is in process</technical_language>

Target:
public void processHeartbeatResponse(ContainerHeartbeatResponse rsp) { if (rsp.nodeRequests != null) { nodeRequests = rsp.nodeRequests; } if (rsp.committedWindowId != lastCommittedWindowId) { lastCommittedWindowId = rsp.committedWindowId; if (bufferServer != null) { bufferServer.purge(lastCommittedWindowId - 1); } OperatorRequest nr = null; for (Entry<Integer, Node<?>> e : nodes.entrySet()) { final Thread thread = e.getValue().context.getThread(); if (thread == null || !thread.isAlive()) { continue; } if (e.getValue().getOperator() instanceof Operator.CheckpointListener) { if (nr == null) { nr = new OperatorRequest() { @Override public StatsListener.OperatorResponse execute(Operator operator, int operatorId, long windowId) throws IOException { ((Operator.CheckpointListener)operator).committed(lastCommittedWindowId); return null; } }; } e.getValue().context.request(nr); } } } if (rsp.undeployRequest != null) { logger.info("Undeploy request: {}", rsp.undeployRequest); processNodeRequests(false); undeploy(rsp.undeployRequest); } if (rsp.shutdown) { logger.info("Received shutdown request"); processNodeRequests(false); this.exitHeartbeatLoop = true; return; } if (rsp.deployRequest != null) { logger.info("Deploy request: {}", rsp.deployRequest); try { deploy(rsp.deployRequest); } catch (Exception e) { logger.error("deploy request failed", e); try { umbilical.log(this.containerId, "deploy request failed: " + rsp.deployRequest + " " + ExceptionUtils.getStackTrace(e)); } catch (IOException ioe) { } this.exitHeartbeatLoop = true; throw new IllegalStateException("Deploy request failed: " + rsp.deployRequest, e); } } processNodeRequests(true); }