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

   # Fix Databricks Extra Link to See Job Run with Custom S3 Backend
   
   ## Problem Addressed
   
   This PR addresses the issue described in 
[#45240](https://github.com/apache/airflow/issues/45240), where the Databricks 
Extra Link for "See Job Run" does not work when using a custom XCom backend 
that writes to S3. Specifically:
   
   - The link directs to the S3 path of the XCom JSON file instead of the 
Databricks workspace job run URL.
   - This behavior makes the feature unusable in setups with custom XCom 
backends, such as those storing XCom values entirely in S3.
   
   ## Proposed Changes
   
   - Refactored the `DatabricksJobRunLink` implementation to reliably fetch the 
Databricks job run URL from XCom using `XCom.get_value`.
   - Ensured compatibility with custom XCom backends, decoupling the link 
generation logic from specific backend implementations.
   - Improved error handling to ensure the system fails gracefully if the 
required XCom value is missing or malformed.
   - Enhanced maintainability with detailed comments and a cleaner structure.
   
   ## Key Benefits
   
   - Resolves the issue of broken links when using custom XCom backends.
   - Ensures compatibility across a wide range of backend configurations, 
including setups where all XCom values are stored in S3.
   - Improves user experience by providing accurate links to Databricks job run 
details.
   
   ## Testing
   
   - Validated the new implementation using a local Airflow environment with a 
custom XCom backend.
   - Confirmed that the generated links now correctly point to Databricks job 
run URLs, regardless of the XCom storage location.
   
   ## Issue Link
   
   Closes [#45240](https://github.com/apache/airflow/issues/45240).
   
   ## Checklist
   
   - [x] All unit tests pass.
   - [x] Code is formatted according to Airflow’s standards.
   - [x] Changes are backward compatible and do not break existing 
functionality.
   - [x] adding unit test 
   
   ## Code of Conduct
   
   I agree to follow this project's Code of Conduct.


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