Class StreamConfig
java.lang.Object
org.apache.flink.streaming.api.graph.StreamConfig
- All Implemented Interfaces:
Serializable
Internal configuration for a
StreamOperator. This is created and populated by the StreamingJobGraphGenerator.- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceInterface representing chained inputs.static enumRequirements of the different inputs of an operator.static classA representation of a NetworkStreamConfig.InputConfig.static classA serialized representation of an input. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final StringIntroduce serializedUdfClassName to avoid unnecessarily heavygetStreamOperatorFactory(java.lang.ClassLoader). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidIn general, we don't clear any configuration.org.apache.flink.api.common.attribute.Attributeintorg.apache.flink.core.execution.CheckpointingModeorg.apache.flink.configuration.ConfigurationgetInputs(ClassLoader cl) longdoublegetManagedMemoryFractionOperatorUseCaseOfSlot(org.apache.flink.core.memory.ManagedMemoryUseCase managedMemoryUseCase, org.apache.flink.configuration.Configuration jobConfig, org.apache.flink.configuration.Configuration taskManagerConfig, ClassLoader cl) Fraction of total managed memory in the slot that this operator should use for the given use case.intintintint<K> org.apache.flink.api.common.typeutils.TypeSerializer<K><IN,K extends Serializable>
org.apache.flink.api.java.functions.KeySelector<IN,K> getStatePartitioner(int input, ClassLoader cl) <T extends StreamOperator<?>>
T<T extends StreamOperatorFactory<?>>
T<T extends StreamOperatorFactory<?>>
Class<T><T> org.apache.flink.api.common.typeutils.TypeSerializer<T>getTypeSerializerIn(int index, ClassLoader cl) <T> org.apache.flink.api.common.typeutils.TypeSerializer<T>Deprecated.<T> org.apache.flink.api.common.typeutils.TypeSerializer<T>Deprecated.<T> org.apache.flink.api.common.typeutils.TypeSerializer<T><T> org.apache.flink.api.common.typeutils.TypeSerializer<T>getTypeSerializerSideOut(org.apache.flink.util.OutputTag<?> outputTag, ClassLoader cl) booleanbooleanorg.apache.flink.util.TernaryBooleanbooleanbooleanbooleanbooleanbooleanstatic booleanrequiresSorting(StreamConfig.InputConfig inputConfig) voidSerialize all object configs synchronously.voidsetAlignedCheckpointTimeout(Duration alignedCheckpointTimeout) voidsetAndSerializeTransitiveChainedTaskConfigs(Map<Integer, StreamConfig> chainedTaskConfigs) voidsetAttribute(org.apache.flink.api.common.attribute.Attribute attribute) voidsetChainedOutputs(List<StreamEdge> chainedOutputs) voidvoidsetChainIndex(int index) voidvoidsetChangelogStateBackendEnabled(org.apache.flink.util.TernaryBoolean enabled) voidsetCheckpointingEnabled(boolean enabled) voidsetCheckpointMode(org.apache.flink.core.execution.CheckpointingMode mode) voidsetCheckpointStorage(CheckpointStorage storage) voidsetGraphContainingLoops(boolean graphContainingLoops) voidsetInPhysicalEdges(List<StreamEdge> inEdges) voidsetInputs(StreamConfig.InputConfig... inputs) voidsetIterationId(String iterationId) voidsetIterationWaitTime(long time) voidsetManagedMemoryFractionOperatorOfUseCase(org.apache.flink.core.memory.ManagedMemoryUseCase managedMemoryUseCase, double fraction) Fraction of managed memory reserved for the given use case that this operator should use.voidsetMaxConcurrentCheckpoints(int maxConcurrentCheckpoints) voidsetMaxSubtasksPerChannelStateFile(int maxSubtasksPerChannelStateFile) voidsetNumberOfNetworkInputs(int numberOfInputs) voidsetNumberOfOutputs(int numberOfOutputs) voidsetOperatorID(OperatorID operatorID) voidsetOperatorName(String name) voidsetOperatorNonChainedOutputs(List<NonChainedOutput> nonChainedOutputs) Sets the operator level non-chained outputs.voidsetSerializedCheckpointStorage(org.apache.flink.util.SerializedValue<CheckpointStorage> serializedCheckpointStorage) voidsetSerializedStateBackend(org.apache.flink.util.SerializedValue<StateBackend> serializedStateBackend, boolean useManagedMemory) voidsetStateBackend(StateBackend backend) voidsetStateBackendUsesManagedMemory(boolean usesManagedMemory) voidsetStateKeySerializer(org.apache.flink.api.common.typeutils.TypeSerializer<?> serializer) voidsetStatePartitioner(int input, org.apache.flink.api.java.functions.KeySelector<?, ?> partitioner) voidsetStreamOperator(StreamOperator<?> operator) voidsetStreamOperatorFactory(StreamOperatorFactory<?> factory) voidsetTimerServiceProvider(InternalTimeServiceManager.Provider timerServiceProvider) voidsetTransitiveChainedTaskConfigs(Map<Integer, StreamConfig> chainedTaskConfigs) voidsetTypeSerializerOut(org.apache.flink.api.common.typeutils.TypeSerializer<?> serializer) voidsetTypeSerializerSideOut(org.apache.flink.util.OutputTag<?> outputTag, org.apache.flink.api.common.typeutils.TypeSerializer<?> serializer) voidsetUnalignedCheckpointsEnabled(boolean enabled) voidsetUnalignedCheckpointsSplittableTimersEnabled(boolean enabled) voidsetupNetworkInputs(org.apache.flink.api.common.typeutils.TypeSerializer<?>... serializers) voidsetVertexID(Integer vertexID) voidsetVertexNonChainedOutputs(List<NonChainedOutput> nonChainedOutputs) Sets the job vertex level non-chained outputs.voidsetWatermarkDeclarations(byte[] serializedWatermarkDeclarations) toString()triggerSerializationAndReturnFuture(Executor ioExecutor) Trigger the object config serialization and return the completable future.
-
Field Details
-
SERIALIZED_UDF
- See Also:
-
SERIALIZED_UDF_CLASS
Introduce serializedUdfClassName to avoid unnecessarily heavygetStreamOperatorFactory(java.lang.ClassLoader).- See Also:
-
-
Constructor Details
-
StreamConfig
public StreamConfig(org.apache.flink.configuration.Configuration config)
-
-
Method Details
-
getConfiguration
public org.apache.flink.configuration.Configuration getConfiguration() -
getSerializationFuture
-
triggerSerializationAndReturnFuture
Trigger the object config serialization and return the completable future. -
serializeAllConfigs
public void serializeAllConfigs()Serialize all object configs synchronously. Only used for operators which need to reconstruct the StreamConfig internally or test. -
setAndSerializeTransitiveChainedTaskConfigs
@VisibleForTesting public void setAndSerializeTransitiveChainedTaskConfigs(Map<Integer, StreamConfig> chainedTaskConfigs) -
setVertexID
-
getVertexID
-
setManagedMemoryFractionOperatorOfUseCase
public void setManagedMemoryFractionOperatorOfUseCase(org.apache.flink.core.memory.ManagedMemoryUseCase managedMemoryUseCase, double fraction) Fraction of managed memory reserved for the given use case that this operator should use. -
getManagedMemoryFractionOperatorUseCaseOfSlot
public double getManagedMemoryFractionOperatorUseCaseOfSlot(org.apache.flink.core.memory.ManagedMemoryUseCase managedMemoryUseCase, org.apache.flink.configuration.Configuration jobConfig, org.apache.flink.configuration.Configuration taskManagerConfig, ClassLoader cl) Fraction of total managed memory in the slot that this operator should use for the given use case. -
setTypeSerializerOut
public void setTypeSerializerOut(org.apache.flink.api.common.typeutils.TypeSerializer<?> serializer) -
getTypeSerializerOut
public <T> org.apache.flink.api.common.typeutils.TypeSerializer<T> getTypeSerializerOut(ClassLoader cl) -
setTypeSerializerSideOut
public void setTypeSerializerSideOut(org.apache.flink.util.OutputTag<?> outputTag, org.apache.flink.api.common.typeutils.TypeSerializer<?> serializer) -
getTypeSerializerSideOut
public <T> org.apache.flink.api.common.typeutils.TypeSerializer<T> getTypeSerializerSideOut(org.apache.flink.util.OutputTag<?> outputTag, ClassLoader cl) -
setWatermarkDeclarations
public void setWatermarkDeclarations(byte[] serializedWatermarkDeclarations) -
getWatermarkDeclarations
-
setupNetworkInputs
public void setupNetworkInputs(org.apache.flink.api.common.typeutils.TypeSerializer<?>... serializers) -
setInputs
-
getInputs
-
getTypeSerializerIn1
@Deprecated public <T> org.apache.flink.api.common.typeutils.TypeSerializer<T> getTypeSerializerIn1(ClassLoader cl) Deprecated. -
getTypeSerializerIn2
@Deprecated public <T> org.apache.flink.api.common.typeutils.TypeSerializer<T> getTypeSerializerIn2(ClassLoader cl) Deprecated. -
getTypeSerializerIn
public <T> org.apache.flink.api.common.typeutils.TypeSerializer<T> getTypeSerializerIn(int index, ClassLoader cl) -
setStreamOperator
-
setStreamOperatorFactory
-
getStreamOperator
-
getStreamOperatorFactory
-
getStreamOperatorFactoryClass
-
setIterationId
-
getIterationId
-
setIterationWaitTime
public void setIterationWaitTime(long time) -
getIterationWaitTime
public long getIterationWaitTime() -
setNumberOfNetworkInputs
public void setNumberOfNetworkInputs(int numberOfInputs) -
getNumberOfNetworkInputs
public int getNumberOfNetworkInputs() -
setNumberOfOutputs
public void setNumberOfOutputs(int numberOfOutputs) -
getNumberOfOutputs
public int getNumberOfOutputs() -
setOperatorNonChainedOutputs
Sets the operator level non-chained outputs. -
getOperatorNonChainedOutputs
-
setChainedOutputs
-
getChainedOutputs
-
setInPhysicalEdges
-
getInPhysicalEdges
-
setCheckpointingEnabled
public void setCheckpointingEnabled(boolean enabled) -
isCheckpointingEnabled
public boolean isCheckpointingEnabled() -
setCheckpointMode
public void setCheckpointMode(org.apache.flink.core.execution.CheckpointingMode mode) -
getCheckpointMode
public org.apache.flink.core.execution.CheckpointingMode getCheckpointMode() -
setUnalignedCheckpointsEnabled
public void setUnalignedCheckpointsEnabled(boolean enabled) -
isUnalignedCheckpointsEnabled
public boolean isUnalignedCheckpointsEnabled() -
setUnalignedCheckpointsSplittableTimersEnabled
public void setUnalignedCheckpointsSplittableTimersEnabled(boolean enabled) -
isUnalignedCheckpointsSplittableTimersEnabled
public boolean isUnalignedCheckpointsSplittableTimersEnabled() -
isExactlyOnceCheckpointMode
public boolean isExactlyOnceCheckpointMode() -
getAlignedCheckpointTimeout
-
setAlignedCheckpointTimeout
-
setMaxConcurrentCheckpoints
public void setMaxConcurrentCheckpoints(int maxConcurrentCheckpoints) -
getMaxConcurrentCheckpoints
public int getMaxConcurrentCheckpoints() -
getMaxSubtasksPerChannelStateFile
public int getMaxSubtasksPerChannelStateFile() -
setMaxSubtasksPerChannelStateFile
public void setMaxSubtasksPerChannelStateFile(int maxSubtasksPerChannelStateFile) -
setVertexNonChainedOutputs
Sets the job vertex level non-chained outputs. The given output list must have the same order withJobVertex.getProducedDataSets(). -
getVertexNonChainedOutputs
-
setTransitiveChainedTaskConfigs
-
getTransitiveChainedTaskConfigs
-
getTransitiveChainedTaskConfigsWithSelf
-
setOperatorID
-
getOperatorID
-
setOperatorName
-
getOperatorName
-
setChainIndex
public void setChainIndex(int index) -
getChainIndex
public int getChainIndex() -
setStateBackend
-
setChangelogStateBackendEnabled
public void setChangelogStateBackendEnabled(org.apache.flink.util.TernaryBoolean enabled) -
setStateBackendUsesManagedMemory
@VisibleForTesting public void setStateBackendUsesManagedMemory(boolean usesManagedMemory) -
setSerializedStateBackend
public void setSerializedStateBackend(org.apache.flink.util.SerializedValue<StateBackend> serializedStateBackend, boolean useManagedMemory) -
setSerializedCheckpointStorage
public void setSerializedCheckpointStorage(org.apache.flink.util.SerializedValue<CheckpointStorage> serializedCheckpointStorage) -
getStateBackend
-
isChangelogStateBackendEnabled
-
setCheckpointStorage
-
getCheckpointStorage
-
setTimerServiceProvider
-
getTimerServiceProvider
-
setStatePartitioner
public void setStatePartitioner(int input, org.apache.flink.api.java.functions.KeySelector<?, ?> partitioner) -
getStatePartitioner
public <IN,K extends Serializable> org.apache.flink.api.java.functions.KeySelector<IN,K> getStatePartitioner(int input, ClassLoader cl) -
setStateKeySerializer
public void setStateKeySerializer(org.apache.flink.api.common.typeutils.TypeSerializer<?> serializer) -
getStateKeySerializer
public <K> org.apache.flink.api.common.typeutils.TypeSerializer<K> getStateKeySerializer(ClassLoader cl) -
setChainStart
public void setChainStart() -
isChainStart
public boolean isChainStart() -
setChainEnd
public void setChainEnd() -
isChainEnd
public boolean isChainEnd() -
toString
-
setGraphContainingLoops
public void setGraphContainingLoops(boolean graphContainingLoops) -
isGraphContainingLoops
public boolean isGraphContainingLoops() -
setAttribute
public void setAttribute(org.apache.flink.api.common.attribute.Attribute attribute) -
getAttribute
-
clearInitialConfigs
public void clearInitialConfigs()In general, we don't clear any configuration. However, theSERIALIZED_UDFmay be very large when operator includes some large objects, the SERIALIZED_UDF is used to create a StreamOperator and usually only needs to be called once.CHAINED_TASK_CONFIGmay be large as well due to the StreamConfig of all non-head operators in OperatorChain will be serialized and stored in CHAINED_TASK_CONFIG. They can be cleared to reduce the memory after StreamTask is initialized. If so, TM will have more memory during running. See FLINK-33315 and FLINK-33317 for more information. -
requiresSorting
-