Pyramid + transactionmanager: rm.abort() TPC is progress
Asked Answered
G

0

6

I am running Pyramid using pyramid_tm and pyramid_mailer. I am catching the following traceback by a Sentry logging service:

Stacktrace (most recent call last):

  File "transaction/_transaction.py", line 374, in _callAfterCommitHooks
    rm.abort(self)
  File "/srv/pyramid/trees/venv/lib/python3.4/site-packages/repoze/sendmail/delivery.py", line 119, in abort
    raise ValueError("TPC in progress")

As you can seen, the traceback does not contain much information and I am not sure what this is related to and what TPC in progress means. I assume this is somehow related to transaction after commit hooks, sending out email and I guess with few after commit hooks in place the transaction state is somehow unexpected.

  • What does this mean?

  • Why the traceback does not disclose more information? Is it running in a separate thread?

Goforth answered 30/11, 2015 at 22:17 Comment(1)
I found two instances of "TPC in progress" in the source for repoze.sendmail. Perhaps that has a clue?Inflammable

© 2022 - 2024 — McMap. All rights reserved.