Hi, Anton.
Why "unknown/flavor" is before "text/plain" in the fixed version?
text/plain; class=java.io.Serializable; charset=unicode
text/html; class=java.io.Serializable; charset=unicode
unknown/flavor; class=java.io.InputStream
unknown/flavor; class=java.lang.Object
text/unknown; class=java.lang.Object; charset=unicode
text/unknown; class=java.lang.Object
text/plain; class=java.lang.Object; charset=unicode
text/plain; class=java.lang.Object
On 19.09.2014 15:58, anton nashatyrev wrote:
Hi Sergey,
On 18.09.2014 17:30, Sergey Bylokhov wrote:
- Can you try to change sort TimSort algorithm to mergerSort. What
the order will be in this case ?(see JDK-8048887).
The mergeSort seems to be more relaxed regarding the Comparator
correctness (BTW TimSort also doesn't fail each time - this depends on
initial elements positions). The order of course is not correct with
the incorrect comparator:
MergeSort with current comparator Merge/TimSort with fixed Comparator
--------------------------------- -----------------------------------
application/unknown; class=java.io.InputStream application/unknown;
class=java.io.InputStream
application/unknown; class=java.io.InputStream application/unknown;
class=java.io.InputStream
application/unknown; class=java.lang.Object application/unknown;
class=java.lang.Object
application/x-java-jvm-local-objectref; class=java.io.InputStream
application/x-java-jvm-local-objectref; class=java.io.InputStream
application/x-java-jvm-local-objectref; class=java.io.InputStream
application/x-java-jvm-local-objectref; class=java.io.InputStream
application/x-java-jvm-local-objectref; class=java.lang.Object
application/x-java-jvm-local-objectref; class=java.lang.Object
text/unknown; class=java.io.Serializable; charset=unicode
text/html; class=java.io.Reader
text/plain; class=java.io.Serializable; charset=unicode
text/html; class=java.lang.String
text/html; class=java.io.Serializable; charset=unicode
text/html; class=java.io.InputStream; charset=unicode
unknown/flavor; class=java.io.InputStream
text/html; class=java.io.InputStream; charset=unicode
unknown/flavor; class=java.io.InputStream
text/html; class=java.io.InputStream
text/html; class=java.io.Reader text/html;
class=java.io.InputStream; charset=cp1251
text/html; class=java.lang.String text/plain; class=java.io.Reader
text/html; class=java.io.InputStream; charset=unicode
text/plain; class=java.lang.String
text/html; class=java.io.InputStream; charset=unicode
text/plain; class=java.io.InputStream; charset=unicode
text/html; class=java.io.InputStream text/plain;
class=java.io.InputStream; charset=unicode
text/html; class=java.io.InputStream; charset=cp1251
text/plain; class=java.io.InputStream
text/plain; class=java.io.InputStream; charset=unicode
text/plain; class=java.io.InputStream; charset=cp1251
text/plain; class=java.io.InputStream; charset=unicode
text/unknown; class=java.io.Reader
text/plain; class=java.io.InputStream text/unknown;
class=java.lang.String
text/plain; class=java.io.InputStream; charset=cp1251
text/unknown; class=java.io.InputStream; charset=unicode
text/unknown; class=java.io.InputStream; charset=unicode
text/unknown; class=java.io.InputStream; charset=unicode
text/unknown; class=java.io.InputStream; charset=cp1251
text/unknown; class=java.io.InputStream
unknown/flavor; class=java.lang.Object
text/unknown; class=java.io.InputStream; charset=cp1251
text/unknown; class=java.lang.Object; charset=unicode
text/unknown; class=java.io.Serializable; charset=unicode
text/unknown; class=java.io.Reader
text/plain; class=java.io.Serializable; charset=unicode
text/unknown; class=java.lang.String
text/html; class=java.io.Serializable; charset=unicode
text/unknown; class=java.io.InputStream; charset=unicode
unknown/flavor; class=java.io.InputStream
text/unknown; class=java.io.InputStream unknown/flavor;
class=java.io.InputStream
text/unknown; class=java.lang.Object unknown/flavor;
class=java.lang.Object
text/plain; class=java.lang.String text/unknown;
class=java.lang.Object; charset=unicode
text/plain; class=java.lang.Object; charset=unicode
text/unknown; class=java.lang.Object
text/plain; class=java.lang.Object text/plain;
class=java.lang.Object; charset=unicode
text/plain; class=java.io.Reader text/plain; class=java.lang.Object
text/html; class=java.lang.Object; charset=unicode
text/html; class=java.lang.Object; charset=unicode
text/html; class=java.lang.Object text/html; class=java.lang.Object
- Can you run all related regression and jck tests.
Executed all 'datatransfer' regression and JCK tests - no regressions
detected.
Thanks.
On 18.09.2014 17:04, anton nashatyrev wrote:
Hello,
could you please review the following fix:
fix: http://cr.openjdk.java.net/~anashaty/8058473/9/webrev.00/
<http://cr.openjdk.java.net/%7Eanashaty/8058473/9/webrev.00/>
bug: https://bugs.openjdk.java.net/browse/JDK-8058473
Problem: DataFlavorComparator violates Comparator contract.
Fix: make the DataFlavorComparator transitive conformant (please
see the bug comment for details)
Thanks!
Anton.
--
Best regards, Sergey.