The jdbc channel implementation (using Derby) results in a lock acquisition error upon take().
It appears as if the event is successfully inserted by the source, but the sink fails to receive the event in the allotted time. The configuration used was as follows.
localhost.sources = avro nc
localhost.sinks = logger log2
localhost.channels = ch1 ch2
localhost.channels.ch1.type = memory
localhost.channels.ch1.capacity = 10000
localhost.sources.avro.type = avro
localhost.sources.avro.bind = 0.0.0.0
localhost.sources.avro.port = 41414
localhost.sources.avro.channels = ch1
localhost.sinks.logger.type = logger
localhost.sinks.logger.channel = ch1
localhost.channels.ch2.type = jdbc
localhost.sources.nc.type = netcat
localhost.sources.nc.bind = 0.0.0.0
localhost.sources.nc.port = 41415
localhost.sources.nc.name = nc
localhost.sources.nc.channels = ch2
localhost.sinks.log2.type = logger
localhost.sinks.log2.channel = ch2
The path in use is nc(netcat) -> ch2(jdbc) -> log2(logger) with minimal configuration. I'll attach log output shortly.