Skip to content
  • Sachin Agarwal's avatar
    b7477829
    Bug #29465567 INNODB: RTREE SPLIT ASSERTION FAILURE · b7477829
    Sachin Agarwal authored
    Problem:
    Insert statement on a table with spatial index hit an assert 'record
    type mismatch'.
    
    Analysis:
    1. When Insert operation requires node split, it creates a new node,
    move approximate half of records into the new node and make its
    entry into parent node.
    2. After a split, If the new record insert fail (because new tuple
    does not fit), we need to do another split.
    3. In the next attempt, we clear heap memory to reuse it for next split.
    Tuple which we are inserting was allocated from same heap chunk.
    4. This causes tuple corruption and leads to an assert.
    
    Fix:
    Before starting split operation, created a copy of tuple from a
    separate heap chunk.
    
    RB: 23493
    Reviewed by : Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
    b7477829
    Bug #29465567 INNODB: RTREE SPLIT ASSERTION FAILURE
    Sachin Agarwal authored
    Problem:
    Insert statement on a table with spatial index hit an assert 'record
    type mismatch'.
    
    Analysis:
    1. When Insert operation requires node split, it creates a new node,
    move approximate half of records into the new node and make its
    entry into parent node.
    2. After a split, If the new record insert fail (because new tuple
    does not fit), we need to do another split.
    3. In the next attempt, we clear heap memory to reuse it for next split.
    Tuple which we are inserting was allocated from same heap chunk.
    4. This causes tuple corruption and leads to an assert.
    
    Fix:
    Before starting split operation, created a copy of tuple from a
    separate heap chunk.
    
    RB: 23493
    Reviewed by : Yasufumi Kinoshita <yasufumi.kinoshita@oracle.com>
Loading