As part of the SPATIAL INDEX implementation in InnoDB, dict_index_t was expanded by a rtr_ssn_t field. There are only 3 operations for this field, all protected by rtr_ssn_t::mutex:
- btr_cur_search_to_nth_level() stores the least significant 32 bits of the 64-bit value that is stored in the index root page. (This would better be done when the table is opened for the very first time.)
- rtr_get_new_ssn_id() increments the value by 1.
- rtr_get_current_ssn_id() reads the current value.
The mutex is being unnecessarily allocated not only for SPATIAL INDEX objects, but for all InnoDB dict_index_t objects.