[concurrency-interest] Does j.u.c.SynchronousQueue's use ofInterrupt interfere with NIO AbstractInterruptibleChannel?

David Holmes davidcholmes at aapt.net.au
Sun Jun 16 19:31:17 EDT 2013


Edward,

SynchronousQueue does not issue interrupts. The SynchronousQueue code
responds to interrupts as a cancellation mechanism.

David
  -----Original Message-----
  From: concurrency-interest-bounces at cs.oswego.edu
[mailto:concurrency-interest-bounces at cs.oswego.edu]On Behalf Of Edward
Sargisson
  Sent: Tuesday, 4 June 2013 9:44 AM
  To: concurrency-interest at cs.oswego.edu
  Subject: [concurrency-interest] Does j.u.c.SynchronousQueue's use
ofInterrupt interfere with NIO AbstractInterruptibleChannel?


  Hi all,

  I've been chasing down issues with Apache Flume and Log4j2. I ~may~ be
able to explain a problem as SynchronousQueue interacting with
AbstractInterruptibleChannel but I'm not convinced my understanding is
sufficient to be certain. I decided it might be worth asking the question
here - if only for my own learning.


  The problem[1] appears to be that if a put or a take fail on the
SynchronousQueue in the AvroIpcClient then it causes an interrupt on the
Flume FileChannel thread (which uses NIO FileChannel which inherits from
AbstractInterruptibleChannel).


  The docs and code for the NIO channels show that it does not expect to be
interrupted.


  Is SynchronousQueue actually interrupting the thread or is the use of
Interrupt in that class doing something else?

  Many thanks in advance,
  Edward



  Links:
  [1] https://issues.apache.org/jira/browse/FLUME-2067
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cs.oswego.edu/pipermail/concurrency-interest/attachments/20130617/f48ffd70/attachment.html>


More information about the Concurrency-interest mailing list