Skip to content

Commit

Permalink
address comment
Browse files Browse the repository at this point in the history
  • Loading branch information
starrocks-xupeng committed Jul 20, 2022
1 parent fb0097b commit c3bd58c
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 20 deletions.
5 changes: 3 additions & 2 deletions fe/fe-core/src/main/java/com/starrocks/StarRocksFE.java
Original file line number Diff line number Diff line change
Expand Up @@ -111,12 +111,13 @@ public static void start(String starRocksDir, String pidDir, String[] args) {
ExecuteEnv.setup();

// init globalStateMgr
StateChangeExecution execution = GlobalStateMgr.getCurrentState().initialize(args);
GlobalStateMgr.getCurrentState().initialize(args);

StateChangeExecutor.getInstance().setMetaContext(
GlobalStateMgr.getCurrentState().getMetaContext());

StateChangeExecutor.getInstance().registerStateChangeExecution(execution);
StateChangeExecutor.getInstance().registerStateChangeExecution(
GlobalStateMgr.getCurrentState().getStateChangeExecution());
// start state change executor
StateChangeExecutor.getInstance().start();

Expand Down
33 changes: 17 additions & 16 deletions fe/fe-core/src/main/java/com/starrocks/server/GlobalStateMgr.java
Original file line number Diff line number Diff line change
Expand Up @@ -411,6 +411,8 @@ public class GlobalStateMgr {

private ShardManager shardManager;

private StateChangeExecution execution;

public List<Frontend> getFrontends(FrontendNodeType nodeType) {
return nodeMgr.getFrontends(nodeType);
}
Expand Down Expand Up @@ -570,6 +572,19 @@ private GlobalStateMgr(boolean isCheckpointCatalog) {
this.taskManager = new TaskManager();
this.insertOverwriteJobManager = new InsertOverwriteJobManager();
this.shardManager = new ShardManager();

GlobalStateMgr gsm = this;
this.execution = new StateChangeExecution() {
@Override
public void transferToLeader() {
gsm.transferToLeader();
}

@Override
public void transferToNonLeader(FrontendNodeType newType) {
gsm.transferToNonLeader(newType);
}
};
}

public static void destroyCheckpoint() {
Expand Down Expand Up @@ -789,7 +804,7 @@ private void setMetaDir() {
nodeMgr.setImageDir(imageDir);
}

public StateChangeExecution initialize(String[] args) throws Exception {
public void initialize(String[] args) throws Exception {
// set meta dir first.
// we already set these variables in constructor. but GlobalStateMgr is a singleton class.
// so they may be set before Config is initialized.
Expand Down Expand Up @@ -830,8 +845,6 @@ public StateChangeExecution initialize(String[] args) throws Exception {

// 6. start task cleaner thread
createTaskCleaner();

return getStateChangeExecution();
}

protected void initJournal() throws JournalException, InterruptedException {
Expand Down Expand Up @@ -3079,19 +3092,7 @@ public void doTaskBackgroundJob() {
}
}

private StateChangeExecution getStateChangeExecution() {
GlobalStateMgr gsm = this;
StateChangeExecution execution = new StateChangeExecution() {
@Override
public void transferToLeader() {
gsm.transferToLeader();
}

@Override
public void transferToNonLeader(FrontendNodeType newType) {
gsm.transferToNonLeader(newType);
}
};
public StateChangeExecution getStateChangeExecution() {
return execution;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -244,10 +244,11 @@ public boolean isPortUsing(String host, int port) {
}
};

StateChangeExecution execution = GlobalStateMgr.getCurrentState().initialize(args);
GlobalStateMgr.getCurrentState().initialize(args);
StateChangeExecutor.getInstance().setMetaContext(
GlobalStateMgr.getCurrentState().getMetaContext());
StateChangeExecutor.getInstance().registerStateChangeExecution(execution);
StateChangeExecutor.getInstance().registerStateChangeExecution(
GlobalStateMgr.getCurrentState().getStateChangeExecution());
StateChangeExecutor.getInstance().start();
StateChangeExecutor.getInstance().notifyNewFETypeTransfer(FrontendNodeType.LEADER);

Expand Down

0 comments on commit c3bd58c

Please sign in to comment.