Class DummyStreamExecutionEnvironment

java.lang.Object
org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
org.apache.flink.table.planner.utils.DummyStreamExecutionEnvironment
All Implemented Interfaces:
AutoCloseable

public class DummyStreamExecutionEnvironment extends org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
This is dummy StreamExecutionEnvironment, which holds a real StreamExecutionEnvironment, shares all configurations of the real environment, and disables all configuration setting methods.

When translating relational plan to execution plan in the Planner, the generated Transformations will be added into StreamExecutionEnvironment's buffer, and they will be cleared only when StreamExecutionEnvironment.execute() method is called. Each TableEnvironment instance holds an immutable StreamExecutionEnvironment instance. If there are multiple translations (not all for `execute`, e.g. `explain` and then `execute`) in one TableEnvironment instance, the transformation buffer is dirty, and execution result may be incorrect.

This dummy StreamExecutionEnvironment is only used for buffering the transformations generated in the planner. A new dummy StreamExecutionEnvironment instance should be created for each translation, and this could avoid dirty the transformation buffer of the real StreamExecutionEnvironment instance.

All set methods (e.g. `setXX`, `enableXX`, `disableXX`, etc) are disabled to prohibit changing configuration, all get methods (e.g. `getXX`, `isXX`, etc) will be delegated to the real StreamExecutionEnvironment. `execute`, `getStreamGraph`, `getExecutionPlan` methods are also disabled, while `addOperator` method is enabled to allow the planner to add the generated transformations to the dummy StreamExecutionEnvironment.

This class could be removed once the StreamTableSource interface and StreamTableSink interface are reworked.

