Details
-
Bug
-
Resolution: Fixed
-
P2
-
hs23
-
b16
-
generic
-
generic
-
Not verified
Backports
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2221494 | 8 | Tony Printezis | P2 | Closed | Fixed | b27 |
JDK-2221535 | 7u4 | Tony Printezis | P2 | Closed | Fixed | b13 |
Description
It turns out that, under certain circumstances, G1 goes into "mixed GC" phase and does not come out of it in a timely manner. In some cases, several mixed GCs collect no old regions but are still considered "mixed". This, unfortunately, causes a serious issue: while we're in mixed GC mode we do not allow a new conc mark cycle to start. So, we have seen cases where a series of mixed GCs take place, the next cycle starts too late, and we end up with an evac failure / Full GC.
Many thanks to Charlie Hunt for discovering this.
Many thanks to Charlie Hunt for discovering this.
Attachments
Issue Links
- backported by
-
JDK-2221494 G1: mixed GC phase lasts for longer than it should
-
- Closed
-
-
JDK-2221535 G1: mixed GC phase lasts for longer than it should
-
- Closed
-
- relates to
-
JDK-7146246 G1: expose some of the -XX flags that drive which old regions to collect during mixed GCs
-
- Closed
-
-
JDK-7145441 G1: collection set chooser-related cleanup
-
- Resolved
-
-
JDK-7146242 G1: alternative heuristic on deciding which old regions not to collect
-
- Closed
-