You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Summary:
Implemented t-server side tablet splitting according to https://github.com/yugabyte/yugabyte-db/blob/master/architecture/design/docdb-automatic-tablet-splitting.md#tablet-splitting-on-tserver-side.
This revision includes following changes:
- `consensus/consensus.proto`: added `SPLIT_OP` operation type.
- ReplicaState: added split_op_id_ field which tracks ID of the split operation added to the RAFT log; after a split operation is added to the RAFT log - tablet peer will reject any incoming write requests, which should be later retried to new after-split tablets.
- `tablet/metadata.proto`: added `TABLET_DATA_SPLIT` `TabletDataState` value which means tablet split has been started or already completed.
- `tablet/operations`: added `SplitOperationState`
- added `TabletSplitApplier` interface which is implemented by `TSTabletManager` and passed to `TabletPeer`, so it can ask `TSTabletManager` to do the actual split during the processing of `SplitOperation`.
- `RemoteBootstrapClient`: support remote bootstrapping from tablet peer in `TABLET_DATA_SPLIT` state in addition to `TABLET_DATA_READY`.
- Added `SplitTabletRequestPB`/`SplitTabletResponsePB` and supported handling this request in `TabletServiceAdminImpl`.
- Other classes: added support for handling `SplitOperation`.
- Extracted `CopyDirectory` template utility function, common for `yb` and `rocksdb` codebases.
- Added tablet-split-itest.
Test Plan: Jenkins
Reviewers: mikhail, bogdan, sergei
Reviewed By: bogdan, sergei
Subscribers: bogdan, ybase
Differential Revision: https://phabricator.dev.yugabyte.com/D7234
Parent ticket: "Tablet splitting" #1004.
Depends on #1458.
The text was updated successfully, but these errors were encountered: