Bug #4149
BlockManager and TransactionManager handle TransactionType.NONE incorrectly
0%
Related issues
History
#1 Updated by Greg Shah almost 5 years ago
- Related to Bug #4035: newly created record is not flushed at the right time added
#2 Updated by Greg Shah almost 5 years ago
There are 3 major issues that need attention:
TransactionManager
does not protect many registrations or notifications ofCommitables
,Finalizables
orUndoables
.BlockManager
does not protect processing related to these notifications (e.g.tm.processValidate()
).- Many
Scopables
have no protection for processing based on block types or transaction types (someScopables
do have protection).
The result of this is that DO blocks that are implemented with BlockManager
support are often mis-processed as sub-transaction blocks instead of TransactionType.NONE
. This is potentially resulting in incorrect transaction processing behavior. It is also a place where we are doing more processing than is necessary which is a potential performance improvement.
#3 Updated by Greg Shah about 3 years ago
- Related to Support #4032: block/transaction processing context-local and other performance improvements added
#4 Updated by Constantin Asofiei over 1 year ago
Finalizable.entry()
is deprecated and needs to be removed, together with TransactionManager.processEntry()
- I can't find any Finalizable implementation where entry()
is implemented.
#5 Updated by Constantin Asofiei over 1 year ago
Constantin Asofiei wrote:
Finalizable.entry()
is deprecated and needs to be removed, together withTransactionManager.processEntry()
- I can't find any Finalizable implementation whereentry()
is implemented.
Greg, do you recall why Finalizable.entry
was added? I can't find any implementation, and I'd like to remove it.
#6 Updated by Greg Shah over 1 year ago
Constantin Asofiei wrote:
Constantin Asofiei wrote:
Finalizable.entry()
is deprecated and needs to be removed, together withTransactionManager.processEntry()
- I can't find any Finalizable implementation whereentry()
is implemented.Greg, do you recall why
Finalizable.entry
was added? I can't find any implementation, and I'd like to remove it.
I added it in revision 11347.1.75
in preparation for Eric's work with the SavepointManager
(and UNDO rework) in revision 11347.1.79. If I recall correctly, we were missing a mechansim that could be used to snapshot things at the same point in processing as can be done with iterate()
.