potiuk opened a new pull request #13640:
URL: https://github.com/apache/airflow/pull/13640


   The custom providers with custom connections can define
   extra widgets and fields, however there were problems with
   those custom fields in Aiflow 2.0.0:
   
   * When connection type was a subset of another connection
     type (for example jdbc and jdbcx) widgets from the
     'subset' connection type appeared also in the 'superset'
     one due to prefix matching in javascript.
   
   * Each connection when saved received 'full set' of extra
     fields from other connection types (with empty values).
     This problem is likely present in Airflow 1.10 but due
     to limited number of connections supported it had no
     real implications besides slightly bigger dictionary
     stored in 'extra' field.
   
   * The extra field values were not saved for custom connections.
     Only the predefined connection types could save extras in
     extras field.
   
   This PR fixes it by:
   
   * adding __ matching for javascript to match only full connection
     types not prefixes
   * saving only the fields matching extra__<conn_type> when the
     connection is saved
   * removing filtering on 'known' connection types (the above
     filtering on `extra__` results in empty extra for
     connections that do not have any extra field defined.
   
   Fixes #13597
   
   <!--
   Thank you for contributing! Please make sure that your code changes
   are covered with tests. And in case of new features or big changes
   remember to adjust the documentation.
   
   Feel free to ping committers for the review!
   
   In case of existing issue, reference it using one of the following:
   
   closes: #ISSUE
   related: #ISSUE
   
   How to write a good git commit message:
   http://chris.beams.io/posts/git-commit/
   -->
   
   ---
   **^ Add meaningful description above**
   
   Read the **[Pull Request 
Guidelines](https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst#pull-request-guidelines)**
 for more information.
   In case of fundamental code change, Airflow Improvement Proposal 
([AIP](https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow+Improvements+Proposals))
 is needed.
   In case of a new dependency, check compliance with the [ASF 3rd Party 
License Policy](https://www.apache.org/legal/resolved.html#category-x).
   In case of backwards incompatible changes please leave a note in 
[UPDATING.md](https://github.com/apache/airflow/blob/master/UPDATING.md).
   


----------------------------------------------------------------
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.

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


Reply via email to