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

   **Description**
   
   This change is a follow-up for PR #64751 that introduces a core-side 
`SerializedVariableInterval` representation for dynamically configured deadline 
intervals.
   
   `VariableInterval` remains the SDK-facing type used in DAG definitions, 
while deserialization converts it to `SerializedVariableInterval` for core 
deadline evaluation. Variable-backed interval resolution is moved to this 
serialized counterpart.
   
   **Rationale**
   
   Deadline references already use dedicated serialized representations to 
maintain a separation between SDK and core types. Providing the same 
representation for `VariableInterval` prevents the SDK dataclass from 
propagating beyond the deserialization boundary and allows core deadline 
evaluation to operate on a dedicated core-side type.
   
   **Notes**
   
   * Variable-backed intervals now support zero and negative values to align 
with existing `timedelta` semantics, where intervals represent offsets from the 
deadline reference and are not required to be positive.
   * A stale comment in `test_dagrun_deadline_variable_interval_stable` has 
been updated.
   
   **Tests**
   
   Moved the existing `VariableInterval.resolve()` tests to 
`SerializedVariableInterval.resolve()` to reflect that interval resolution is 
now performed by the core-side representation.
   
   The resolution tests cover valid Variable values, including zero and 
negative offsets, as well as missing and invalid Variable values.
   
   **Backwards Compatibility**
   
   `VariableInterval` remains the SDK-facing type for configuring dynamic 
deadline intervals, so existing DAG definitions continue to work unchanged.
   
   The change only affects the internal representation after deserialization 
and where Variable-backed intervals are resolved. Existing `timedelta` 
intervals and serialized deadline behavior remain unchanged.


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