Thanks @ashb for your comment. Storing individual try information in task_instance table will actually connect more dots, currently we get individual task try information by joining with task_fail table, though not explicitly mentioned for which try job was failed but playing with timestamps, one can infer retry_number.
On the other side, I guess it's okay to keep schema as is because it will not add additional load on task_instance table instead it will keep on delegating load to task_fail only which has comparatively lesser or almost no reads, however adding retry_number in task_fail table will add value. IMHO Keeping **key** property only for TaskInstance class seems to be a special behaviour probably it was meant only for scheduler to convey eligible task information to executor queued_tasks, if that's not true, we can also introduce executor_key as another property and make existing references to this new property, thoughts? [ Full content available at: https://github.com/apache/incubator-airflow/pull/3994 ] This message was relayed via gitbox.apache.org for devnull@infra.apache.org