ndb - bug#19293 and family
introduce acc per row logical mutex to fix difficult error handling cases storage/ndb/src/kernel/blocks/dbacc/Dbacc.hpp: 1) Fix per row mutex so that only 1 op at a time is running on a row 2) Change TUP_ALLOC/DEALLOC semantic, so that a new record will be allocated if LQ = { T1(DEL) - T2(INS) } 3) Rewrite lock queus to be O(1) in all cases but a few abort cases where we scan parallell queue 4) Impl. a validate_lock_queue/dump_lock_queue test framework storage/ndb/src/kernel/blocks/dbacc/DbaccInit.cpp: 1) Fix per row mutex so that only 1 op at a time is running on a row 2) Change TUP_ALLOC/DEALLOC semantic, so that a new record will be allocated if LQ = { T1(DEL) - T2(INS) } 3) Rewrite lock queus to be O(1) in all cases but a few abort cases where we scan parallell queue 4) Impl. a validate_lock_queue/dump_lock_queue test framework storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp: 1) Fix per row mutex so that only 1 op at a time is running on a row 2) Change TUP_ALLOC/DEALLOC semantic, so that a new record will be allocated if LQ = { T1(DEL) - T2(INS) } 3) Rewrite lock queus to be O(1) in all cases but a few abort cases where we scan parallell queue 4) Impl. a validate_lock_queue/dump_lock_queue test framework storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp: 1) impl. a new read key from operation record needed by acc 2) expand TRACE_OP toolkit 3) impl. ACCKEY_ORD as needed by ACC changes storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: 1) impl. a new read key from operation record needed by acc 2) expand TRACE_OP toolkit 3) impl. ACCKEY_ORD as needed by ACC changes storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp: remove unused states/methods storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp: remove extremly tricky code that handles disk_insert_but_no_mem_insert that is no long needed with current acc changes storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp: remove unused states/methods storage/ndb/test/ndbapi/testOperations.cpp: renable last 3 lock upgrade testcases since they now pass
Showing
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
Please register or sign in to comment