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)
- Dominant language
- C++
- Stars
- 164
- Forks
- 98
- PR merge metrics
- No merged PRs in 30d
Description
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?
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the producer restart with Node.js 16, pulsar-client 1.6.2, and a Pulsar 2.7 cluster, then trace native serialization of pulsar.proto.MessageMetadata around the reported libprotobuf failure. Done means identifying why required fields are missing and confirming that producer restart no longer terminates with the fatal exception.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, javascript, nodejs
- Domain
- backend, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100