@Override public Optional<StateSnapshotTransformer<byte[]>> createForSerializedState() { return snapshotTransformFactory.createForDeserializedState() .map(est -> new RocksDBListState.StateSnapshotTransformerWrapper<>(est, elementSerializer.duplicate())); } }
private static List<MetaData> fillMetaData( List<Tuple2<ColumnFamilyHandle, RegisteredStateMetaInfoBase>> metaDataCopy) { List<MetaData> metaData = new ArrayList<>(metaDataCopy.size()); for (Tuple2<ColumnFamilyHandle, RegisteredStateMetaInfoBase> metaInfo : metaDataCopy) { StateSnapshotTransformer<byte[]> stateSnapshotTransformer = null; if (metaInfo.f1 instanceof RegisteredKeyValueStateBackendMetaInfo) { stateSnapshotTransformer = ((RegisteredKeyValueStateBackendMetaInfo<?, ?>) metaInfo.f1). getStateSnapshotTransformFactory().createForSerializedState().orElse(null); } metaData.add(new MetaData(metaInfo.f0, metaInfo.f1, stateSnapshotTransformer)); } return metaData; }
@SuppressWarnings("unchecked") private <SV, SEV> StateSnapshotTransformer<SV> getStateSnapshotTransformer( StateDescriptor<?, SV> stateDesc, StateSnapshotTransformFactory<SEV> snapshotTransformFactory) { Optional<StateSnapshotTransformer<SEV>> original = snapshotTransformFactory.createForDeserializedState(); if (original.isPresent()) { if (stateDesc instanceof ListStateDescriptor) { return (StateSnapshotTransformer<SV>) new StateSnapshotTransformer .ListStateSnapshotTransformer<>(original.get()); } else if (stateDesc instanceof MapStateDescriptor) { return (StateSnapshotTransformer<SV>) new StateSnapshotTransformer .MapStateSnapshotTransformer<>(original.get()); } else { return (StateSnapshotTransformer<SV>) original.get(); } } else { return null; } }
@SuppressWarnings("unchecked") private <SV, SEV> StateSnapshotTransformer<SV> getStateSnapshotTransformer( StateDescriptor<?, SV> stateDesc, StateSnapshotTransformFactory<SEV> snapshotTransformFactory) { Optional<StateSnapshotTransformer<SEV>> original = snapshotTransformFactory.createForDeserializedState(); if (original.isPresent()) { if (stateDesc instanceof ListStateDescriptor) { return (StateSnapshotTransformer<SV>) new StateSnapshotTransformer .ListStateSnapshotTransformer<>(original.get()); } else if (stateDesc instanceof MapStateDescriptor) { return (StateSnapshotTransformer<SV>) new StateSnapshotTransformer .MapStateSnapshotTransformer<>(original.get()); } else { return (StateSnapshotTransformer<SV>) original.get(); } } else { return null; } }
@SuppressWarnings("unchecked") private <SV, SEV> StateSnapshotTransformer<SV> getStateSnapshotTransformer( StateDescriptor<?, SV> stateDesc, StateSnapshotTransformFactory<SEV> snapshotTransformFactory) { if (stateDesc instanceof ListStateDescriptor) { Optional<StateSnapshotTransformer<SEV>> original = snapshotTransformFactory.createForDeserializedState(); return original.map(est -> createRocksDBListStateTransformer(stateDesc, est)).orElse(null); } else if (stateDesc instanceof MapStateDescriptor) { Optional<StateSnapshotTransformer<byte[]>> original = snapshotTransformFactory.createForSerializedState(); return (StateSnapshotTransformer<SV>) original .map(RocksDBMapState.StateSnapshotTransformerWrapper::new).orElse(null); } else { Optional<StateSnapshotTransformer<byte[]>> original = snapshotTransformFactory.createForSerializedState(); return (StateSnapshotTransformer<SV>) original.orElse(null); } }
@SuppressWarnings("unchecked") private <SV, SEV> StateSnapshotTransformer<SV> getStateSnapshotTransformer( StateDescriptor<?, SV> stateDesc, StateSnapshotTransformFactory<SEV> snapshotTransformFactory) { if (stateDesc instanceof ListStateDescriptor) { Optional<StateSnapshotTransformer<SEV>> original = snapshotTransformFactory.createForDeserializedState(); return original.map(est -> createRocksDBListStateTransformer(stateDesc, est)).orElse(null); } else if (stateDesc instanceof MapStateDescriptor) { Optional<StateSnapshotTransformer<byte[]>> original = snapshotTransformFactory.createForSerializedState(); return (StateSnapshotTransformer<SV>) original .map(RocksDBMapState.StateSnapshotTransformerWrapper::new).orElse(null); } else { Optional<StateSnapshotTransformer<byte[]>> original = snapshotTransformFactory.createForSerializedState(); return (StateSnapshotTransformer<SV>) original.orElse(null); } }
/** * Creates and returns a new {@link InternalKvState}. * * @param namespaceSerializer TypeSerializer for the state namespace. * @param stateDesc The {@code StateDescriptor} that contains the name of the state. * * @param <N> The type of the namespace. * @param <SV> The type of the stored state value. * @param <S> The type of the public API state. * @param <IS> The type of internal state. */ @Nonnull default <N, SV, S extends State, IS extends S> IS createInternalState( @Nonnull TypeSerializer<N> namespaceSerializer, @Nonnull StateDescriptor<S, SV> stateDesc) throws Exception { return createInternalState(namespaceSerializer, stateDesc, StateSnapshotTransformFactory.noTransform()); }
/** * Creates and returns a new {@link InternalKvState}. * * @param namespaceSerializer TypeSerializer for the state namespace. * @param stateDesc The {@code StateDescriptor} that contains the name of the state. * * @param <N> The type of the namespace. * @param <SV> The type of the stored state value. * @param <S> The type of the public API state. * @param <IS> The type of internal state. */ @Nonnull default <N, SV, S extends State, IS extends S> IS createInternalState( @Nonnull TypeSerializer<N> namespaceSerializer, @Nonnull StateDescriptor<S, SV> stateDesc) throws Exception { return createInternalState(namespaceSerializer, stateDesc, StateSnapshotTransformFactory.noTransform()); }
private StateSnapshotTransformFactory<?> getSnapshotTransformFactory() { if (!ttlConfig.getCleanupStrategies().inFullSnapshot()) { return StateSnapshotTransformFactory.noTransform(); } else { return new TtlStateSnapshotTransformer.Factory<>(timeProvider, ttl); } }
private StateSnapshotTransformFactory<?> getSnapshotTransformFactory() { if (!ttlConfig.getCleanupStrategies().inFullSnapshot()) { return StateSnapshotTransformFactory.noTransform(); } else { return new TtlStateSnapshotTransformer.Factory<>(timeProvider, ttl); } }
namespaceSerializer, stateSerializer, StateSnapshotTransformFactory.noTransform());
@Override public Optional<StateSnapshotTransformer<byte[]>> createForSerializedState() { return snapshotTransformFactory.createForSerializedState(); } }
@Override public Optional<StateSnapshotTransformer<byte[]>> createForSerializedState() { return snapshotTransformFactory.createForSerializedState() .map(RocksDBMapState.StateSnapshotTransformerWrapper::new); } }