howeWang97 opened a new issue, #245:
URL: https://github.com/apache/pulsar-dotpulsar/issues/245
### Description
Hi Team, I encountered a problem when sending a large message (130M). During
the sending process, the memory usage rose to 400M and was not reclaimed after
the method ended. Even after I manually triggered a garbage collection, the
memory did not drop back to within 20M. When receiving the message, the memory
suddenly spiked to 1G. After I manually triggered a garbage collection, it
dropped back to 900M.
### Reproduction Steps
1.Send a big message(170M):
byte[] byteArray = null;
using (FileStream fs = new FileStream(filePath, FileMode.Open,
FileAccess.Read))
{
byteArray = new byte[fs.Length];
fs.Read(byteArray, 0, byteArray.Length);
}
var messageIdT = await producer.NewMessage().Send(byteArray);
2.The memory will increase by 390M after Send()
3.Receive message
await foreach (var message in consumer.Messages())
{
await consumer.Acknowledge(message);
}
4.When this message is received, the memory usage will start to rise,
reaching one gigabyte, and after completing this cycle, the memory is not
reclaimed.
### Expected behavior
Want memory to be reclaimed
### Actual behavior
I observed that when DotPulsar sends large messages, it takes some time.
During this period, the memory usage starts to rise, and even after the sending
is completed, the memory is not reclaimed. When receiving messages, the memory
usage also rises sharply. And because it's in a foreach loop, I'm not sure if I
can manually reclaim the memory.
### Regression?
_No response_
### Known Workarounds
_No response_
### Configuration
1. .net Framework 4.6.2
2. DotPulsar 3.6.0
3. Windows 10
4. Any CPU
### Other information
I'm sorry. I don't know
--
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]