You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When attempting to update the state of a task instance via the Airflow API, the server returns a 500 Internal Server Error. The error occurs during the execution of a PATCH request to the /execution/task-instances/{task_instance_id}/run endpoint.
import logging
from datetime import datetime, timedelta
from airflow.sdk import DAG
from airflow.providers.standard.operators.python import PythonOperator
def test():
print("test")
logging.info("This is an info message")
with DAG(
dag_id="test",
start_date=datetime(2021, 1, 1),
schedule=timedelta(seconds=20),
catchup=False,
tags=["example"],
):
t1 = PythonOperator(
task_id='task',
python_callable=test,
)
t1
Steps to Reproduce:
Start Airflow Webserver and Scheduler.
Trigger a DAG run that includes at least one task.
Attempt to update the state of a task instance via the API using a PATCH request to http:///execution/task-instances/{task_instance_id}/run.
Expected Behavior:
The task instance state should be updated successfully, and the API should return a 200 OK response.
Actual Behavior:
The API returns a 500 Internal Server Error with the following stack trace:
INFO: 10.119.103.144:35752 - "PATCH /execution/task-instances/0197bcdf-f09a-72fc-8d7e-47b1308c0775/run HTTP/1.1" 500 Internal Server Error
ERROR: Exception in ASGI application
Exception Group Traceback (most recent call last):
| File "/opt/venv/lib/python3.10/site-packages/starlette/_utils.py", line 76, in collapse_excgroups
| yield
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 177, in call
| async with anyio.create_task_group() as task_group:
| File "/opt/venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 772, in aexit
| raise BaseExceptionGroup(
| exceptiongroup.ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
+-+---------------- 1 ----------------
| Traceback (most recent call last):
| File "/opt/venv/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi
| result = await app( # type: ignore[func-returns-value]
| File "/opt/venv/lib/python3.10/site-packages/fastapi/applications.py", line 1054, in call
| await super().call(scope, receive, send)
| File "/opt/venv/lib/python3.10/site-packages/starlette/applications.py", line 112, in call
| await self.middleware_stack(scope, receive, send)
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/errors.py", line 187, in call
| raise exc
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/errors.py", line 165, in call
| await self.app(scope, receive, _send)
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/gzip.py", line 29, in call
| await responder(scope, receive, send)
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/gzip.py", line 126, in call
| await super().call(scope, receive, send)
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/gzip.py", line 46, in call
| await self.app(scope, receive, self.send_with_compression)
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/cors.py", line 85, in call
| await self.app(scope, receive, send)
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 176, in call
| with recv_stream, send_stream, collapse_excgroups():
| File "/usr/local/python3/lib/python3.10/contextlib.py", line 153, in exit
| self.gen.throw(typ, value, traceback)
| File "/opt/venv/lib/python3.10/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 178, in call
| response = await self.dispatch_func(request, call_next)
| File "/opt/venv/lib/python3.10/site-packages/airflow/api_fastapi/core_api/middleware.py", line 28, in dispatch
| response = await call_next(request)
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 156, in call_next
| raise app_exc
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 62, in call
| await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
| File "/opt/venv/lib/python3.10/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
| raise exc
| File "/opt/venv/lib/python3.10/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
| await app(scope, receive, sender)
| File "/opt/venv/lib/python3.10/site-packages/starlette/routing.py", line 714, in call
| await self.middleware_stack(scope, receive, send)
| File "/opt/venv/lib/python3.10/site-packages/starlette/routing.py", line 734, in app
| await route.handle(scope, receive, send)
| File "/opt/venv/lib/python3.10/site-packages/starlette/routing.py", line 460, in handle
| await self.app(scope, receive, send)
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/applications.py", line 257, in call
| self._cadwyn_initialize()
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/applications.py", line 262, in _cadwyn_initialize
| generated_routers = generate_versioned_routers(
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/route_generation.py", line 82, in generate_versioned_routers
| return _EndpointTransformer(router, versions, webhooks).transform()
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/route_generation.py", line 124, in init
| self.schema_generators = generate_versioned_models(versions)
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/schema_generation.py", line 821, in generate_versioned_models
| _migrate_classes(context)
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/schema_generation.py", line 835, in _migrate_classes
| _apply_alter_schema_instructions(
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/schema_generation.py", line 857, in _apply_alter_schema_instructions
| _change_field_in_model(
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/schema_generation.py", line 960, in _change_field_in_model
| defined_annotations = model._get_defined_annotations_through_mro(schemas)
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/schema_generation.py", line 452, in _get_defined_annotations_through_mro
| for parent in reversed(self._get_parents(schemas)):
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/schema_generation.py", line 430, in _get_parents
| if self._parents is not None:
| AttributeError: '_PydanticModelWrapper' object has no attribute '_parents'
Request for Help
We are encountering a 500 Internal Server Error when attempting to update the state of a task instance via the Airflow API. This issue is causing disruptions in our workflow, and we would greatly appreciate any assistance or guidance from the Airflow community or maintainers.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Description:
When attempting to update the state of a task instance via the Airflow API, the server returns a 500 Internal Server Error. The error occurs during the execution of a PATCH request to the /execution/task-instances/{task_instance_id}/run endpoint.
Environment
Dag
Steps to Reproduce:
Start Airflow Webserver and Scheduler.
Trigger a DAG run that includes at least one task.
Attempt to update the state of a task instance via the API using a PATCH request to http:///execution/task-instances/{task_instance_id}/run.
Expected Behavior:
The task instance state should be updated successfully, and the API should return a 200 OK response.
Actual Behavior:
The API returns a 500 Internal Server Error with the following stack trace:
| File "/opt/venv/lib/python3.10/site-packages/starlette/_utils.py", line 76, in collapse_excgroups
| yield
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 177, in call
| async with anyio.create_task_group() as task_group:
| File "/opt/venv/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 772, in aexit
| raise BaseExceptionGroup(
| exceptiongroup.ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception)
+-+---------------- 1 ----------------
| Traceback (most recent call last):
| File "/opt/venv/lib/python3.10/site-packages/uvicorn/protocols/http/httptools_impl.py", line 409, in run_asgi
| result = await app( # type: ignore[func-returns-value]
| File "/opt/venv/lib/python3.10/site-packages/fastapi/applications.py", line 1054, in call
| await super().call(scope, receive, send)
| File "/opt/venv/lib/python3.10/site-packages/starlette/applications.py", line 112, in call
| await self.middleware_stack(scope, receive, send)
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/errors.py", line 187, in call
| raise exc
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/errors.py", line 165, in call
| await self.app(scope, receive, _send)
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/gzip.py", line 29, in call
| await responder(scope, receive, send)
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/gzip.py", line 126, in call
| await super().call(scope, receive, send)
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/gzip.py", line 46, in call
| await self.app(scope, receive, self.send_with_compression)
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/cors.py", line 85, in call
| await self.app(scope, receive, send)
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 176, in call
| with recv_stream, send_stream, collapse_excgroups():
| File "/usr/local/python3/lib/python3.10/contextlib.py", line 153, in exit
| self.gen.throw(typ, value, traceback)
| File "/opt/venv/lib/python3.10/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
| raise exc
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 178, in call
| response = await self.dispatch_func(request, call_next)
| File "/opt/venv/lib/python3.10/site-packages/airflow/api_fastapi/core_api/middleware.py", line 28, in dispatch
| response = await call_next(request)
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 156, in call_next
| raise app_exc
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/base.py", line 141, in coro
| await self.app(scope, receive_or_disconnect, send_no_error)
| File "/opt/venv/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 62, in call
| await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
| File "/opt/venv/lib/python3.10/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
| raise exc
| File "/opt/venv/lib/python3.10/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
| await app(scope, receive, sender)
| File "/opt/venv/lib/python3.10/site-packages/starlette/routing.py", line 714, in call
| await self.middleware_stack(scope, receive, send)
| File "/opt/venv/lib/python3.10/site-packages/starlette/routing.py", line 734, in app
| await route.handle(scope, receive, send)
| File "/opt/venv/lib/python3.10/site-packages/starlette/routing.py", line 460, in handle
| await self.app(scope, receive, send)
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/applications.py", line 257, in call
| self._cadwyn_initialize()
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/applications.py", line 262, in _cadwyn_initialize
| generated_routers = generate_versioned_routers(
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/route_generation.py", line 82, in generate_versioned_routers
| return _EndpointTransformer(router, versions, webhooks).transform()
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/route_generation.py", line 124, in init
| self.schema_generators = generate_versioned_models(versions)
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/schema_generation.py", line 821, in generate_versioned_models
| _migrate_classes(context)
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/schema_generation.py", line 835, in _migrate_classes
| _apply_alter_schema_instructions(
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/schema_generation.py", line 857, in _apply_alter_schema_instructions
| _change_field_in_model(
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/schema_generation.py", line 960, in _change_field_in_model
| defined_annotations = model._get_defined_annotations_through_mro(schemas)
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/schema_generation.py", line 452, in _get_defined_annotations_through_mro
| for parent in reversed(self._get_parents(schemas)):
| File "/opt/venv/lib/python3.10/site-packages/cadwyn/schema_generation.py", line 430, in _get_parents
| if self._parents is not None:
| AttributeError: '_PydanticModelWrapper' object has no attribute '_parents'
Request for Help
We are encountering a 500 Internal Server Error when attempting to update the state of a task instance via the Airflow API. This issue is causing disruptions in our workflow, and we would greatly appreciate any assistance or guidance from the Airflow community or maintainers.
Beta Was this translation helpful? Give feedback.
All reactions