Skip to content

When the leader node is faulty, the flag for re-sharding cannot be set. #2449

@ExploreHeart

Description

@ExploreHeart

When the leader node is faulty, the flag for re-sharding cannot be set.
After the leader node is reselected, the re-sharding flag is not set. As a result, the faulty shard cannot be executed.
@TeslaCN
#1472

Solution:

class LeaderElectionJobListener implements DataChangedEventListener {
        
        @Override
        public void onChange(final DataChangedEvent event) {
            if (!JobRegistry.getInstance().isShutdown(jobName) && (isActiveElection(event.getKey(), event.getValue()) || isPassiveElection(event.getKey(), event.getType()))) {
                leaderService.electLeader();
               // Trigger failover and set shard identifiers.
                shardingService.setReshardingFlag();
                failoverService.failoverIfNecessary();
            }
        }
}

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions