I had the same problem and I think I know why J
Solaris does interrupt IO blocked thread which then causes
the OutputStreamAppender to catch the IOException in line 218 (version 0.9.24).
I actually run version 0.9.18 but this part has not change so I guess it will
behave the same way.
If we look at http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4385444
InterruptedIOException should not be required by platform specification (sol)
And log4j https://issues.apache.org/bugzilla/show_bug.cgi?id=44157
InterruptedIOException ignored by log4j
I think it should be solved the same why
} catch
(InterruptedIOException iioe){
//give the
thread a changes to act on interruption and then carry on
Thread.currentThread().interrupt();
} catch (IOException
ioe) {
// as soon as
an exception occurs, move to non-started state
// and add a
single ErrorStatus to the SM.
this.started = false;
addStatus(new ErrorStatus("IO failure in appender", this, ioe));
}
I could not find the jira entry mentioned in this thread
therefore I write it here J
BTY the jvm option –XX:-UseVMInterruptibleIO does
prevent the interruption by solaris but that’s only a workaround and not
solving the problem ;)
Cheers Andy