Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Connection timeout #291

Open
fengjiachun opened this issue Apr 12, 2022 · 5 comments
Open

Connection timeout #291

fengjiachun opened this issue Apr 12, 2022 · 5 comments

Comments

@fengjiachun
Copy link

Describe the bug
https://github.com/sofastack/sofa-bolt/blob/master/src/main/java/com/alipay/remoting/connection/AbstractConnectionFactory.java#L321

这个 option 应该是全局的,每次建连时设置会被覆盖,所以建连超时设置不一定有效

下面的 future 或许应该加上等待超时的参数,比如下面这个截图,入参 connectTimeout 为 100ms,但是建连时间仍然消耗了 1s

image

版本 1.6.4

Expected behavior

Actual behavior

Steps to reproduce

Minimal yet complete reproducer code (or GitHub URL to code)

Environment

  • SOFABolt version: 1.6.4
  • JVM version (e.g. java -version):1.8
  • OS version (e.g. uname -a):
  • Maven version:
  • IDE version:
@chuailiwu
Copy link
Collaborator

future 加上等待超时的参数 不能解决本质问题(并发的原因设置的时间可能被覆盖)
需要加一个同步锁可以根本解决这个问题
image

@googlefan
Copy link

请问作者,这个问题解决了么在1.6.5 和1.6.6 的版本中? 我 的项目中 在集成 jraft来实现分布式的一致性,之前引用了1.6.4版本的bolt, 启动时候就报错:
ERROR 13109 --- [27.0.0.1:8261>0] c.a.s.j.rpc.impl.AbstractClientService : Fail to connect 127.0.0.1:8263, remoting exception: com.alipay.remoting.exception.RemotingException: Create connection failed. The address is 127.0.0.1:8263.
我不能确定是否是这个问题引起的,将bolt版本升级到了1.6.6最新版,仍然没有解决 集群的启动问题.希望可以得一些支持哈

@googlefan
Copy link

虽然但是,我还是通过设置 nodeOptions.setRpcConnectTimeoutMs(5000); 解决了

@googlefan
Copy link

这个问题好奇怪呀,我这边集群一直运行正常, 昨天我吧 datapath 目录下的log、raft_meta、snapshot 目录下的 文件都删掉 重起后 又 无法选主了,提示无法连接 . 这次设置超时也没解决. 还是没有真正搞明白这块的 起因呀. 大佬 帮忙回答下上面的问题哈,就是这个问题解决了么?

@googlefan
Copy link

这个问题好奇怪呀,我这边集群一直运行正常, 昨天我吧 datapath 目录下的log、raft_meta、snapshot 目录下的 文件都删掉 重起后 又 无法选主了,提示无法连接 . 这次设置超时也没解决. 还是没有真正搞明白这块的 起因呀. 大佬 帮忙回答下上面的问题哈,就是这个问题解决了么?

找到问题原因了, 在定义 group: 127.0.0.1:8261, 127.0.0.1:8262, 127.0.0.1:8263 逗号 后有空格导致的, 代码木有做trim 处理, 代码提示也 看没看出来, 很难看出来呀 :

NodeImpl      : Node <storage/127.0.0.1:8262> can't do preVote as it is not in conf <ConfigurationEntry [id=LogId [index=0, term=0], conf=127.0.0.1:8261, 127.0.0.1:8262, 127.0.0.1:8263, oldConf=]>. 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants