[Rocketmq-client-nodejs] Error: 1 CANCELLED: Call cancelled
Before Creating the Bug Report
-
[X] I found a bug, not just asking a question, which should be created in GitHub Discussions.
-
[X] I have searched the GitHub Issues and GitHub Discussions of this repository and believe that this is not a duplicate.
-
[X] I have confirmed that this bug belongs to the current repository, not other repositories of RocketMQ.
Programming Language of the Client
Node.js
Runtime Platform Environment
macOD: 13.6.6 (22G630)
RocketMQ Version of the Client/Server
https://github.com/Xuchengen/rocketmq-docker-build
5.1.3
Run or Compiler Version
No response
Describe the Bug
Use rocketmq-client-nodejs, clean nodejs project , emit Error: 1 CANCELLED: Call cancelled
Rocketmq is in docker: version is 5.1.3 docker image: https://github.com/Xuchengen/rocketmq-docker-build
start rocketmq docker script:
#!/bin/bash
# 参数:console端口
vport=8180
# 参数:java程序连接端口
mainPort=9876
# 参数:java程序连接IP
mainIp=192.168.1.8
cId=$(
docker run -e NAMESRV_XMS=128m -e NAMESRV_XMX=128m -e NAMESRV_XMN=128m \
-e BROKER_XMS=128m -e BROKER_XMX=128m -e BROKER_XMN=128m -e BROKER_MDM=128m \
-e NAMESRV_ADDR=$mainIp:$mainPort \
-itd --hostname rocketmq --restart=always \
-p $vport:8080 -p $mainPort:$mainPort -p 10909:10909 -p 10911:10911 -p 10912:10912 \
--name rocketmq xuchengen/rocketmq:latest
)
docker exec -it $cId /bin/bash -c "sed -i 's/localhost:9876/$mainIp:$mainPort \-c \$ROCKETMQ_HOME\/conf\/broker.conf /g' .run.sh"
docker exec -it $cId /bin/bash -c "echo \"namesrvAddr=$mainIp:$mainPort\" >> \$ROCKETMQ_HOME/conf/broker.conf"
docker exec -it $cId /bin/bash -c "echo \"brokerIP1=$mainIp\" >> /home/app/rocketmq/conf/broker.conf"
docker restart $cId
started success!
here is rokcet-console screenshot:
now I init a nodejs project and npm install rocketmq-client-ndoejs like this:
the code is offical exmaple code in this page : https://www.npmjs.com/package/rocketmq-client-nodejs I only modify the endpoints part to my cluster url
and then run this index.js file, I got this error:
> node index
node:internal/process/esm_loader:40
internalBinding('errors').triggerUncaughtException(
^
Error: Startup the rocketmq client failed, clientId=ztcmbp.local@11079@0@luc6ohqz, error=Error: 1 CANCELLED: Call cancelled
at SimpleConsumer.startup (/Users/easyfrog/work/rocketmq-test/node_modules/rocketmq-client-nodejs/dist/client/BaseClient.js:83:25)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async file:///Users/easyfrog/work/rocketmq-test/index.js:9:1 {
cause: Error: 1 CANCELLED: Call cancelled
at callErrorFromStatus (/Users/easyfrog/work/rocketmq-test/node_modules/@grpc/grpc-js/build/src/call.js:31:19)
at Object.onReceiveStatus (/Users/easyfrog/work/rocketmq-test/node_modules/@grpc/grpc-js/build/src/client.js:192:76)
at Object.onReceiveStatus (/Users/easyfrog/work/rocketmq-test/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:360:141)
at Object.onReceiveStatus (/Users/easyfrog/work/rocketmq-test/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:323:181)
at /Users/easyfrog/work/rocketmq-test/node_modules/@grpc/grpc-js/build/src/resolving-call.js:99:78
at process.processTicksAndRejections (node:internal/process/task_queues:77:11)
for call at
at ServiceClientImpl.makeUnaryRequest (/Users/easyfrog/work/rocketmq-test/node_modules/@grpc/grpc-js/build/src/client.js:160:32)
at ServiceClientImpl.queryRoute (/Users/easyfrog/work/rocketmq-test/node_modules/@grpc/grpc-js/build/src/make-client.js:105:19)
at /Users/easyfrog/work/rocketmq-test/node_modules/rocketmq-client-nodejs/dist/client/RpcClient.js:54:20
at new Promise (<anonymous>)
at RpcClient.queryRoute (/Users/easyfrog/work/rocketmq-test/node_modules/rocketmq-client-nodejs/dist/client/RpcClient.js:53:16)
at RpcClientManager.queryRoute (/Users/easyfrog/work/rocketmq-test/node_modules/rocketmq-client-nodejs/dist/client/RpcClientManager.js:66:32)
at #fetchTopicRoute (/Users/easyfrog/work/rocketmq-test/node_modules/rocketmq-client-nodejs/dist/client/BaseClient.js:178:54)
at SimpleConsumer.updateRoutes (/Users/easyfrog/work/rocketmq-test/node_modules/rocketmq-client-nodejs/dist/client/BaseClient.js:163:40)
at #startup (/Users/easyfrog/work/rocketmq-test/node_modules/rocketmq-client-nodejs/dist/client/BaseClient.js:92:20)
at SimpleConsumer.startup (/Users/easyfrog/work/rocketmq-test/node_modules/rocketmq-client-nodejs/dist/client/BaseClient.js:80:32) {
code: 1,
details: 'Call cancelled',
metadata: Metadata { internalRepr: Map(0) {}, options: {} }
}
}
Node.js v20.8.0
** error=Error: 1 CANCELLED: Call cancelled**
so how to fix it. It is realy a base clean project. and it can not run properly.
Steps to Reproduce
like above
What Did You Expect to See?
run success
What Did You See Instead?
an error occurred
Additional Context
No response
here is broker.conf in docker
"broker.conf" 24L, 1000C
1 # Licensed to the Apache Software Foundation (ASF) under one or more
2 # contributor license agreements. See the NOTICE file distributed with
3 # this work for additional information regarding copyright ownership.
4 # The ASF licenses this file to You under the Apache License, Version 2.0
5 # (the "License"); you may not use this file except in compliance with
6 # the License. You may obtain a copy of the License at
7 #
8 # http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 brokerClusterName = DefaultCluster
17 brokerName = broker-a
18 brokerId = 0
19 deleteWhen = 04
20 fileReservedTime = 48
21 brokerRole = ASYNC_MASTER
22 flushDiskType = ASYNC_FLUSH
23 namesrvAddr=192.168.1.8:9876
24 brokerIP1=192.168.1.8
here is the start mq* in docker:
1 #!/bin/bash
2
3 # start mqnamesrv service
4 nohup $ROCKETMQ_HOME/bin/mqnamesrv > /dev/null 2>&1 &
5 echo "[34m~Pm~J[m~Zmqnamesrv"
6
7 # start mqbroker service
8 nohup $ROCKETMQ_HOME/bin/mqbroker -n 192.168.1.8:9876 -c $ROCKETMQ_HOME/conn
f/broker.conf > /dev/null 2>&1 &
9 echo "[34m~Pm~J[m~Zmqbroker"
10
11 # start console service
12 cd $CONSOLE_HOME
13 nohup java -jar rocketmq-console.jar > /dev/null 2>&1 &
use this docker-compose.yml
version: "3"
services:
#Service for nameserver
rmqnamesrv:
image: apache/rocketmq:5.1.3
container_name: rmqnamesrv
ports:
- 9876:9876
environment:
JAVA_OPT_EXT: "-server -Xms512M -Xmx512M -Xmn128m"
volumes:
- ./data/namesrv/logs:/home/rocketmq/logs
command: sh mqnamesrv
restart: unless-stopped
rmqbroker:
image: apache/rocketmq:5.1.3
container_name: rmqbroker
depends_on:
- rmqnamesrv
ports:
- 10909:10909
- 10911:10911
- 10912:10912
environment:
NAMESRV_ADDR: "rmqnamesrv:9876"
JAVA_OPTS: " -Duser.home=/opt"
JAVA_OPT_EXT: "-server -Xms512M -Xmx512M -Xmn128m"
volumes:
- ./data/broker/logs:/home/rocketmq/logs
- ./data/broker/store:/home/rocketmq/store
- ./conf/broker.conf:/opt/conf/broker.conf
command: sh mqbroker autoCreateTopicEnable=true -c /opt/conf/broker.conf
rmqproxy:
image: apache/rocketmq:5.1.3
container_name: rmqproxy
depends_on:
- rmqnamesrv
ports:
- 8081:8081
environment:
NAMESRV_ADDR: "rmqnamesrv:9876"
JAVA_OPTS: " -Duser.home=/opt"
JAVA_OPT_EXT: "-server -Xms512M -Xmx512M -Xmn128m"
volumes:
- ./data/proxy/logs:/home/rocketmq/logs
- ./data/proxy/store:/home/rocketmq/store
- ./conf/proxy.conf:/opt/conf/proxy.conf
command: sh mqbroker autoCreateTopicEnable=true -c /opt/conf/proxy.conf --enable-proxy
dashbord:
image: apacherocketmq/rocketmq-dashboard:1.0.0
ports:
- 18080:8080
environment:
JAVA_OPTS: "-Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false -Duser.timezone='Asia/Shanghai'"
depends_on:
- rmqnamesrv
this consumer code:
import { SimpleConsumer } from "rocketmq-client-nodejs";
async function main() {
const simpleConsumer = new SimpleConsumer({
consumerGroup: 'lanshan',
endpoints: '192.168.1.8:8081',
subscriptions: new Map().set('lanshan', 'gps'),
});
await simpleConsumer.startup();
const messages = await simpleConsumer.receive(20);
console.log('got %d messages', messages.length);
for (const message of messages) {
console.log(message);
console.log('body=%o', message.body.toString());
await simpleConsumer.ack(message);
}
}
main().catch(err => console.error(err));
GOT this error!
InternalErrorException: [request-id=undefined, response-code=50001] null. NullPointerException. org.apache.rocketmq.proxy.service.route.LocalTopicRouteService.toTopicRouteData(LocalTopicRouteService.java:102)
at StatusChecker.check (D:\works\rocketmq-test\node_modules\rocketmq-client-nodejs\dist\exception\StatusChecker.js:83:23)
at SimpleConsumer.receiveMessage (D:\works\rocketmq-test\node_modules\rocketmq-client-nodejs\dist\consumer\Consumer.js:64:35)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async SimpleConsumer.receive (D:\works\rocketmq-test\node_modules\rocketmq-client-nodejs\dist\consumer\SimpleConsumer.js:95:16)
at async main (file:///D:/works/rocketmq-test/index.js:11:22) {
code: 50001
}
同样遇到此问题,导致我无法在nestjs中跑起来,无法发布消息
I also encountered this problem, have you solved it now?
This issue is stale because it has been open for 30 days with no activity. It will be closed in 3 days if no further activity occurs.
This issue was closed because it has been inactive for 3 days since being marked as stale.