Comments (6)
For reference, the place where the reverse sort would be applied is this line.
from transaction.
Despite the title, I am not sure about the best abort order. My case has demonstrated that the abort order can be important - however, it does not clearly indicate which abort order is the best.
I will analyse my case in more detail in the next few days and will report about the results.
from transaction.
The abort order I have proposed in the title would not help in my case. In this case, the commit order is QueueTM
resources followed by the ZODB connection. This means, that in this special case, using the commit order for abort
as well would be the right choice (still not sure about other cases).
from transaction.
Having storage-level machinery depend on persistent object state is a bad idea.
I don't want to make the transaction machinery more complex to support a brittle design.
from transaction.
@jimfulton FWIW, how does that explain the use of dm.sortKey()
during commit()
? I would find it credible that abort()
should use the same ordering.
from transaction.
The sort key is needed to avoid deadlocks. Abort has no such issue.
(The sort-key is potentially useful for ordering a faux-transactional DM after regular ones, but I regret that model in the first place. :-) )
from transaction.
Related Issues (20)
- 3.0.1: pytest warnings HOT 8
- 3.0.1: setuptools build_sphinx command fails HOT 11
- 3.0.1: transaction not sphinx 4.0.x ready? HOT 5
- Print the stack when a resource manager joins a transaction HOT 4
- Question: Nested transaction.manager HOT 2
- Add support for QA tooling? HOT 3
- 3.0.1: sphinx warnings `reference target not found` HOT 1
- Transactions with multiprocessing HOT 2
- Question: How to find a transaction’s data manager, if any? HOT 1
- No status to indicate aborted transaction. HOT 7
- Reach 100% coverage HOT 1
- DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working HOT 2
- 'ThreadTransactionManager' object has no attribute '_retryable' HOT 1
- Support abort hooks (symmetrically to commit hooks) HOT 1
- It's very easy to create reference cycles that require the GC to clean up HOT 9
- Docs: Confusion between resource and data managers HOT 1
- Still possible to join aborted and doomed transactions
- RTD integration broken HOT 2
- Remove legacy functionality from ITransactionDeprecated
- transaction 3.0 breaks afterCommitHooks HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from transaction.