Code review request: 7101658 : Backout 7082769 changes

Alan Bateman Alan.Bateman at oracle.com
Mon Oct 17 17:29:25 UTC 2011


Seán Coffey wrote:
>
> bug ID : http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7101658
> (bug report not visible yet)
>
> changes for 7082769 fix have led to behavioral changes which can lead 
> to native file descriptor exhaustion. Basically - file descriptors are 
> not released until all streams referencing them are closed.
>
> For the short term, we should backout the 7082769 changes until a full 
> solution which doesn't cause issue in terms of compatibility is found.
>
> I'm hoping to get this change into 7u2.
>
> webrev : http://cr.openjdk.java.net/~coffeys/webrev.7101658/
The anti-delta looks fine.

[ As background I should explain that I asked Seán off-list to back out 
these changes because it means that closing a stream that is sharing a 
file descriptor with another stream no longer closes the underlying file 
as existing code expects. In order to fix 7082769 properly it will 
likely require that FileDescriptor be changed to keep a reference to 
each of the closeables (stream and channels) that use it. That way when 
a stream is closed then it will cause all stream and channels using the 
file descriptor to be closed. This should be fixed in 8 first and bake 
for a while before considering 7u. In the mean-time 7u needs to be 
resorted to fix the current regression ].

-Alan.



More information about the core-libs-dev mailing list