twalthr opened a new pull request, #20633:
URL: https://github.com/apache/flink/pull/20633

   ## What is the purpose of the change
   
   This PR improves the configuration story in various aspects. The main target 
is to remove inconsistencies but also a simple architecture under the hood.
   
   ## Brief change log
   
   StreamExecutionEnvironment.getConfiguration() was not only a ReadableConfig 
but also a deep copy. This caused various problems downstream (Python API) and 
makes accessing configuration expensive. Root configuration of `TableConfig` 
should not be a snapshot but a reference that always reflects the current 
status of StreamExecutionEnvironment. Otherwise, when merging e.g. 
`PipelineOptions.JARS`, it is possible that entries get lost when an outdated 
root configuration is used during merging.
   
   StreamExecutionEnvironment.configure() should not contain merging logic. It 
should be a set operation as all other options as well.
   
   Table API should apply JAR file paths to TableConfig only. There is logic to 
apply this to lower layers already.
   
   The same logic should also apply for StreamTableEnvironment.
   
   Also, `PipelineOptions.JARS` is not set by default if no jars have been 
added.
   
   ## Verifying this change
   
   This change added tests and can be verified as follows: 
`DataStreamJavaITCase#testResourcePropagation`
   
   ## Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): no
     - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: yes
     - The serializers: no
     - The runtime per-record code paths (performance sensitive): no
     - Anything that affects deployment or recovery: JobManager (and its 
components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
     - The S3 file system connector: no
   
   ## Documentation
   
     - Does this pull request introduce a new feature? no
     - If yes, how is the feature documented? JavaDocs
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to