Details
-
Bug
-
Resolution: Fixed
-
P3
-
7u21, 8
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8033836 | 7u80 | Chris Hegarty | P3 | Resolved | Fixed | team |
JDK-8026674 | 7u60 | Chris Hegarty | P3 | Resolved | Fixed | b01 |
JDK-8023193 | 7u51 | Chris Hegarty | P3 | Resolved | Fixed | b01 |
JDK-8023582 | 7u45 | Chris Hegarty | P3 | Closed | Fixed | b09 |
Description
FULL PRODUCT VERSION :
1.7.0_21-b11
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows XP [Version 5.1.2600]
Windows Server 2008
A DESCRIPTION OF THE PROBLEM :
InetAddress.writeObject performs flush() on object output stream.
That spoils TCP throughput when the output stream is based on a socket channel of a TCP connection, since the SYN ACK delay of 2ms of Windows will be invoked when a packet is smaller than the MTU and the next packet is about to be sent.
REPRODUCIBILITY :
This bug can be reproduced always.
CUSTOMER SUBMITTED WORKAROUND :
Go to Java 7 update 15. Or insert a filtering output stream ignoring the flush().
1.7.0_21-b11
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows XP [Version 5.1.2600]
Windows Server 2008
A DESCRIPTION OF THE PROBLEM :
InetAddress.writeObject performs flush() on object output stream.
That spoils TCP throughput when the output stream is based on a socket channel of a TCP connection, since the SYN ACK delay of 2ms of Windows will be invoked when a packet is smaller than the MTU and the next packet is about to be sent.
REPRODUCIBILITY :
This bug can be reproduced always.
CUSTOMER SUBMITTED WORKAROUND :
Go to Java 7 update 15. Or insert a filtering output stream ignoring the flush().
Attachments
Issue Links
- backported by
-
JDK-8023193 InetAddress.writeObject() performs flush() on object output stream
- Resolved
-
JDK-8026674 InetAddress.writeObject() performs flush() on object output stream
- Resolved
-
JDK-8033836 InetAddress.writeObject() performs flush() on object output stream
- Resolved
-
JDK-8023582 InetAddress.writeObject() performs flush() on object output stream
- Closed