amoghrajesh commented on code in PR #67530:
URL: https://github.com/apache/airflow/pull/67530#discussion_r3308812570
##########
task-sdk/src/airflow/sdk/execution_time/context.py:
##########
@@ -512,14 +512,13 @@ def get(self, key: str) -> JsonValue:
raise AirflowRuntimeError(resp)
if isinstance(resp, TaskStateResult):
stored = resp.value
- # if custom backend is configured, the stored value in DB is a
reference, fetch the actual value from
- # custom backend using the reference
backend = _get_worker_state_backend()
- if backend is not None:
- # serialize_task_state_to_ref always returns str by contract;
stored contains the ref.
+ if backend is not None and isinstance(stored, dict) and
stored.get("__type") == "ExternalState":
Review Comment:
The `__type`, `__var` choice was not deliberate, there is no intentional
alignment with B`aseSerialization` or the UI renderer. The UI simply renders
raw values stored in the metadata DB and the envelope is just meant to signal
"this value is a reference to external storage, not the actual state."
Given that, switching to a distinct single-key shape makes sense. Will
change to `{"__airflow_state_ref__": "<ref>"}`.
--
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]