jason810496 opened a new pull request, #70921:
URL: https://github.com/apache/airflow/pull/70921

   Each provider can register a remote-logging handler in its ``provider.yaml``:
   
   ```yaml
   remote-logging:
     - classpath: airflow.providers.amazon.aws.log.s3_task_handler.S3RemoteLogIO
       scheme: s3
   ```
   
   The ``scheme`` decides which provider's ``RemoteLogIO`` handler serves a 
user's
   task logs when they set ``[logging] remote_base_log_folder = <scheme>://``. 
At
   runtime ``ProvidersManager._discover_remote_logging`` resolves a scheme
   collision *silently*: providers are iterated in alphabetical order, the first
   one to claim a scheme wins, and every later registration for that scheme is
   dropped with only a ``log.warning``. Nothing catches the clash before it 
ships —
   two providers can register the same scheme and quietly shadow each other, and
   which handler wins depends only on package-name ordering.
   
   This adds a static detector on that surface. 
``check_remote_logging_scheme_duplicates``
   in the provider-yaml static check collects every ``remote-logging`` 
``scheme``
   across all ``providers/*/provider.yaml`` files and fails the check when a 
scheme
   is registered by more than one provider, printing a table of the offending
   scheme and the providers that claim it. It follows the same pattern as the
   existing ``check_integration_duplicates`` global-uniqueness guard.
   
   No collisions exist on ``main`` today (schemes: ``cloudwatch``, 
``elasticsearch``,
   ``gs``, ``oss``, ``s3``, ``stackdriver``, ``wasb``), so the check passes 
as-is;
   it only fires when a future PR introduces a duplicate.
   
   CI-tooling change only — no user-facing behaviour changes.
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [x] Yes (please specify the tool below)
     - Opus 4.8
   
   Generated-by: Opus 4.8 following [the 
guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions)
   


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