tarantool / vshard

The new generation of sharding based on virtual buckets
Other
100 stars 30 forks source link

Does not work rebalancing of values of type 'Varbinary' #327

Closed BelyaevEvgeny closed 2 years ago

BelyaevEvgeny commented 2 years ago

Vshard cannot rebalance value of type varbinary. Throws the following error:

mytaran.s1-master | 2022-04-12 12:29:56.792 [9373] main/202/vshard.rebalancer_worker_1 init.lua:2228 E> 
Error during rebalancer routes applying: receiver cce85c09-5f7a-49ae-9d52-23f905165a53, error {
"bucket_id":11,
"reason":"Tuple field 2 (value) type does not match one required by operation: expected varbinary, got string",
"code":30,
"message":"Can not receive the bucket 11 data in space \"test_space_cluster\" 
at tuple ['key16', !!binary ktRiFsYAAAAY8AeCpE5hbWWqVGVzdF9rZXkxNqNBZ2UB, 11]: 
Tuple field 2 (value) type does not match one required by operation: expected varbinary, got string",
"type":"ShardingError",
"space":"test_space_cluster",
"name":"BUCKET_RECV_DATA_ERROR",
"tuple":["key16","��b\u0016�\u0000\u0000\u0000\u0018�\u0007��Name�Test_key16�Age\u0001",11]}

Space settings:

spaces:
  test_space_cluster:
    engine: memtx
    is_local: false
    temporary: false
    sharding_key:
    - "key"
    format:
    - {name: key, type: string, is_nullable: false}
    - {name: value, type: varbinary, is_nullable: true}
    - {name: bucket_id, type: unsigned, is_nullable: false}
    indexes:
    - name: key
      unique: true
      parts: [{path: key, type: string, is_nullable: false}]
      type: TREE
    - name: bucket_id
      unique: false
      parts: [{path: bucket_id, type: unsigned, is_nullable: false}]
      type: TREE

Vshard can rebalance varbinary?

Totktonada commented 2 years ago

Maybe we should go in the way proposed in https://github.com/tarantool/tarantool/issues/5933.