Who owns the thread in question?  Is it created by a web-container?  An application container?  You?

If it is created by a web-container or app-container, there may be some kind of lifecycle management going on where the container interrupts a thread that is running too long (from it's perspective).


On Tue, May 4, 2010 at 4:48 PM, Ibrahim Hasbini <hasbini@gmail.com> wrote:

There's no calls to Thread.interrupt() in my application code. I'm
still unable to explain from where the interrupt is being generated.


>> I've been experiencing intermittent errors in derby.log that look like this:

>> Caused by: java.lang.InterruptedException
>>      at java.lang.Object.wait(Native Method)
>>      at java.lang.Object.wait(Object.java:485)
>>      at org.apache.derby.impl.store.raw.log.LogToFile.flush(Unknown Source)
>>      at org.apache.derby.impl.store.raw.log.LogToFile.flush(Unknown Source)
>Do you call Thread.interrupt() anywhere in your application?
>This API is, unfortunately, unsafe to call in a Derby-based application, as the
>Derby code does not protect itself from these interrupt() calls.