Skip to content

Space id conflicts between sharded and local spaces

Single instance picodata:

picodata> pico.create_space({                                                             
                name = 'wonderland2',                                                                 
                format = {      
                    {name = 'property', type = 'string', is_nullable = false},
                    {name = 'value', type = 'integer', is_nullable = true}
                },
                primary_key = {'property'},
                distribution = 'sharded',
                sharding_key = {'property'},
                timeout = 3,
            })
2023-07-11 11:36:15.141 [2217] main/112/governor_loop I> applying pending schema change
2023-07-11 11:36:15.141 [2217] main/112/governor_loop I> calling proc_apply_schema_change, instance_id: i0
2023-07-11 11:36:15.146 [2217] main/112/governor_loop I> applied schema change on instance, instance_id: i0
2023-07-11 11:36:15.146 [2217] main/112/governor_loop I> finalizing schema change, op: DdlCommit
2023-07-11 11:36:15.149 [2217] main/112/governor_loop I> nothing to do, waiting for events to handle
---
- 102
...

picodata> box.execute([[create table tmp2(a int, primary key(a))]])
---
- null
- 'Duplicate key exists in unique index "primary" in space "_space" with old tuple
  - [1027, 1, "wonderland2", "memtx", 0, {}, [{"is_nullable": false, "name": "property",
  "type": "string"}, {"is_nullable": false, "name": "bucket_id", "type": "unsigned"},
  {"is_nullable": true, "name": "value", "type": "integer"}]] and new tuple - [1027,
  1, "TMP2", "memtx", 1, {}, [{"name": "A", "type": "integer", "is_nullable": false,
  "nullable_action": "abort"}]]'
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information