NOTE: Please remove com.esotericsoftware.kryo item in the whitelist of checkCodeDependencies() method in test_table_shaded_dependencies.sh end-to-end test when this class is removed.

  • Field Summary

    Fields inherited from class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment

    cacheFile, checkpointCfg, config, configuration, transformations
  • Constructor Summary

    Constructors
    Constructor
    Description
    DummyStreamExecutionEnvironment(org.apache.flink.streaming.api.environment.StreamExecutionEnvironment realExecEnv)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
     
    org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    enableCheckpointing(long interval)
     
    org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    enableCheckpointing(long interval, org.apache.flink.core.execution.CheckpointingMode mode)
     
    org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    enableCheckpointing(long interval, org.apache.flink.streaming.api.CheckpointingMode mode)
     
    org.apache.flink.api.common.JobExecutionResult
     
    org.apache.flink.api.common.JobExecutionResult
    execute(String jobName)
     
    org.apache.flink.api.common.JobExecutionResult
    execute(org.apache.flink.streaming.api.graph.StreamGraph streamGraph)
     
    long
     
    List<org.apache.flink.api.java.tuple.Tuple2<String,org.apache.flink.api.common.cache.DistributedCache.DistributedCacheEntry>>
     
    org.apache.flink.streaming.api.environment.CheckpointConfig
     
    org.apache.flink.core.execution.CheckpointingMode
     
    org.apache.flink.streaming.api.CheckpointingMode
     
    long
     
    org.apache.flink.api.common.ExecutionConfig
     
    org.apache.flink.configuration.ReadableConfig
     
     
    int
     
    int
     
    org.apache.flink.streaming.api.graph.StreamGraph
     
    boolean
     
    void
    registerCachedFile(String filePath, String name)
     
    void
    registerCachedFile(String filePath, String name, boolean executable)
     
    org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    setBufferTimeout(long timeoutMillis)
     
    org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    setMaxParallelism(int maxParallelism)
     
    org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    setParallelism(int parallelism)
     

    Methods inherited from class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment

    addOperator, addSource, addSource, addSource, addSource, areExplicitEnvironmentsAllowed, clean, clearJobListeners, close, configure, configure, createInput, createInput, createLocalEnvironment, createLocalEnvironment, createLocalEnvironment, createLocalEnvironment, createLocalEnvironmentWithWebUI, createRemoteEnvironment, createRemoteEnvironment, createRemoteEnvironment, enableChangelogStateBackend, executeAsync, executeAsync, executeAsync, fromCollection, fromCollection, fromCollection, fromCollection, fromData, fromData, fromData, fromData, fromData, fromElements, fromElements, fromParallelCollection, fromParallelCollection, fromSequence, fromSource, fromSource, generateSequence, generateStreamGraph, getDefaultLocalParallelism, getDefaultSavepointDirectory, getExecutionEnvironment, getExecutionEnvironment, getJobListeners, getStreamGraph, getTransformations, getUserClassloader, initializeContextEnvironment, invalidateClusterDataset, isChainingOfOperatorsWithDifferentMaxParallelismEnabled, isChangelogStateBackendEnabled, isForceUnalignedCheckpoints, isUnalignedCheckpointsEnabled, listCompletedClusterDatasets, readFile, readFile, readFile, readFile, readFileStream, registerCacheTransformation, registerCollectIterator, registerJobListener, registerSlotSharingGroup, resetContextEnvironment, setDefaultLocalParallelism, setDefaultSavepointDirectory, setDefaultSavepointDirectory, setDefaultSavepointDirectory, setRuntimeMode, socketTextStream, socketTextStream, socketTextStream, socketTextStream, socketTextStream

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DummyStreamExecutionEnvironment

      public DummyStreamExecutionEnvironment(org.apache.flink.streaming.api.environment.StreamExecutionEnvironment realExecEnv)
  • Method Details

    • getConfig

      public org.apache.flink.api.common.ExecutionConfig getConfig()
      Overrides:
      getConfig in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • getConfiguration

      public org.apache.flink.configuration.ReadableConfig getConfiguration()
      Overrides:
      getConfiguration in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • getCachedFiles

      public List<org.apache.flink.api.java.tuple.Tuple2<String,org.apache.flink.api.common.cache.DistributedCache.DistributedCacheEntry>> getCachedFiles()
      Overrides:
      getCachedFiles in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • setParallelism

      public org.apache.flink.streaming.api.environment.StreamExecutionEnvironment setParallelism(int parallelism)
      Overrides:
      setParallelism in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • setMaxParallelism

      public org.apache.flink.streaming.api.environment.StreamExecutionEnvironment setMaxParallelism(int maxParallelism)
      Overrides:
      setMaxParallelism in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • getParallelism

      public int getParallelism()
      Overrides:
      getParallelism in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • getMaxParallelism

      public int getMaxParallelism()
      Overrides:
      getMaxParallelism in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • setBufferTimeout

      public org.apache.flink.streaming.api.environment.StreamExecutionEnvironment setBufferTimeout(long timeoutMillis)
      Overrides:
      setBufferTimeout in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • getBufferTimeout

      public long getBufferTimeout()
      Overrides:
      getBufferTimeout in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • disableOperatorChaining

      public org.apache.flink.streaming.api.environment.StreamExecutionEnvironment disableOperatorChaining()
      Overrides:
      disableOperatorChaining in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • isChainingEnabled

      public boolean isChainingEnabled()
      Overrides:
      isChainingEnabled in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • getCheckpointConfig

      public org.apache.flink.streaming.api.environment.CheckpointConfig getCheckpointConfig()
      Overrides:
      getCheckpointConfig in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • enableCheckpointing

      public org.apache.flink.streaming.api.environment.StreamExecutionEnvironment enableCheckpointing(long interval)
      Overrides:
      enableCheckpointing in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • enableCheckpointing

      public org.apache.flink.streaming.api.environment.StreamExecutionEnvironment enableCheckpointing(long interval, org.apache.flink.streaming.api.CheckpointingMode mode)
      Overrides:
      enableCheckpointing in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • enableCheckpointing

      public org.apache.flink.streaming.api.environment.StreamExecutionEnvironment enableCheckpointing(long interval, org.apache.flink.core.execution.CheckpointingMode mode)
      Overrides:
      enableCheckpointing in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • getCheckpointInterval

      public long getCheckpointInterval()
      Overrides:
      getCheckpointInterval in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • getCheckpointingMode

      public org.apache.flink.streaming.api.CheckpointingMode getCheckpointingMode()
      Overrides:
      getCheckpointingMode in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • getCheckpointingConsistencyMode

      public org.apache.flink.core.execution.CheckpointingMode getCheckpointingConsistencyMode()
      Overrides:
      getCheckpointingConsistencyMode in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • execute

      public org.apache.flink.api.common.JobExecutionResult execute() throws Exception
      Overrides:
      execute in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
      Throws:
      Exception
    • execute

      public org.apache.flink.api.common.JobExecutionResult execute(String jobName) throws Exception
      Overrides:
      execute in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
      Throws:
      Exception
    • execute

      public org.apache.flink.api.common.JobExecutionResult execute(org.apache.flink.streaming.api.graph.StreamGraph streamGraph) throws Exception
      Overrides:
      execute in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
      Throws:
      Exception
    • registerCachedFile

      public void registerCachedFile(String filePath, String name)
      Overrides:
      registerCachedFile in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • registerCachedFile

      public void registerCachedFile(String filePath, String name, boolean executable)
      Overrides:
      registerCachedFile in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • getStreamGraph

      public org.apache.flink.streaming.api.graph.StreamGraph getStreamGraph()
      Overrides:
      getStreamGraph in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment
    • getExecutionPlan

      public String getExecutionPlan()
      Overrides:
      getExecutionPlan in class org.apache.flink.streaming.api.environment.StreamExecutionEnvironment