Skip to content

Resharding tool for sharded rocksdb#34667

Merged
tchaikov merged 13 commits intoceph:masterfrom
aclamk:wip-rocksdb-reshard
Jun 9, 2020
Merged

Resharding tool for sharded rocksdb#34667
tchaikov merged 13 commits intoceph:masterfrom
aclamk:wip-rocksdb-reshard

Conversation

@aclamk
Copy link
Contributor

@aclamk aclamk commented Apr 21, 2020

Introduces reshard() method to RocksDBStore.
It allows to change current sharding on existing database.
Gives ceph-bluestore-tool 'reshard' command that allows to apply that to BlueStore.

keys_per_iterator ++;

//check if need to write batch
if (bytes_in_batch > 1000000 ||
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we make these dev options? could see potentially wanting to do it in larger batches for speed, or smaller to throttle things.

Copy link
Member

@jdurgin jdurgin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good!

aclamk added 13 commits May 14, 2020 18:06
Created function that prepares environment for _open_db.
Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
Reshard ability allows to change current sharding schema, without change to data.

Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
Now merge operator name also includes operators from dedicated to shards.
This makes it possible to reshard that will move prefix with merge operator
away from default column family.
Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
…ing resharding

Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
…ansferred

Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
Added possibility to control batch size and iterator refresh time for resharding process.
Replaced getenv() with new control for resharding unittests.

Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
@aclamk aclamk force-pushed the wip-rocksdb-reshard branch from 47beff3 to 38ac896 Compare May 14, 2020 20:46
@jdurgin
Copy link
Member

jdurgin commented May 29, 2020

retest this please

@tchaikov tchaikov merged commit e13193f into ceph:master Jun 9, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants