apache / apache/pulsar-client-node
[Error: Failed to create producer: TimeOut]
- 主要言語
- C++
- スター
- 164
- フォーク
- 98
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
I'm not able to create producer or consumer. I only get the error [Error: Failed to create producer: TimeOut]. I see opening and closing connection in broker log. I'm able to connect pulsar broker with Pulsar-Manager (the same netrwork, docker-compose).
used docker-compose:
```
services:
pulsar:
image: apachepulsar/pulsar:3.3.1
command: sh -c "bin/apply-config-from-env.py conf/standalone.conf && bin/pulsar standalone"
hostname: pulsar-local
ports:
- "8080:8080"
- "6650:6650"
restart: unless-stopped
volumes:
- "./conf:/pulsar/conf"
dashboard:
image: apachepulsar/pulsar-manager:v0.4.0
ports:
- "9527:9527"
- "7750:7750"
depends_on:
- pulsar
links:
- pulsar
environment:
SPRING_CONFIGURATION_FILE: /pulsar-manager/pulsar-manager/application.properties
```
used nodejs client app:
```
const Pulsar = require("pulsar-client");
async function produceTest(timeout) {
const client = new Pulsar.Client({
serviceUrl: "pulsar://host.docker.internal:6650"
});
console.log('Create producer....');
try {
const producer = await client.createProducer({
topic: "persistent://public/default/test1",
sendTimeoutMs: 30000
});
console.log('before');
await new Promise((resolve, reject) => {
setTimeout(() => {
producer.send({
data: Buffer.from("My Message")
});
resolve();
}, timeout);
});
} catch(e) {
console.error(e);
}
console.log('after');
await client.close();
}
produceTest(1000);
```
Pulsar broker log:
```
2024-09-17 12:47:18 2024-09-17T10:47:18,331+0000 [pulsar-io-18-15] INFO org.apache.pulsar.broker.service.ServerCnx - [/172.22.0.1:37994] connected with clientVersion=Pulsar-CPP-v3.5.1, clientProtocolVersion=20, proxyVersion=null
2024-09-17 12:47:18 2024-09-17T10:47:18,333+0000 [pulsar-io-18-15] INFO org.apache.pulsar.broker.service.ServerCnx - Closed connection from /172.22.0.1:37994
```
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
提供された docker-compose サービスと Node.js クライアントを pulsar://host.docker.internal:6650 で使用して問題を再現します。まず、createProducer 呼び出しと併せてブローカーの接続ログを確認します。ブローカーが接続を閉じる理由を特定し、検証済みの修正または設定変更を記録できれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- docker, docker-compose, javascript, node.js
- 領域
- api, backend, networking
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100