Okay. That sounds great. It would be interesting to see what the system
looks like when it is live.

Thanks,
Sameer Mesiah.

On Sun, 31 May 2026 at 17:15, Jarek Potiuk <[email protected]> wrote:

> Hi Sameer,
>
> Thanks for your thoughtful questions! Here are my thoughts on those points:
>
> 1)  I see the value here mainly in terms of efficiency and sustainability.
> By computing a solution once and storing it, we can save the time and
> tokens an LLM would otherwise use to solve the same problem over and over.
> It's a nice way to be more environmentally friendly, too!
>
> 2)  Since many contributions are already agent-assisted, we can address
> hallucinations by adding some guidance to AGENTS.md. Rather than relying on
> periodic checks, we can ask agents to perform their own consistency and
> hallucination checks during the PR process. This keeps a human naturally in
> the loop during review, turning token usage into a great opportunity for
> automated quality control—which we ask our contributors' agents to perform.
>
> This is actually a very interesting "twist" - because this also nicely
> approaches the "assymetry" we have by having a lot more AI assisted
> contributions. We can ask - in our AGENTS.md those agents to do **way** mor
> things to make our projects better - all of them done on the local machines
> of the contributors, with their tokens being spent.
>
> Best,
> Jarek Potiuk
>
>
> On Sun, May 31, 2026 at 4:55 PM Sameer Mesiah <[email protected]>
> wrote:
>
> > Hi Jarek,
> >
> > I do have a few questions about the "suggestions database" point:
> >
> > 1) Previously, it was agreed that since LLMs work well with unstructured
> > error messages, there was minimal benefit to an additional taxonomy layer
> > on top of existing exceptions. I was just hoping you could elaborate on
> the
> > marginal value of a structured data store over better exception messages?
> >
> > 2) If we were to implement this "suggestions database", do you believe
> the
> > hallucination rate of the current agentic systems we have available is
> low
> > enough that it requires minimal manual intervention to the extent that it
> > is worthwhile to introduce? If a maintainer/committer/contributor has to
> > skim through the database periodically to remove hallucinations, would we
> > not be expending tokens in favour of negligible time savings?
> >
> > Granted, I could be overestimating the hallucination rate of these
> agentic
> > systems (I have never used them personally) so it might be the ideal
> > solution. It's an interesting idea anyway so I would love to hear more
> > about it.
> >
> > On Sun, 31 May 2026 at 15:37, Jarek Potiuk <[email protected]> wrote:
> >
> > > Hi all,
> > >
> > > TP's suggestion aligns with Omkar’s earlier proposal (
> > > https://lists.apache.org/thread/f275xo3tjd4olsmrc8nggncs62fjnl0x). I
> see
> > > two main approaches:
> > >
> > > 1.  Generic Python exceptions: Simple and concise, but difficult for
> > > providing nuanced diagnostic or resolution guidance in logs.
> > > 2.  Custom exception hierarchy: Allows us to accumulate specific
> > > troubleshooting documentation for users. This also enables the
> > non-breaking
> > > compatibility TP mentioned.
> > >
> > > While I previously favored simplicity, I now lean toward a structured
> > > hierarchy. In an agentic context, we could automate the maintenance of
> a
> > > "suggestions database" by scanning past issues. This would provide
> users
> > > (and agents) with clear, documented resolution steps, ultimately saving
> > > time and tokens.
> > >
> > > Best,
> > > Jarek Potiuk
> > >
> > >
> > > On Sun, May 31, 2026 at 4:19 PM Tzu-ping Chung via dev <
> > > [email protected]> wrote:
> > >
> > > > I think we can make this non-breaking entirely? We can simply raise a
> > > > subclass of both AirflowException and whatever we want to migrate to.
> > > >
> > > > If we want to, we can emit a deprecation warning if AirflowException
> is
> > > > imported directly by the user, but I feel even that is particularly
> > > needed.
> > > >
> > > > Raising a custom exception that’s as specific as practical is always
> > the
> > > > best practice. Using a custom exception that subclasses both built-in
> > and
> > > > AirflowException (but not AirflowException itself) is a good idea on
> > its
> > > > own.
> > > >
> > > > TP
> > > >
> > > >
> > > > > On 31 May 2026, at 21:25, Jens Scheffler <[email protected]>
> > wrote:
> > > > >
> > > > > Hi,
> > > > >
> > > > > I do not have a stron opinion on this, with the past decision we
> > mainly
> > > > wanted to ensure code is clean.
> > > > >
> > > > > For me also Option (3) would be viable: We leave existing code as
> it
> > is
> > > > and just ensure that new code is clean. But I am also okay to join
> the
> > > > other majority opinion.
> > > > >
> > > > > Jens
> > > > >
> > > > > On 31.05.26 14:08, Sameer Mesiah wrote:
> > > > >> Hi,
> > > > >>
> > > > >> Thanks for opening this thread. This was long overdue considering
> > that
> > > > >> current migration efforts for AirflowException are more scattered
> > > rather
> > > > >> than a consolidated pre-planned wave.
> > > > >>
> > > > >> In general, I agree with your overall approach. But there are a
> few
> > > > things
> > > > >> I want to raise in response to your proposal:
> > > > >>
> > > > >> On 1)
> > > > >>
> > > > >> I think Amogh already expanded on thiss somewhat. But I believe it
> > is
> > > > >> important to understand that AirflowException is not constrained
> to
> > > > >> the provider layer but often bubble up from Airflow core.For
> example
> > > > >> task_runner.py explicitly catches AirflowException as part of task
> > > > >> execution and retry handling, and there are also usages in the
> hook
> > > and
> > > > >> connection layers.
> > > > >>
> > > > >> But depending on whether we scope this to core + providers vs
> > > providers
> > > > >> only, the migration strategy looks quite different.  If the
> > intention
> > > is
> > > > >> provider-only migration, users will continue to encounter
> > > > AirflowException
> > > > >> from core Airflow components, which may make the overall exception
> > > model
> > > > >> feel somewhat inconsistent. If the intention is project-wide
> > > > deprecation, I
> > > > >> think we need a broader plan than provider-level migrations alone.
> > > > >>
> > > > >> Also, as Amogh already implied (he is free to correct me in case I
> > > > >> misinterpreted his reservations), deprecation warnings may not be
> > > > >> worthwhile here. Unlike a deprecated API or method, this is not
> > > > something
> > > > >> users are actively choosing to call. In most cases, Airflow itself
> > is
> > > > >> deciding which exception type to raise. I am leaning against
> > warnings
> > > > due
> > > > >> to the potential for log pollution and the relatively limited
> value
> > > they
> > > > >> provide.
> > > > >>
> > > > >> On 2)
> > > > >>
> > > > >> I agree with your per-package migration proposal. But as Amogh
> said,
> > > we
> > > > >> should ensure new exceptions inherit from AirflowException to
> > prevent
> > > > >> breaking changes across the provider ecosystem. I must add that
> > there
> > > > will
> > > > >> inevitably be a period where users run multiple providers, some
> > > migrated
> > > > >> and some not. This may result in a mixture of exception types
> > > appearing
> > > > in
> > > > >> logs and stack traces. While not ideal, this is probably
> unavoidable
> > > > given
> > > > >> independent provider versioning. As long as migrations are clearly
> > > > >> documented, I do not see this as a major issue.
> > > > >>
> > > > >> My answers to your questions:
> > > > >>
> > > > >> *Should we add a deprecation warning to  AirflowException?*
> > > > >>
> > > > >> I am +0. Not strongly opposed, but I am leaning no due to the risk
> > of
> > > > log
> > > > >> pollution and the fact that the warning would be emitted by
> Airflow
> > > > itself
> > > > >> rather than as a result of an explicit user action.
> > > > >>
> > > > >> *Is the per-package migration approach reasonable?*
> > > > >>
> > > > >> Yes. No blocking concerns from my side.
> > > > >>
> > > > >> *Should we define a project-wide exception taxonomy, or leave
> > > exception
> > > > >> choices to individual provider teams?*
> > > > >>
> > > > >> I would leave this to individual provider teams. The providers
> have
> > > very
> > > > >> different APIs, error models, and opinions around exception
> > handling.
> > > > >> Attempting to enforce a central taxonomy across all providers may
> be
> > > > >> impractical and may not provide much practical value over what we
> > > > currently
> > > > >> have in place.
> > > > >>
> > > > >> Thanks,
> > > > >> Sameer Mesiah.
> > > > >>
> > > > >> On Sat, 30 May 2026 at 10:59, Shahar Epstein <[email protected]>
> > > wrote:
> > > > >>
> > > > >>> Hi all,
> > > > >>>
> > > > >>> This follows up on the earlier lazy-consensus
> > > > >>> <
> https://lists.apache.org/thread/m86gs4mqt8hq1n26g0pp0fq5h5g0x2q9>
> > > and
> > > > >>> related discussions around deprecating AirflowException.
> > > > >>>
> > > > >>> While working on a cleanup PR for the Google Cloud Run operator
> in
> > > the
> > > > >>> Google provider (#67769), Amogh pointed out that replacing
> > > > AirflowException
> > > > >>> with built-in or custom exceptions is a breaking change. Users
> may
> > > > rely on
> > > > >>> AirflowException in callbacks (on_failure_callback,
> > > on_retry_callback)
> > > > or
> > > > >>> in custom wrappers that catch it explicitly.
> > > > >>>
> > > > >>> Rather than making these changes incrementally across individual
> > PRs,
> > > > I'd
> > > > >>> like to discuss a coordinated migration strategy.
> > > > >>> Proposal
> > > > >>>
> > > > >>> *1. Emit a deprecation warning from
> **AirflowException.__init__**.*
> > > > >>>
> > > > >>> Although emitting warnings when exceptions are raised is
> uncommon,
> > it
> > > > is
> > > > >>> justified here because users may depend on AirflowException in
> > > > callbacks
> > > > >>> and exception handlers. This provides advance notice before
> > > > >>> package-specific migrations occur.
> > > > >>>
> > > > >>> *2. Migrate per package in the next breaking release of that
> > > package.*
> > > > >>>
> > > > >>> Require a single migration PR per package (airflow-core and each
> > > > provider),
> > > > >>> rather than spreading exception changes across multiple PRs and
> > > > releases.
> > > > >>> The migration would be included in that package's next breaking
> > > > release and
> > > > >>> documented accordingly.
> > > > >>> Questions
> > > > >>>
> > > > >>>    - Should we add a deprecation warning to AirflowException?
> > > > >>>    - Is the per-package migration approach reasonable?
> > > > >>>    - Should we define a project-wide exception taxonomy, or leave
> > > > exception
> > > > >>>    choices to individual provider teams?
> > > > >>>
> > > > >>> If there's agreement, I'll follow up with a lazy-consensus
> > proposal.
> > > > >>>
> > > > >>> Thanks,
> > > > >>>
> > > > >>>
> > > > >>> Shahar
> > > > >>>
> > > > >
> > > > >
> ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: [email protected]
> > > > > For additional commands, e-mail: [email protected]
> > > > >
> > > >
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: [email protected]
> > > > For additional commands, e-mail: [email protected]
> > > >
> > > >
> > >
> >
>

Reply via email to