sharedBufCompatResult.getConvertDeserializer() != null) { return CompatibilityResult.requiresMigration( new NFASerializer<>( new TypeDeserializerAdapter<>(eventCompatResult.getConvertDeserializer()), new TypeDeserializerAdapter<>(sharedBufCompatResult.getConvertDeserializer())));
sharedBufCompatResult.getConvertDeserializer() != null) { return CompatibilityResult.requiresMigration( new NFASerializer<>( new TypeDeserializerAdapter<>(eventCompatResult.getConvertDeserializer()), new TypeDeserializerAdapter<>(sharedBufCompatResult.getConvertDeserializer())));
sharedBufCompatResult.getConvertDeserializer() != null) { return CompatibilityResult.requiresMigration( new NFASerializer<>( new TypeDeserializerAdapter<>(eventCompatResult.getConvertDeserializer()), new TypeDeserializerAdapter<>(sharedBufCompatResult.getConvertDeserializer())));
@Override public CompatibilityResult<NFA<T>> ensureCompatibility(TypeSerializerConfigSnapshot configSnapshot) { if (configSnapshot instanceof NFASerializerConfigSnapshot) { List<Tuple2<TypeSerializer<?>, TypeSerializerConfigSnapshot>> serializersAndConfigs = ((NFASerializerConfigSnapshot) configSnapshot).getNestedSerializersAndConfigs(); CompatibilityResult<T> eventCompatResult = CompatibilityUtil.resolveCompatibilityResult( serializersAndConfigs.get(0).f0, UnloadableDummyTypeSerializer.class, serializersAndConfigs.get(0).f1, eventSerializer); CompatibilityResult<SharedBuffer<String, T>> sharedBufCompatResult = CompatibilityUtil.resolveCompatibilityResult( serializersAndConfigs.get(1).f0, UnloadableDummyTypeSerializer.class, serializersAndConfigs.get(1).f1, sharedBufferSerializer); if (!sharedBufCompatResult.isRequiresMigration() && !eventCompatResult.isRequiresMigration()) { return CompatibilityResult.compatible(); } else { if (eventCompatResult.getConvertDeserializer() != null && sharedBufCompatResult.getConvertDeserializer() != null) { return CompatibilityResult.requiresMigration( new NFASerializer<>( new TypeDeserializerAdapter<>(eventCompatResult.getConvertDeserializer()), new TypeDeserializerAdapter<>(sharedBufCompatResult.getConvertDeserializer()))); } } } return CompatibilityResult.requiresMigration(); }
private void migrateOldState() throws Exception { getKeyedStateBackend().applyToAllKeys( VoidNamespace.INSTANCE, VoidNamespaceSerializer.INSTANCE, new ValueStateDescriptor<>( "nfaOperatorStateName", new NFA.NFASerializer<>(inputSerializer) ), new KeyedStateFunction<Object, ValueState<MigratedNFA<IN>>>() { @Override public void process(Object key, ValueState<MigratedNFA<IN>> state) throws Exception { MigratedNFA<IN> oldState = state.value(); computationStates.update(new NFAState(oldState.getComputationStates())); org.apache.flink.cep.nfa.SharedBuffer<IN> sharedBuffer = oldState.getSharedBuffer(); partialMatches.init(sharedBuffer.getEventsBuffer(), sharedBuffer.getPages()); state.clear(); } } ); }
private void migrateOldState() throws Exception { getKeyedStateBackend().applyToAllKeys( VoidNamespace.INSTANCE, VoidNamespaceSerializer.INSTANCE, new ValueStateDescriptor<>( "nfaOperatorStateName", new NFA.NFASerializer<>(inputSerializer) ), new KeyedStateFunction<Object, ValueState<MigratedNFA<IN>>>() { @Override public void process(Object key, ValueState<MigratedNFA<IN>> state) throws Exception { MigratedNFA<IN> oldState = state.value(); computationStates.update(new NFAState(oldState.getComputationStates())); org.apache.flink.cep.nfa.SharedBuffer<IN> sharedBuffer = oldState.getSharedBuffer(); partialMatches.init(sharedBuffer.getEventsBuffer(), sharedBuffer.getPages()); state.clear(); } } ); }
@Override public void initializeState(StateInitializationContext context) throws Exception { super.initializeState(context); if (nfaOperatorState == null) { nfaOperatorState = getRuntimeContext().getState( new ValueStateDescriptor<>( NFA_OPERATOR_STATE_NAME, new NFA.NFASerializer<>(inputSerializer))); } if (elementQueueState == null) { elementQueueState = getRuntimeContext().getMapState( new MapStateDescriptor<>( EVENT_QUEUE_STATE_NAME, LongSerializer.INSTANCE, new ListSerializer<>(inputSerializer) ) ); } }
@Override public NFASerializer<T> duplicate() { return new NFASerializer<>(eventSerializer.duplicate()); }
@Override public NFASerializer<T> duplicate() { return new NFASerializer<>(eventSerializer.duplicate()); }
private void migrateOldState() throws Exception { getKeyedStateBackend().applyToAllKeys( VoidNamespace.INSTANCE, VoidNamespaceSerializer.INSTANCE, new ValueStateDescriptor<>( "nfaOperatorStateName", new NFA.NFASerializer<>(inputSerializer) ), new KeyedStateFunction<Object, ValueState<MigratedNFA<IN>>>() { @Override public void process(Object key, ValueState<MigratedNFA<IN>> state) throws Exception { MigratedNFA<IN> oldState = state.value(); computationStates.update(new NFAState(oldState.getComputationStates())); org.apache.flink.cep.nfa.SharedBuffer<IN> sharedBuffer = oldState.getSharedBuffer(); partialMatches.init(sharedBuffer.getEventsBuffer(), sharedBuffer.getPages()); state.clear(); } } ); }
@Override public NFASerializer<T> duplicate() { return new NFASerializer<>(eventSerializer.duplicate()); }