Skip to content
  • Allen lai's avatar
    f55e5458
    Bug#14221812 - ASSERT 0 IN ROW_SEL_GET_CLUST_REC_FOR_MYSQL, · f55e5458
    Allen lai authored
    		 CLUST REC NOT FOUND FOR SEC IDX REC
    
      rb://1230 Approved by Marko
    
      This is basically address an issue that rows are skipped for primary
      index, but built into secondary index during online table rebuild.
      As bug described, row_merge_skip_rec() is called for primary index,
      but secondary index is still built. So the simple fix is to remove
      such row_merge_skip_rec() check when we insert row to index, so that
      they can be dropped altogether by online log application.
    
      However, the row_merge_skip_rec() is added mainly to address the BLOB
      issue, since BLOB can be dropped for rollback operation. To deal with
      it,we will need to log enough prefix so that any prefix index on blob
      data can be built even if the BLOB is dropped.
    
      In this implementation, we logged the row_ext_t for any such rows
      during its rollback drop, of course, only for dynamic and compressed
      table. And we will reconstruct a valid row_ext_t when we actually
      delete the entry in primary index as well as in secondary index.
    f55e5458
    Bug#14221812 - ASSERT 0 IN ROW_SEL_GET_CLUST_REC_FOR_MYSQL,
    Allen lai authored
    		 CLUST REC NOT FOUND FOR SEC IDX REC
    
      rb://1230 Approved by Marko
    
      This is basically address an issue that rows are skipped for primary
      index, but built into secondary index during online table rebuild.
      As bug described, row_merge_skip_rec() is called for primary index,
      but secondary index is still built. So the simple fix is to remove
      such row_merge_skip_rec() check when we insert row to index, so that
      they can be dropped altogether by online log application.
    
      However, the row_merge_skip_rec() is added mainly to address the BLOB
      issue, since BLOB can be dropped for rollback operation. To deal with
      it,we will need to log enough prefix so that any prefix index on blob
      data can be built even if the BLOB is dropped.
    
      In this implementation, we logged the row_ext_t for any such rows
      during its rollback drop, of course, only for dynamic and compressed
      table. And we will reconstruct a valid row_ext_t when we actually
      delete the entry in primary index as well as in secondary index.
Loading