YAshhh29 commented on code in PR #71575:
URL: https://github.com/apache/airflow/pull/71575#discussion_r4105739540
##########
providers/common/ai/src/airflow/providers/common/ai/durable/fingerprint.py:
##########
@@ -137,26 +164,40 @@ def fingerprint_model_request(
except (TypeError, ValueError):
# TypeError from json.dumps, ValueError covers
PydanticSerializationError
log.warning(
- "Durable: could not fingerprint model request; cached responses
for this "
- "step replay without verification"
+ "Durable: could not fingerprint model request; this step will not
be cached and will "
+ "execute live on retry. If the cause is in model settings or
message history, every "
+ "later model step of this run is affected too",
+ step=step,
Review Comment:
On both warnings. `PydanticSerializationError` already names the offending
type, and the iterator refusal raises a `TypeError` that names the type too, so
the log now tells you which value is at fault, not just which step.
Adding it turned up a gap going the other way: `_canonical` walks the
payload before `json.dumps` can run its own circular-reference check, so a
self-referencing value raised `RecursionError` and slipped past `except
(TypeError, ValueError)` entirely. A failed fingerprint should cost a re-run,
never the task, so `RecursionError` is caught now, with a test.
--
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]