apache / apache/pulsar-client-node

Can't serialize message of type "pulsar.proto.MessageMetadata" because it is missing required fields: (cannot determine missing fields for lite message)

オープン
#225 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
C++
スター
164
フォーク
98
PR マージ指標
30日以内にマージされた PR はありません

説明

nodejs 16
sdk version:nodejs pulsar-client 1.6.2
cluster version 2.7

When I restart the producer, I get the following error:

2022-07-12 12:54:07.697 INFO [140305944786688] HTTPLookupService:295 | parsePartitionData = { LookupDataResult [brokerUrl_ = ] [brokerUrlTls_ = ] [partitions = 2] [authoritative = 0] [redirect = 0] proxyThroughServiceUrl = 0] }

[libprotobuf FATAL google/protobuf/message_lite.cc:327] CHECK failed: IsInitialized(): Can't serialize message of type "pulsar.proto.MessageMetadata" because it is missing required fields: (cannot determine missing fields for lite message)

terminate called after throwing an instance of 'google::protobuf::FatalException'

what(): CHECK failed: IsInitialized(): Can't serialize message of type "pulsar.proto.MessageMetadata" because it is missing required fields: (cannot determine missing fields for lite message)

Why is there such an error, is it a bug?

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

まず、Node.js 16、pulsar-client 1.6.2、および Pulsar 2.7 クラスターで producer の再起動を再現し、その後、報告された libprotobuf の失敗に関連する pulsar.proto.MessageMetadata のネイティブシリアライズを追跡します。必須フィールドが欠落する理由を特定し、producer の再起動が fatal exception で終了しなくなったことを確認できれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp, javascript, nodejs
領域
backend, distributed-systems
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。