emanueledomingo opened a new issue, #442:
URL: https://github.com/apache/pulsar-client-cpp/issues/442

   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:
   
   ```py
   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.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to