innodb_ruby icon indicating copy to clipboard operation
innodb_ruby copied to clipboard

Add support for MariaDB 10.5 / 10.6

Open RichardStr opened this issue 3 years ago • 1 comments

parsing ibata1 for MariadB10.5/ 10.6 cause error

└──╼ #ruby -r rubygems -I lib bin/innodb_space -s /var/lib/mysql/ibdata1 system-spaces name pages indexes
Traceback (most recent call last): 11: from bin/innodb_space:1714:in <main>' 10: from bin/innodb_space:192:in system_spaces' 9: from bin/innodb_space:188:in block in system_spaces' 8: from bin/innodb_space:188:in to_a' 7: from bin/innodb_space:188:in each' 6: from /root/innodb_ruby/lib/innodb/space.rb:341:in each_index' 5: from /root/innodb_ruby/lib/innodb/space.rb:321:in each_index_root_page_number' 4: from /root/innodb_ruby/lib/innodb/data_dictionary.rb:425:in each_index_by_space_id' 3: from /root/innodb_ruby/lib/innodb/data_dictionary.rb:355:in each_index' 2: from /root/innodb_ruby/lib/innodb/data_dictionary.rb:324:in each_record_from_data_dictionary_index' 1: from /root/innodb_ruby/lib/innodb/data_dictionary.rb:278:in data_dictionary_index' /root/innodb_ruby/lib/innodb/data_dictionary.rb:235:in data_dictionary_indexes': undefined method `data_dictionary_header' for nil:NilClass (NoMethodError)

RichardStr avatar Jan 31 '22 10:01 RichardStr

I suspect that this could occur because lib/innodb/space.rb does not take into account innodb_checksum_algorithm=full_crc32 (MariaDB/server@c0f47a4a58424c621204dacb8016a94b66cb2bce and MariaDB/server@6b6fa3cdb16ae7b4bc9e307c7d9b9012a055548c).

Does it work if you initialize the database with innodb_checksum_algorithm=strict_crc32 or innodb_checksum_algorithm=crc32? The default was changed in MariaDB Server 10.5.0 by MariaDB/server@437da7bc54daa131b46900128ebe3ad2ca25c11a.

dr-m avatar Jan 31 '22 11:01 dr-m