Hi, Thanks for the response. Does that mean that transaction.begin() does not acquire a lock that is kept until transaction.commit()?
If not, how can a sink slow down the source? I would think that the channel would fill up and throw channelfullexception instead rather than slow down the source? Regards, Sverre On May 19, 2015 17:31, "Hari Shreedharan" <[email protected]> wrote: > Each sink does not hold a lock on the channel. Channels can handle > multiple sinks reading from them and in fact, that is encouraged. > > On Tuesday, May 19, 2015, Sverre Bakke <[email protected]> wrote: > >> Hi, >> >> When using a single source, channel and sink setup with Syslog, memory >> channel and KafkaSink (from >> https://github.com/thilinamb/flume-ng-kafka-sink) I am experiencing >> performance issues. >> >> After looking at the source code of the sink, it seems that the sink >> will begin a transaction, then do everything (e.g. compress, send over >> the network, wait for ack), and eventually close/commit the >> transaction after everything is done. >> >> Is there any way to increase the performance of this setup? >> >> Earlier I have seen people proposing adding more sinks to get higher >> throughput, but if every sink holds a lock on the channel until done >> with processing, then I would assume that this only causes additional >> performance issues? Are my understanding correct on how channel >> locking works? >> >> Regards, >> Sverre >> > > > -- > > Thanks, > Hari > >
