Skip to content

Commit

Permalink
[ISSUE alibaba#5798] Fix upgraded server cannot downgrade and upgrade…
Browse files Browse the repository at this point in the history
… again. (alibaba#5800)

* [ISSUE alibaba#5798] Fix upgraded server cannot downgrade and upgrade again.

* Fix NPE when delete ServiceMetadata of an non-exist service.
  • Loading branch information
pixystone authored May 21, 2021
1 parent 6bc7c33 commit 5c77307
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,10 @@ private ServiceMetadata mergeMetadata(ServiceMetadata oldMetadata, ServiceMetada
private void deleteServiceMetadata(MetadataOperation<ServiceMetadata> op) {
Service service = Service.newService(op.getNamespace(), op.getGroup(), op.getServiceName());
namingMetadataManager.removeServiceMetadata(service);
service = ServiceManager.getInstance().removeSingleton(service);
Service removed = ServiceManager.getInstance().removeSingleton(service);
if (removed != null) {
service = removed;
}
serviceStorage.removeData(service);
doubleWriteMetadata(service, true);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,13 +93,15 @@ public UpgradeJudgement(RaftPeerSet raftPeerSet, RaftCore raftCore, ClusterVersi
this.doubleWriteDelayTaskEngine = doubleWriteDelayTaskEngine;
Boolean upgraded = upgradeStates.isUpgraded();
upgraded = upgraded != null && upgraded;
if (!EnvUtil.getStandaloneMode() && !upgraded) {
initUpgradeChecker();
} else {
boolean isStandaloneMode = EnvUtil.getStandaloneMode();
if (isStandaloneMode || upgraded) {
useGrpcFeatures.set(true);
useJraftFeatures.set(true);
all20XVersion.set(true);
}
if (!isStandaloneMode) {
initUpgradeChecker();
}
NotifyCenter.registerSubscriber(this);
}

Expand Down

0 comments on commit 5c77307

Please sign in to comment.