-
Bug
-
Resolution: Incomplete
-
P4
-
None
-
8u112
-
x86
-
linux
FULL PRODUCT VERSION :
CentOS6.5:java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)
Win7:java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
CentOS6.5 mini: 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Win7:Microsoft Windows [版本 6.1.7600]
EXTRA RELEVANT SYSTEM CONFIGURATION :
connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST");
connection.setConnectTimeout(3000);
connection.setReadTimeout(3000);
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
A DESCRIPTION OF THE PROBLEM :
SomeTimes, When I request once, But My Server receive Twice request, And This situation
doesn't always appear, My HttpURLConnection Config is in The Additional Configuration Information, Both my Win7 OS and CentOS6.5 OS all appear this situation, About 1000 times request will append retry request, I see theJDK-4646885, Althought it write Fixed Versions:1.4.0_01, but My JDK1.8 also happend, How can I ban the retry;, I can't find function like ban retry request.
REPRODUCIBILITY :
This bug can be reproduced often.
---------- BEGIN SOURCE ----------
url = new URL(prop.getProperty(requestUrl));
connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST");
connection.setConnectTimeout(3000);
connection.setReadTimeout(3000);
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
connection.setRequestProperty("Content-Type", "application/json");
connection.connect();
DataOutputStream out = new DataOutputStream(connection.getOutputStream());
out.write(requestJson.getBytes("utf-8"));
out.flush();
out.close();
reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String lines;
StringBuffer sb = new StringBuffer("");
while ((lines = reader.readLine()) != null) {
lines = new String(lines.getBytes(), "utf-8");
sb.append(lines);
}
//you can use for function request anyone url 1000 times, look the server log and client log, you can see like this client 1000 time request , server receive larger than 1000 times;
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
ban retry;
SUPPORT :
YES
CentOS6.5:java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.112-b15, mixed mode)
Win7:java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
CentOS6.5 mini: 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Win7:Microsoft Windows [版本 6.1.7600]
EXTRA RELEVANT SYSTEM CONFIGURATION :
connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST");
connection.setConnectTimeout(3000);
connection.setReadTimeout(3000);
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
A DESCRIPTION OF THE PROBLEM :
SomeTimes, When I request once, But My Server receive Twice request, And This situation
doesn't always appear, My HttpURLConnection Config is in The Additional Configuration Information, Both my Win7 OS and CentOS6.5 OS all appear this situation, About 1000 times request will append retry request, I see the
REPRODUCIBILITY :
This bug can be reproduced often.
---------- BEGIN SOURCE ----------
url = new URL(prop.getProperty(requestUrl));
connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST");
connection.setConnectTimeout(3000);
connection.setReadTimeout(3000);
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
connection.setRequestProperty("Content-Type", "application/json");
connection.connect();
DataOutputStream out = new DataOutputStream(connection.getOutputStream());
out.write(requestJson.getBytes("utf-8"));
out.flush();
out.close();
reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String lines;
StringBuffer sb = new StringBuffer("");
while ((lines = reader.readLine()) != null) {
lines = new String(lines.getBytes(), "utf-8");
sb.append(lines);
}
//you can use for function request anyone url 1000 times, look the server log and client log, you can see like this client 1000 time request , server receive larger than 1000 times;
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
ban retry;
SUPPORT :
YES