Source:
public void endWindow() { super.endWindow(); try { kuduSession.flush(); } catch (KuduException e) { LOG.error("Could not flush kudu session on an end window boundary " + e.getMessage(), e); throw new RuntimeException(e.getMessage()); } try { windowDataManager.save(currentWindowId,currentWindowId); } catch (IOException e) { LOG.error("Error while persisting the current window state " + currentWindowId + " because " + e.getMessage()); throw new RuntimeException(e.getMessage()); } opsErrorsInThisWindow = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.OPS_ERRORS) - totalOpsErrors; bytesWrittenInThisWindow = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.BYTES_WRITTEN) - totalBytesWritten; rpcErrorsInThisWindow = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.RPC_ERRORS) - totalRpcErrors; writeOpsInThisWindow = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.WRITE_OPS) - totalWriteOps; writeRPCsInThisWindow = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.WRITE_RPCS) - totalWriteOps; totalOpsErrors = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.OPS_ERRORS); totalBytesWritten = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.BYTES_WRITTEN); totalRpcErrors = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.RPC_ERRORS); totalWriteOps = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.WRITE_OPS); totalWriteRPCs = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.WRITE_RPCS); }

Target:
public void endWindow() { try { kuduSession.flush(); } catch (KuduException e) { LOG.error("Could not flush kudu session on an end window boundary " + e.getMessage(), e); throw new RuntimeException(e); } if ( currentWindowId > windowDataManager.getLargestCompletedWindow()) { try { windowDataManager.save(currentWindowId,currentWindowId); } catch (IOException e) { LOG.error("Error while persisting the current window state " + currentWindowId + " because " + e.getMessage()); throw new RuntimeException(e); } } numOpsErrors = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.OPS_ERRORS) - totalOpsErrors; numBytesWritten = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.BYTES_WRITTEN) - totalBytesWritten; numRpcErrors = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.RPC_ERRORS) - totalRpcErrors; numWriteOps = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.WRITE_OPS) - totalWriteOps; numWriteRPCs = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.WRITE_RPCS) - totalWriteOps; totalOpsErrors = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.OPS_ERRORS); totalBytesWritten = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.BYTES_WRITTEN); totalRpcErrors = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.RPC_ERRORS); totalWriteOps = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.WRITE_OPS); totalWriteRPCs = kuduClientHandle.getStatistics().getClientStatistic(Statistics.Statistic.WRITE_RPCS); }