Conversation
|
Congratulations on your first Pull Request and welcome to the Apache Airflow community! If you have any issues or are unsure about any anything please check our Contributors' Guide
|
| self._async_writer.write(bytes) | ||
| return await self._aget_response(frame.id) | ||
|
|
||
| async def asend(self, msg: ToTriggerSupervisor) -> ToTriggerRunner | None: |
There was a problem hiding this comment.
With this change you are masking the implementation in CommdDecoder.asend() (in task-sdk/src/airflow/sdk/execution_time/comms.py:221) - but the problem of multi-threading and locking is a generic problem.
Have you considered applying the same change in CommdDecoder base class?
(I assume this is also used for the case of async tasks in worker with the new task run interface in Airflow 3.2, if we have async problems in triggerer while sending/receiving, will it not be the same for any other async task using the same in the base class?
There was a problem hiding this comment.
original solution is also overriding the same method
There was a problem hiding this comment.
re-opening, would be good to have an expert opinion. (I am not confident in this code area and fear I mis-understand the context of fix)
|
Cool! Thanks for the PR! Is there a chance to add a pytest in order to prevent a regression for the bug? |
|
@renat-sagut This PR has been converted to draft because it does not yet meet our Pull Request quality criteria. Issues found:
What to do next:
Converting a PR to draft is not a rejection — it is an invitation to bring the PR up to the project's standards so that maintainer review time is spent productively. There is no rush — take your time and work at your own pace. We appreciate your contribution and are happy to wait for updates. If you have questions, feel free to ask on the Airflow Slack. |
|
Quick follow-up to the triage comment above — one clarification on the "Unresolved review comments" item: Once you believe a thread has been addressed — whether by pushing a fix, or by replying in-thread with an explanation of why the suggestion doesn't apply — please mark the thread as resolved yourself by clicking the "Resolve conversation" button at the bottom of each thread. Reviewers don't auto-close their own threads, so an addressed-but-unresolved thread reads as "still waiting on the author" and keeps the PR from moving forward. The author doing the resolve-click is the expected convention on this project. |
Fix for triggerers crashing due to frame mismatch. It happens when using Kafka assets for scheduling Dags.
Similar to CommsDecoder base class, synchronous send method is protected by the thread_lock, asynchronous send method is protected by the async_lock and the thread_lock.
Was generative AI tooling used to co-author this PR?
{pr_number}.significant.rst, in airflow-core/newsfragments. You can add this file in a follow-up commit after the PR is created so you know the PR number.