You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am currently investigating what could be causing low throughput to Pulsar in our application. I looked at PulsarSinkGraphStage.scala implementation and the following lines caught my eye:
I haven't implemented any akka-streams Sinks myself, so my assumptions could be wrong here. But if you are doing producer.sendAsync(t).onComplete(produceCallback.invoke) doesn't that mean that a new message will be pulled only after a successful response from producer.sendAsync? Meaning that messages are effectively sent one-by-one to Pulsar and producer batching settings have no effect?
The text was updated successfully, but these errors were encountered:
This is very simple and it works, but not sure about potential issues of using this approach. I think a custom sink could be based on a MapAsync inlet with configurable parallelism and then PulsarSinkGraphStage sink would only be responsible for correctly closing the producer.
I am currently investigating what could be causing low throughput to Pulsar in our application. I looked at
PulsarSinkGraphStage.scala
implementation and the following lines caught my eye:I haven't implemented any akka-streams Sinks myself, so my assumptions could be wrong here. But if you are doing
producer.sendAsync(t).onComplete(produceCallback.invoke)
doesn't that mean that a new message will be pulled only after a successful response fromproducer.sendAsync
? Meaning that messages are effectively sent one-by-one to Pulsar and producer batching settings have no effect?The text was updated successfully, but these errors were encountered: