-
Apache Airflow versionOther Airflow 2 version What happenedThe change in #3830 introduced multiprocessing while syncing task status, when using celery executor with AWS SQS broker, the dag runs fail with the following backtrace in the scheduler logs.
This is likely due to boto3 session and resource objects not being thread safe[1]. Setting What you think should happen insteadNo response How to reproduceUse celery executor and AWS SQS as the celery broker. Launch a dag with multiple tasks and dependencies among them. e.g 5 tasks with dependencies as
Task type doesn't matter. In our case, it is the KubernetesPodOperator. Operating SystemCentOS Linux 7 (Core) Versions of Apache Airflow Providersairflow version 2.2.2 DeploymentOther Deployment detailsDeployed under AWS EKS via containers. Anything elseNo response Are you willing to submit PR?
Code of Conduct
|
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 3 replies
-
Thanks for opening your first issue here! Be sure to follow the issue template! |
Beta Was this translation helpful? Give feedback.
-
AWS SQS broker is not officially supported by Airflow. Only RabbitMQ and Redis are. We had an extensive discussion about making it supported and documented in #24019. There were voices in the discussion that SQS has many quirks and that there are many edge-cases and that SQS does not have the same level of support and functionality as RabbitMQ and Redis in Celery. And we are not going to actvely work on it, so if you want to continue using SQS you are basically on your own. If you want to continue using it I think the only option is that you provide a PR wihich fixes this problem, add automated tests and documentation on how to configure it. Without it we won't be able to respond to issues and any issue with SQS is not considered a bug but at most a discussion. You can add PRs that you will tests locally that fix your SQS installation, but until tests are there covering integration with SQS we will not consider any issue with it as a "bug" and we will not even attempt to make it continue to work (becasue we do not have any tests for SQS, we cannot automatically test that SQS continues to work after any change like that). This is just to set expectations right - if you want to invest your time and effort into making SQS work - it's ok, you are free to do so. If other people will help with it - that's also fine. If you want to discuss what needs to be done etc. - fine as well,. but this is not a bug and there is no active work currently to make SQS work. |
Beta Was this translation helpful? Give feedback.
-
I'm having the same issue, and i'm not using SQS. I have remote logging setup to an S3 bucket, and the scheduler is able to write the task logs there just fine, but the server isn't able to bubble them up to the UI, and i get a very similar message. I'm running the barebones docker deployment on kube, no special settings other than remote logging. Only have one dag that prints a string, and i get this error. Any guidance or feedback you can provide will be appreciated.
|
Beta Was this translation helpful? Give feedback.
AWS SQS broker is not officially supported by Airflow. Only RabbitMQ and Redis are. We had an extensive discussion about making it supported and documented in #24019. There were voices in the discussion that SQS has many quirks and that there are many edge-cases and that SQS does not have the same level of support and functionality as RabbitMQ and Redis in Celery. And we are not going to actvely work on it, so if you want to continue using SQS you are basically on your own.
If you want to continue using it I think the only option is that you provide a PR wihich fixes this problem, add automated tests and documentation on how to configure it. Without it we won't be able to respond to issue…