Collection<OperatorStateHandle> managedOperatorState = state.getManagedOperatorState(); if (managedOperatorState != null) { dos.writeInt(managedOperatorState.size());
Collection<OperatorStateHandle> managedOperatorState = handle.getManagedOperatorState(); Collection<OperatorStateHandle> rawOperatorState = handle.getRawOperatorState(); Collection<KeyedStateHandle> managedKeyedState = handle.getManagedKeyedState();
assertEquals(StateObjectCollection.singleton(managedOperatorStateHandle), subtaskState.getManagedOperatorState()); assertEquals(StateObjectCollection.singleton(rawOperatorStateHandle), subtaskState.getRawOperatorState());
verify(operatorStateBackend).restore(eq(operatorSubtaskState.getManagedOperatorState())); verify(keyedStateBackend).restore(eq(operatorSubtaskState.getManagedKeyedState()));
managedOperatorState.addAll(jmOperatorStateHandles.getManagedOperatorState());
performCheck(osFuture.getOperatorStateManagedFuture(), jmState.getManagedOperatorState(), tmState.getManagedOperatorState()); performCheck(osFuture.getOperatorStateRawFuture(), jmState.getRawOperatorState(), tmState.getRawOperatorState());
Assert.assertTrue(checkResult(snapKeyMan.getJobManagerOwnedSnapshot(), jobManagerOwnedState.getManagedKeyedState())); Assert.assertTrue(checkResult(snapKeyRaw.getJobManagerOwnedSnapshot(), jobManagerOwnedState.getRawKeyedState())); Assert.assertTrue(checkResult(snapOpMan.getJobManagerOwnedSnapshot(), jobManagerOwnedState.getManagedOperatorState())); Assert.assertTrue(checkResult(snapOpRaw.getJobManagerOwnedSnapshot(), jobManagerOwnedState.getRawOperatorState())); Assert.assertTrue(checkResult(snapKeyMan.getTaskLocalSnapshot(), taskLocalState.getManagedKeyedState())); Assert.assertTrue(checkResult(snapKeyRaw.getTaskLocalSnapshot(), taskLocalState.getRawKeyedState())); Assert.assertTrue(checkResult(snapOpMan.getTaskLocalSnapshot(), taskLocalState.getManagedOperatorState())); Assert.assertTrue(checkResult(snapOpRaw.getTaskLocalSnapshot(), taskLocalState.getRawOperatorState()));
/** * Restores the OperatorStateBackend corresponding to the given subtask. The * backend is completely restored in-memory. */ public OperatorStateBackend createOperatorStateBackendFromSnapshot(int subtask) throws Exception { return restoreOperatorStateBackend(opState.getState(subtask).getManagedOperatorState()); }
/** * Restores the OperatorStateBackends corresponding to the different * subtasks. The backends are completely restored in-memory. */ public Map<Integer, OperatorStateBackend> createOperatorStateBackendsFromSnapshot() throws Exception { return Maps.transformValues(opState.getSubtaskStates(), sst -> { try { return restoreOperatorStateBackend(sst.getManagedOperatorState()); } catch (Exception e) { throw new RuntimeException(e); } }); }
private void collectPartionableStates( List<OperatorState> operatorStates, List<List<OperatorStateHandle>> managedOperatorStates, List<List<OperatorStateHandle>> rawOperatorStates) { for (OperatorState operatorState : operatorStates) { final int parallelism = operatorState.getParallelism(); List<OperatorStateHandle> managedOperatorState = null; List<OperatorStateHandle> rawOperatorState = null; for (int i = 0; i < parallelism; i++) { OperatorSubtaskState operatorSubtaskState = operatorState.getState(i); if (operatorSubtaskState != null) { StateObjectCollection<OperatorStateHandle> managed = operatorSubtaskState.getManagedOperatorState(); StateObjectCollection<OperatorStateHandle> raw = operatorSubtaskState.getRawOperatorState(); if (managedOperatorState == null) { managedOperatorState = new ArrayList<>(parallelism * managed.size()); } managedOperatorState.addAll(managed); if (rawOperatorState == null) { rawOperatorState = new ArrayList<>(parallelism * raw.size()); } rawOperatorState.addAll(raw); } } managedOperatorStates.add(managedOperatorState); rawOperatorStates.add(rawOperatorState); } }
private static void serializeSubtaskState(OperatorSubtaskState subtaskState, DataOutputStream dos) throws IOException { dos.writeLong(-1); int len = 0; dos.writeInt(len); OperatorStateHandle operatorStateBackend = extractSingleton(subtaskState.getManagedOperatorState()); len = operatorStateBackend != null ? 1 : 0; dos.writeInt(len); if (len == 1) { serializeOperatorStateHandle(operatorStateBackend, dos); } OperatorStateHandle operatorStateFromStream = extractSingleton(subtaskState.getRawOperatorState()); len = operatorStateFromStream != null ? 1 : 0; dos.writeInt(len); if (len == 1) { serializeOperatorStateHandle(operatorStateFromStream, dos); } KeyedStateHandle keyedStateBackend = extractSingleton(subtaskState.getManagedKeyedState()); serializeKeyedStateHandle(keyedStateBackend, dos); KeyedStateHandle keyedStateStream = extractSingleton(subtaskState.getRawKeyedState()); serializeKeyedStateHandle(keyedStateStream, dos); }
private static void serializeSubtaskState(OperatorSubtaskState subtaskState, DataOutputStream dos) throws IOException { dos.writeLong(-1); int len = 0; dos.writeInt(len); OperatorStateHandle operatorStateBackend = extractSingleton(subtaskState.getManagedOperatorState()); len = operatorStateBackend != null ? 1 : 0; dos.writeInt(len); if (len == 1) { serializeOperatorStateHandle(operatorStateBackend, dos); } OperatorStateHandle operatorStateFromStream = extractSingleton(subtaskState.getRawOperatorState()); len = operatorStateFromStream != null ? 1 : 0; dos.writeInt(len); if (len == 1) { serializeOperatorStateHandle(operatorStateFromStream, dos); } KeyedStateHandle keyedStateBackend = extractSingleton(subtaskState.getManagedKeyedState()); serializeKeyedStateHandle(keyedStateBackend, dos); KeyedStateHandle keyedStateStream = extractSingleton(subtaskState.getRawKeyedState()); serializeKeyedStateHandle(keyedStateStream, dos); }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } OperatorSubtaskState that = (OperatorSubtaskState) o; if (getStateSize() != that.getStateSize()) { return false; } if (!getManagedOperatorState().equals(that.getManagedOperatorState())) { return false; } if (!getRawOperatorState().equals(that.getRawOperatorState())) { return false; } if (!getManagedKeyedState().equals(that.getManagedKeyedState())) { return false; } return getRawKeyedState().equals(that.getRawKeyedState()); }
private static void serializeSubtaskState(OperatorSubtaskState subtaskState, DataOutputStream dos) throws IOException { dos.writeLong(-1); int len = 0; dos.writeInt(len); OperatorStateHandle operatorStateBackend = extractSingleton(subtaskState.getManagedOperatorState()); len = operatorStateBackend != null ? 1 : 0; dos.writeInt(len); if (len == 1) { serializeOperatorStateHandle(operatorStateBackend, dos); } OperatorStateHandle operatorStateFromStream = extractSingleton(subtaskState.getRawOperatorState()); len = operatorStateFromStream != null ? 1 : 0; dos.writeInt(len); if (len == 1) { serializeOperatorStateHandle(operatorStateFromStream, dos); } KeyedStateHandle keyedStateBackend = extractSingleton(subtaskState.getManagedKeyedState()); serializeKeyedStateBackend(keyedStateBackend, dos); KeyedStateHandle keyedStateStream = extractSingleton(subtaskState.getRawKeyedState()); serializeRawKeyedStateHandle(keyedStateStream, dos); }
private static void serializeSubtaskState(OperatorSubtaskState subtaskState, DataOutputStream dos) throws IOException { dos.writeLong(-1); int len = 0; dos.writeInt(len); OperatorStateHandle operatorStateBackend = extractSingleton(subtaskState.getManagedOperatorState()); len = operatorStateBackend != null ? 1 : 0; dos.writeInt(len); if (len == 1) { serializeOperatorStateHandle(operatorStateBackend, dos); } OperatorStateHandle operatorStateFromStream = extractSingleton(subtaskState.getRawOperatorState()); len = operatorStateFromStream != null ? 1 : 0; dos.writeInt(len); if (len == 1) { serializeOperatorStateHandle(operatorStateFromStream, dos); } KeyedStateHandle keyedStateBackend = extractSingleton(subtaskState.getManagedKeyedState()); serializeKeyedStateHandle(keyedStateBackend, dos); KeyedStateHandle keyedStateStream = extractSingleton(subtaskState.getRawKeyedState()); serializeKeyedStateHandle(keyedStateStream, dos); }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } OperatorSubtaskState that = (OperatorSubtaskState) o; if (getStateSize() != that.getStateSize()) { return false; } if (!getManagedOperatorState().equals(that.getManagedOperatorState())) { return false; } if (!getRawOperatorState().equals(that.getRawOperatorState())) { return false; } if (!getManagedKeyedState().equals(that.getManagedKeyedState())) { return false; } return getRawKeyedState().equals(that.getRawKeyedState()); }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } OperatorSubtaskState that = (OperatorSubtaskState) o; if (getStateSize() != that.getStateSize()) { return false; } if (!getManagedOperatorState().equals(that.getManagedOperatorState())) { return false; } if (!getRawOperatorState().equals(that.getRawOperatorState())) { return false; } if (!getManagedKeyedState().equals(that.getManagedKeyedState())) { return false; } return getRawKeyedState().equals(that.getRawKeyedState()); }
@Override public int hashCode() { int result = getManagedOperatorState().hashCode(); result = 31 * result + getRawOperatorState().hashCode(); result = 31 * result + getManagedKeyedState().hashCode(); result = 31 * result + getRawKeyedState().hashCode(); result = 31 * result + (int) (getStateSize() ^ (getStateSize() >>> 32)); return result; }
@Override public int hashCode() { int result = getManagedOperatorState().hashCode(); result = 31 * result + getRawOperatorState().hashCode(); result = 31 * result + getManagedKeyedState().hashCode(); result = 31 * result + getRawKeyedState().hashCode(); result = 31 * result + (int) (getStateSize() ^ (getStateSize() >>> 32)); return result; }
@Override public int hashCode() { int result = getManagedOperatorState().hashCode(); result = 31 * result + getRawOperatorState().hashCode(); result = 31 * result + getManagedKeyedState().hashCode(); result = 31 * result + getRawKeyedState().hashCode(); result = 31 * result + (int) (getStateSize() ^ (getStateSize() >>> 32)); return result; }