Build with UNIV_DEBUG causes asserts

Bug #418838 reported by Seppo Jaakola
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MySQL patches by Codership
Fix Released
Low
Seppo Jaakola

Bug Description

It turns out that build with UNIV_DEBUG defined, causes assert(s).

At least in loc0lock.c:lock_rec_add_to_queue():
 ut_ad((type_mode & (LOCK_WAIT | LOCK_GAP))
       || ((type_mode & LOCK_MODE_MASK) != LOCK_X)
       || !lock_rec_other_has_expl_req(LOCK_S, 0, LOCK_WAIT,
           rec, trx));

,where lock_rec_other_has_expl_req ... asserts

Revision history for this message
Seppo Jaakola (seppo-jaakola) wrote :

wsrep code path does not cancel the waiting, if victim is in waiting state.
This is because we want to control that victim does no leave, before we put our lock in the lock queue.
This change in locking protocol caused the assert to fail.

Changed in codership-mysql:
assignee: nobody → Seppo Jaakola (seppo-jaakola)
importance: Undecided → Low
milestone: none → 0.7
status: New → In Progress
Revision history for this message
Seppo Jaakola (seppo-jaakola) wrote :

Current trunk (0.7pre RC) passes with UNIV_DEBUG build. Tested with two nodes and conflicting sqlgen load.

Changed in codership-mysql:
status: In Progress → Fix Committed
Changed in codership-mysql:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.