Skip to content

fix(api): fix remoting rpc server not started#1975

Merged
javeme merged 1 commit intoapache:masterfrom
jadepeng:fix-rpc-server-not-start
Oct 21, 2022
Merged

fix(api): fix remoting rpc server not started#1975
javeme merged 1 commit intoapache:masterfrom
jadepeng:fix-rpc-server-not-start

Conversation

@jadepeng
Copy link
Copy Markdown
Contributor

@jadepeng jadepeng commented Oct 8, 2022

使用rocksdb作为后端存储+开启raft,不能成功启动,registerRpcServices时未导出service,rpcserver未启动

增加判断,如果server未启动,手动启动

   /*
         * Skip register cache-rpc service if it's non-shared storage,
         * because we assume cache of non-shared storage is updated by raft.
         */
        if (!this.backendStoreFeatures().supportsSharedStorage()) {
            return;
        }

@codecov
Copy link
Copy Markdown

codecov bot commented Oct 8, 2022

Codecov Report

Merging #1975 (bb66415) into master (8f4e95d) will increase coverage by 0.08%.
The diff coverage is 0.00%.

❗ Current head bb66415 differs from pull request most recent head c455be1. Consider uploading reports for the commit c455be1 to get more accurate results

@@             Coverage Diff              @@
##             master    #1975      +/-   ##
============================================
+ Coverage     70.46%   70.54%   +0.08%     
+ Complexity      978      724     -254     
============================================
  Files           454      454              
  Lines         39138    39055      -83     
  Branches       5574     5557      -17     
============================================
- Hits          27579    27552      -27     
+ Misses         8848     8804      -44     
+ Partials       2711     2699      -12     
Impacted Files Coverage Δ
...in/java/com/baidu/hugegraph/core/GraphManager.java 44.56% <0.00%> (-0.33%) ⬇️
...in/java/com/baidu/hugegraph/schema/IndexLabel.java 76.13% <0.00%> (-1.14%) ⬇️
...hugegraph/backend/store/raft/rpc/RaftRequests.java 19.01% <0.00%> (-0.89%) ⬇️
...om/baidu/hugegraph/backend/store/BackendTable.java 84.52% <0.00%> (-0.60%) ⬇️
...va/com/baidu/hugegraph/backend/cache/RamCache.java 72.22% <0.00%> (-0.56%) ⬇️
...va/com/baidu/hugegraph/util/collection/IntSet.java 74.57% <0.00%> (-0.43%) ⬇️
...ugegraph/backend/store/raft/StoreStateMachine.java 65.76% <0.00%> (+0.90%) ⬆️
...hugegraph/backend/store/raft/rpc/RpcForwarder.java 71.18% <0.00%> (+1.69%) ⬆️
.../hugegraph/backend/store/rocksdb/RocksDBTable.java 69.12% <0.00%> (+2.01%) ⬆️
...om/baidu/hugegraph/api/filter/ExceptionFilter.java 60.57% <0.00%> (+3.84%) ⬆️

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@imbajin
Copy link
Copy Markdown
Member

imbajin commented Oct 9, 2022

使用rocksdb作为后端存储+开启raft,不能成功启动,registerRpcServices时未导出service,rpcserver未启动

两个问题, 第一个是现在官方 raft 的配置里, 就正常无法启动么? (似乎这是不符合预期的, 配置好像在 issue 里, 文档可能没更新)

第二个描述发生的情况是?

"serverConfig");
serverConfig.buildIfAbsent();
if (!serverConfig.getServer().isStarted()) {
serverConfig.getServer().start();
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

so we will always start the rpc server?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

it goes here only when raft mode enabled

@jadepeng
Copy link
Copy Markdown
Contributor Author

使用rocksdb作为后端存储+开启raft,不能成功启动,registerRpcServices时未导出service,rpcserver未启动

两个问题, 第一个是现在官方 raft 的配置里, 就正常无法启动么? (似乎这是不符合预期的, 配置好像在 issue 里, 文档可能没更新)

从issue里找的配置

第二个描述发生的情况是?

GraphManager.startRpcServer

for (Graph graph : this.graphs.values()) {
                HugeGraph hugegraph = (HugeGraph) graph;
                hugegraph.registerRpcServices(serverConfig, clientConfig);
}

这里registerRpcServices时,rockdb not supportsSharedStorage

    @Override
    public void registerRpcServices(RpcServiceConfig4Server serverConfig,
                                    RpcServiceConfig4Client clientConfig) {
        /*
         * Skip register cache-rpc service if it's non-shared storage,
         * because we assume cache of non-shared storage is updated by raft.
         */
        if (!this.backendStoreFeatures().supportsSharedStorage()) {
            return;
        }

所以serverConfig未成功addService,exportAll时skip starting RpcServer

imbajin
imbajin previously approved these changes Oct 19, 2022
javeme
javeme previously approved these changes Oct 19, 2022
@jadepeng jadepeng dismissed stale reviews from javeme and imbajin via c455be1 October 20, 2022 02:42
@jadepeng jadepeng force-pushed the fix-rpc-server-not-start branch from bb66415 to c455be1 Compare October 20, 2022 02:42
@imbajin
Copy link
Copy Markdown
Member

imbajin commented Oct 21, 2022

seems Code scanning results alert a high sec problem, someone could fix it in another PR?

@javeme javeme merged commit 9b5950e into apache:master Oct 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

No open projects
Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants