-
Bug
-
Resolution: Fixed
-
P3
-
17, 18, 19, 20, 21
-
b06
-
generic
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8312888 | 21.0.1 | Hannes Wallnoefer | P3 | Resolved | Fixed | b04 |
JDK-8311577 | 21 | Hannes Wallnoefer | P3 | Resolved | Fixed | b31 |
The index item comparator is a composite comparator which uses different sub-comparators for specific pairs of items being compared. The problem is that the element sub-comparator uses the qualified or simple element name as comparison key, while the sub-comparators that compare search tags or search tags to elements use the item label as key.
For example, consider the following index items:
- class "Date"
- method "date()"
- search tag "Date/Time"
The element comparator uses the simple element name for methods and classes, thus compares "date" to "Date" when comparing the method to the class. Because of collation rules it determines that "date" < "Date".
The label comparator uses the item label when comparing a search tag to an element, therefore it compares "date()" to "Date/Time" when comparing the method to the search tag, and "Date" to "Date/Time" when comparing the search tag to the class. Because of collation rules, it determines that "date()" > "Date/Time" and "Date/Time" > "Date". By the rule of transitivity, this implies that "date()" > "Date", which is the opposite of what the element comparator returned in direct comparison.
This bug was triggered by
- backported by
-
JDK-8311577 JavaDoc index comparator is not transitive
-
- Resolved
-
-
JDK-8312888 JavaDoc index comparator is not transitive
-
- Resolved
-
- duplicates
-
JDK-8309233 linux-x64-cmp-baseline fails with api/index-files/index-14.html
-
- Closed
-
- relates to
-
JDK-8286470 Support searching for sections in class/package javadoc
-
- Resolved
-
-
JDK-8309233 linux-x64-cmp-baseline fails with api/index-files/index-14.html
-
- Closed
-
- links to
-
Commit openjdk/jdk21/fb7fd581
-
Commit openjdk/jdk/0741cd32
-
Review openjdk/jdk21/100
-
Review openjdk/jdk/14776