-
Bug
-
Resolution: Fixed
-
P3
-
11
-
b19
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8205755 | 11.0.1 | Chris Hegarty | P3 | Resolved | Fixed | team |
1) Make HttpHeaders final
The abstract HttpHeader class has been made final, with a factory method for its construction. By eliminating a narrow, likely uncommon performance optimization possibility, it has been possible to make HttpHeaders final.
2) Dependent tasks run in the common pool
The default execution of dependent tasks has been updated to run in the same executor as that of CompletableFuture's defaultExecutor. This is more familiar to developers that already use CF, and reduces the likelihood of the HTTP Client being starved of threads to execute its tasks. This is just default behaviour, both the HTTP Client and CompletableFuture allow more fine-grain control, if needed.
3) More descriptive error messages have been added when a server misbehaves.
4) The synchronous send method error handling has been updated to rethrow exceptions, therefore including the invoking thread's stack in the exception stack trace.
5) The immutable flow of response body data has been made an implementation detail, rather than part of the normative specification. This allows for a more performance focused implementation by making it possible to access the byte buffers backing bytes directly.
The abstract HttpHeader class has been made final, with a factory method for its construction. By eliminating a narrow, likely uncommon performance optimization possibility, it has been possible to make HttpHeaders final.
2) Dependent tasks run in the common pool
The default execution of dependent tasks has been updated to run in the same executor as that of CompletableFuture's defaultExecutor. This is more familiar to developers that already use CF, and reduces the likelihood of the HTTP Client being starved of threads to execute its tasks. This is just default behaviour, both the HTTP Client and CompletableFuture allow more fine-grain control, if needed.
3) More descriptive error messages have been added when a server misbehaves.
4) The synchronous send method error handling has been updated to rethrow exceptions, therefore including the invoking thread's stack in the exception stack trace.
5) The immutable flow of response body data has been made an implementation detail, rather than part of the normative specification. This allows for a more performance focused implementation by making it possible to access the byte buffers backing bytes directly.
- backported by
-
JDK-8205755 HTTP Client refresh
- Resolved
- csr for
-
JDK-8204863 HTTP Client refresh
- Closed
- relates to
-
JDK-8197564 HTTP Client implementation
- Resolved
-
JDK-8209943 HttpClient.Builder::executor minor spec correction for dependent tasks
- Open
-
JDK-8257707 Fix incorrect format string in Http1HeaderParser
- Resolved