Open aensidhe opened 2 weeks ago
vinyl
on_replace
vshard.storage.bucket_stat()
I get the info about bucket
vshard.storage.bucket_stat() crashes with error: A multi-statement transaction can not use multiple storage engines
error: A multi-statement transaction can not use multiple storage engines
Important note: if my space would have memtx engine, everything works perfectly.
memtx
box.schema.create_space('test', { engine = 'vinyl' }) box.space.test:format{ { 'name': 'id', 'type': 'unsigned' }, { 'name': 'bucket_id', 'type': 'unsigned' } } box.space.test:create_index('primary', { parts = { 'id' } }) box.space.test:create_index('bucket_id', { parts = { 'bucket_id' }, unique = false }) function f(old, new) print(vshard.storage.bucket_stat((old or new).bucket_id)) end box.space.test:on_replace(f)
box.space.test:insert{1, 1}
Setup
vinyl
engine.on_replace
trigger on that space.vshard.storage.bucket_stat()
to understand whether it is data change caused by the application or it is vshard rebalancingExpected
I get the info about bucket
Actual
vshard.storage.bucket_stat()
crashes witherror: A multi-statement transaction can not use multiple storage engines
Important note: if my space would have
memtx
engine, everything works perfectly.How to reproduce
box.space.test:insert{1, 1}
error: A multi-statement transaction can not use multiple storage engines