@Override public void snapshotState(StateSnapshotContext context) throws Exception { KeyedStateCheckpointOutputStream out = context.getRawKeyedOperatorStateOutput(); DataOutputView dov = new DataOutputViewStreamWrapper(out); // write raw keyed state that goes into snapshot int count = 0; for (int kg : out.getKeyGroupList()) { out.startNewKeyGroup(kg); dov.writeInt(kg + 2); ++count; } Assert.assertEquals(MAX_PARALLELISM, count); // write raw operator state that goes into snapshot OperatorStateCheckpointOutputStream outOp = context.getRawOperatorStateOutput(); dov = new DataOutputViewStreamWrapper(outOp); for (int i = 0; i < 13; ++i) { outOp.startNewPartition(); dov.writeInt(42 + i); } }
@Override public void snapshotState(StateSnapshotContext context) throws Exception { OperatorStateCheckpointOutputStream outStream = context.getRawOperatorStateOutput(); IN_CHECKPOINT_LATCH.trigger(); // this should lock outStream.write(1); } }
@Override public OperatorStateCheckpointOutputStream getRawOperatorStateOutput() throws Exception { if (null == operatorStateCheckpointOutputStream) { operatorStateCheckpointOutputStream = new OperatorStateCheckpointOutputStream(openAndRegisterNewStream()); } return operatorStateCheckpointOutputStream; }
@Override public OperatorStateCheckpointOutputStream getRawOperatorStateOutput() throws Exception { if (null == operatorStateCheckpointOutputStream) { operatorStateCheckpointOutputStream = new OperatorStateCheckpointOutputStream(openAndRegisterNewStream()); } return operatorStateCheckpointOutputStream; }
/** * This method should not be public so as to not expose internals to user code. */ @Override OperatorStateHandle closeAndGetHandle() throws IOException { StreamStateHandle streamStateHandle = delegate.closeAndGetHandle(); if (null == streamStateHandle) { return null; } if (partitionOffsets.isEmpty() && delegate.getPos() > initialPosition) { startNewPartition(); } Map<String, OperatorStateHandle.StateMetaInfo> offsetsMap = new HashMap<>(1); OperatorStateHandle.StateMetaInfo metaInfo = new OperatorStateHandle.StateMetaInfo( partitionOffsets.toArray(), OperatorStateHandle.Mode.SPLIT_DISTRIBUTE); offsetsMap.put(DefaultOperatorStateBackend.DEFAULT_OPERATOR_STATE_NAME, metaInfo); return new OperatorStateHandle(offsetsMap, streamStateHandle); }
@Override public OperatorStateCheckpointOutputStream getRawOperatorStateOutput() throws Exception { if (null == operatorStateCheckpointOutputStream) { operatorStateCheckpointOutputStream = new OperatorStateCheckpointOutputStream(openAndRegisterNewStream()); } return operatorStateCheckpointOutputStream; }
/** * This method should not be public so as to not expose internals to user code. */ @Override OperatorStateHandle closeAndGetHandle() throws IOException { StreamStateHandle streamStateHandle = delegate.closeAndGetHandle(); if (null == streamStateHandle) { return null; } if (partitionOffsets.isEmpty() && delegate.getPos() > initialPosition) { startNewPartition(); } Map<String, OperatorStateHandle.StateMetaInfo> offsetsMap = new HashMap<>(1); OperatorStateHandle.StateMetaInfo metaInfo = new OperatorStateHandle.StateMetaInfo( partitionOffsets.toArray(), OperatorStateHandle.Mode.SPLIT_DISTRIBUTE); offsetsMap.put(DefaultOperatorStateBackend.DEFAULT_OPERATOR_STATE_NAME, metaInfo); return new OperatorStreamStateHandle(offsetsMap, streamStateHandle); }
@Override public OperatorStateCheckpointOutputStream getRawOperatorStateOutput() throws Exception { if (null == operatorStateCheckpointOutputStream) { operatorStateCheckpointOutputStream = new OperatorStateCheckpointOutputStream(openAndRegisterNewStream()); } return operatorStateCheckpointOutputStream; }
/** * This method should not be public so as to not expose internals to user code. */ @Override OperatorStateHandle closeAndGetHandle() throws IOException { StreamStateHandle streamStateHandle = delegate.closeAndGetHandle(); if (null == streamStateHandle) { return null; } if (partitionOffsets.isEmpty() && delegate.getPos() > initialPosition) { startNewPartition(); } Map<String, OperatorStateHandle.StateMetaInfo> offsetsMap = new HashMap<>(1); OperatorStateHandle.StateMetaInfo metaInfo = new OperatorStateHandle.StateMetaInfo( partitionOffsets.toArray(), OperatorStateHandle.Mode.SPLIT_DISTRIBUTE); offsetsMap.put(DefaultOperatorStateBackend.DEFAULT_OPERATOR_STATE_NAME, metaInfo); return new OperatorStreamStateHandle(offsetsMap, streamStateHandle); }
/** * This method should not be public so as to not expose internals to user code. */ @Override OperatorStateHandle closeAndGetHandle() throws IOException { StreamStateHandle streamStateHandle = delegate.closeAndGetHandle(); if (null == streamStateHandle) { return null; } if (partitionOffsets.isEmpty() && delegate.getPos() > initialPosition) { startNewPartition(); } Map<String, OperatorStateHandle.StateMetaInfo> offsetsMap = new HashMap<>(1); OperatorStateHandle.StateMetaInfo metaInfo = new OperatorStateHandle.StateMetaInfo( partitionOffsets.toArray(), OperatorStateHandle.Mode.SPLIT_DISTRIBUTE); offsetsMap.put(DefaultOperatorStateBackend.DEFAULT_OPERATOR_STATE_NAME, metaInfo); return new OperatorStreamStateHandle(offsetsMap, streamStateHandle); }