Skip to content

Conversation

BorysTheDev
Copy link
Contributor

@BorysTheDev BorysTheDev commented Dec 11, 2023

fixes #2295

DFLYMIGRATE FLOW command was added to establish connections for every shard replication process.
The slow serialization step is a separate issue so for now only eof_token is sent to reply for the DFLYMIGRATE FLOW command.
The expected state for START-SLOT-MIGRATION is FULL_SYNC now.

@romange
Copy link
Collaborator

romange commented Dec 12, 2023

@BorysTheDev please add commit description to your changes. See
dc3bc9e for example.
Also copy the commit description to PR description.
if you have an issue open for this PR, please add "fixes #...." in the commit description to link the commmit to the issue.

@BorysTheDev BorysTheDev force-pushed the slot_migration_flow_command branch from 40fd7cc to f6d8f0c Compare December 12, 2023 08:34
@BorysTheDev BorysTheDev force-pushed the slot_migration_flow_command branch from f6d8f0c to 4af979e Compare December 18, 2023 08:54
@BorysTheDev BorysTheDev force-pushed the slot_migration_flow_command branch from 712de5c to c8af1a5 Compare December 19, 2023 13:13
cntx->SendOk();
}

void ClusterFamily::Sync(CmdArgList args, ConnectionContext* cntx) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Why do we need the sync sub command? cant this be part of the flow sub command?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Do you mean to start sync after getting the flow command and don't wait for all flow commands?

Copy link
Contributor

Choose a reason for hiding this comment

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

right. I am asking.. dont know what is there reason for this. I know we have this in replication but not sure what is the reason for this in replication

RETURN_ON_ERR(SendCommandAndReadResponse(request));

PC_RETURN_ON_BAD_RESPONSE(CheckRespIsSimpleReply("OK"));

Copy link
Contributor

Choose a reason for hiding this comment

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

can JoinAllFlow is missing right?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

we do it in Destructor, I don't see why it should be here. Also, we plan not to sync flows so they can work independently, so I think joining here is superfluous,

Copy link
Contributor

Choose a reason for hiding this comment

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

I think you will need a JoinAllFlow call, but probably no in this function but in the MainMigrationFb
f.e if there was error in one of the flows you will have cancel called for all flows and then you will want to join all flows before you reconnect.
Anyway we can add it in a later PR

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It looks we have some misunderstanding because in this we need SYNC command from my point of view

fixes #2295

DFLYMIGRATE FLOW command was added to establish
connections for every shard replication process.
Slow serialization step is the separate issue so
for now only eof_token is sent for reply to
DFLYMIGRATE FLOW command.
Expected state for START-SLOT-MIGRATION is FULL_SYNC now.
@BorysTheDev BorysTheDev force-pushed the slot_migration_flow_command branch from 37c2f35 to 27cd6bf Compare December 20, 2023 15:17
@BorysTheDev BorysTheDev merged commit fd76c51 into main Dec 20, 2023
@BorysTheDev BorysTheDev deleted the slot_migration_flow_command branch December 20, 2023 16:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Second step for START-SLOT-MIGRATION command
4 participants