-
Notifications
You must be signed in to change notification settings - Fork 51
[Bug] Segmentation fault when properties exceed ~100kb #223
Open
Description
Hi everyone, i'm running an event driven app and i use apache pulsar as backbone. I use message's properties to exchange metadata between the services.
I noted that, when the properties exceed ~100kb the client gives Segmentation fault (core dumped) (sometimes corrupted double-linked list instead)
I haven't done a proper test on the size, so take the size as a guideline
I was able to simulate the behaviour in a notebook:
import pulsar import sys import json # need to serialize to json nested object because client accepts properties only # of type (self: _pulsar.MessageBuilder, arg0: str, arg1: str) nested_dict = json.dumps({ "foo": "bar" }) big_dict = { f"key{i}": nested_dict for i in range(3000) } print(sys.getsizeof(big_dict)) # 103856 client = pulsar.Client('pulsar://localhost:6650') producer = client.create_producer('test-topic') producer.send(content="test-message".encode(), properties=big_dict) # segfault
Unfortunately i don't have details in the stacktrace:
In [4]: producer.send(content="test-message".encode(), properties=big_dict)
Segmentation fault (core dumped)
Pulsar client version is 3.5.0.
Metadata
Metadata
Assignees
Labels
No labels
Type
Fields
Give feedbackNo fields configured for issues without a type.