[jira] [Commented] (IGNITE-7088) Wrong implementation of DIRECT comparator for ordering cache start operations
[ https://issues.apache.org/jira/browse/IGNITE-7088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16281799#comment-16281799 ] ASF GitHub Bot commented on IGNITE-7088: Github user asfgit closed the pull request at: https://github.com/apache/ignite/pull/3136 > Wrong implementation of DIRECT comparator for ordering cache start operations > - > > Key: IGNITE-7088 > URL: https://issues.apache.org/jira/browse/IGNITE-7088 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.3 >Reporter: Evgenii Zhuravlev >Assignee: Evgenii Zhuravlev >Priority: Critical > Fix For: 2.4 > > > {code:java} > java.lang.IllegalArgumentException: Comparison method violates its general > contract! > at java.util.TimSort.mergeHi(TimSort.java:899) ~[?:1.8.0_102] > at java.util.TimSort.mergeAt(TimSort.java:516) ~[?:1.8.0_102] > at java.util.TimSort.mergeForceCollapse(TimSort.java:457) ~[?:1.8.0_102] > at java.util.TimSort.sort(TimSort.java:254) ~[?:1.8.0_102] > at java.util.Arrays.sort(Arrays.java:1512) ~[?:1.8.0_102] > at java.util.ArrayList.sort(ArrayList.java:1454) ~[?:1.8.0_102] > at java.util.Collections.sort(Collections.java:175) ~[?:1.8.0_102] > at > org.apache.ignite.internal.processors.cache.ClusterCachesInfo.orderedCaches(ClusterCachesInfo.java:1616) > ~[ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.processors.cache.ClusterCachesInfo.cachesReceivedFromJoin(ClusterCachesInfo.java:839) > ~[ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.processors.cache.GridCacheProcessor.startReceivedCaches(GridCacheProcessor.java:1709) > ~[ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:606) > [ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2278) > [ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) > [ignite-core-2.1.7.jar:2.1.7] > at java.lang.Thread.run(Thread.java:745) [?:1.8.0_102] > {code} > When 2 not user caches will be compared using this comparator, this above > exception will be thrown. > As a workaround can be used system variable > -Djava.util.Arrays.useLegacyMergeSort=true -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-7088) Wrong implementation of DIRECT comparator for ordering cache start operations
[ https://issues.apache.org/jira/browse/IGNITE-7088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16281555#comment-16281555 ] Alexey Goncharuk commented on IGNITE-7088: -- Looks good to me. > Wrong implementation of DIRECT comparator for ordering cache start operations > - > > Key: IGNITE-7088 > URL: https://issues.apache.org/jira/browse/IGNITE-7088 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.3 >Reporter: Evgenii Zhuravlev >Assignee: Evgenii Zhuravlev >Priority: Critical > Fix For: 2.4 > > > {code:java} > java.lang.IllegalArgumentException: Comparison method violates its general > contract! > at java.util.TimSort.mergeHi(TimSort.java:899) ~[?:1.8.0_102] > at java.util.TimSort.mergeAt(TimSort.java:516) ~[?:1.8.0_102] > at java.util.TimSort.mergeForceCollapse(TimSort.java:457) ~[?:1.8.0_102] > at java.util.TimSort.sort(TimSort.java:254) ~[?:1.8.0_102] > at java.util.Arrays.sort(Arrays.java:1512) ~[?:1.8.0_102] > at java.util.ArrayList.sort(ArrayList.java:1454) ~[?:1.8.0_102] > at java.util.Collections.sort(Collections.java:175) ~[?:1.8.0_102] > at > org.apache.ignite.internal.processors.cache.ClusterCachesInfo.orderedCaches(ClusterCachesInfo.java:1616) > ~[ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.processors.cache.ClusterCachesInfo.cachesReceivedFromJoin(ClusterCachesInfo.java:839) > ~[ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.processors.cache.GridCacheProcessor.startReceivedCaches(GridCacheProcessor.java:1709) > ~[ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:606) > [ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2278) > [ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) > [ignite-core-2.1.7.jar:2.1.7] > at java.lang.Thread.run(Thread.java:745) [?:1.8.0_102] > {code} > When 2 not user caches will be compared using this comparator, this above > exception will be thrown. > As a workaround can be used system variable > -Djava.util.Arrays.useLegacyMergeSort=true -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-7088) Wrong implementation of DIRECT comparator for ordering cache start operations
[ https://issues.apache.org/jira/browse/IGNITE-7088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16280474#comment-16280474 ] Evgenii Zhuravlev commented on IGNITE-7088: --- Folks, please review my fix. TC looks good: https://ci.ignite.apache.org/project.html?projectId=Ignite20Tests&branch_Ignite20Tests=pull%2F3136%2Fhead > Wrong implementation of DIRECT comparator for ordering cache start operations > - > > Key: IGNITE-7088 > URL: https://issues.apache.org/jira/browse/IGNITE-7088 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.3 >Reporter: Evgenii Zhuravlev >Assignee: Evgenii Zhuravlev >Priority: Critical > Fix For: 2.4 > > > {code:java} > java.lang.IllegalArgumentException: Comparison method violates its general > contract! > at java.util.TimSort.mergeHi(TimSort.java:899) ~[?:1.8.0_102] > at java.util.TimSort.mergeAt(TimSort.java:516) ~[?:1.8.0_102] > at java.util.TimSort.mergeForceCollapse(TimSort.java:457) ~[?:1.8.0_102] > at java.util.TimSort.sort(TimSort.java:254) ~[?:1.8.0_102] > at java.util.Arrays.sort(Arrays.java:1512) ~[?:1.8.0_102] > at java.util.ArrayList.sort(ArrayList.java:1454) ~[?:1.8.0_102] > at java.util.Collections.sort(Collections.java:175) ~[?:1.8.0_102] > at > org.apache.ignite.internal.processors.cache.ClusterCachesInfo.orderedCaches(ClusterCachesInfo.java:1616) > ~[ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.processors.cache.ClusterCachesInfo.cachesReceivedFromJoin(ClusterCachesInfo.java:839) > ~[ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.processors.cache.GridCacheProcessor.startReceivedCaches(GridCacheProcessor.java:1709) > ~[ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:606) > [ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2278) > [ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) > [ignite-core-2.1.7.jar:2.1.7] > at java.lang.Thread.run(Thread.java:745) [?:1.8.0_102] > {code} > When 2 not user caches will be compared using this comparator, this above > exception will be thrown. > As a workaround can be used system variable > -Djava.util.Arrays.useLegacyMergeSort=true -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (IGNITE-7088) Wrong implementation of DIRECT comparator for ordering cache start operations
[ https://issues.apache.org/jira/browse/IGNITE-7088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16277022#comment-16277022 ] ASF GitHub Bot commented on IGNITE-7088: GitHub user ezhuravl opened a pull request: https://github.com/apache/ignite/pull/3136 IGNITE-7088 Fix implementation of DIRECT comparator for ordering caches You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-7088 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/3136.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #3136 commit bf7f857d15e17ab27ffcc2b5448160a72d481045 Author: ezhuravl Date: 2017-12-04T16:09:36Z IGNITE-7088 Fix implementation of DIRECT comparator for ordering cache start operations > Wrong implementation of DIRECT comparator for ordering cache start operations > - > > Key: IGNITE-7088 > URL: https://issues.apache.org/jira/browse/IGNITE-7088 > Project: Ignite > Issue Type: Bug >Affects Versions: 2.3 >Reporter: Evgenii Zhuravlev >Assignee: Evgenii Zhuravlev >Priority: Critical > Fix For: 2.4 > > > {code:java} > java.lang.IllegalArgumentException: Comparison method violates its general > contract! > at java.util.TimSort.mergeHi(TimSort.java:899) ~[?:1.8.0_102] > at java.util.TimSort.mergeAt(TimSort.java:516) ~[?:1.8.0_102] > at java.util.TimSort.mergeForceCollapse(TimSort.java:457) ~[?:1.8.0_102] > at java.util.TimSort.sort(TimSort.java:254) ~[?:1.8.0_102] > at java.util.Arrays.sort(Arrays.java:1512) ~[?:1.8.0_102] > at java.util.ArrayList.sort(ArrayList.java:1454) ~[?:1.8.0_102] > at java.util.Collections.sort(Collections.java:175) ~[?:1.8.0_102] > at > org.apache.ignite.internal.processors.cache.ClusterCachesInfo.orderedCaches(ClusterCachesInfo.java:1616) > ~[ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.processors.cache.ClusterCachesInfo.cachesReceivedFromJoin(ClusterCachesInfo.java:839) > ~[ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.processors.cache.GridCacheProcessor.startReceivedCaches(GridCacheProcessor.java:1709) > ~[ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:606) > [ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2278) > [ignite-core-2.1.7.jar:2.1.7] > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) > [ignite-core-2.1.7.jar:2.1.7] > at java.lang.Thread.run(Thread.java:745) [?:1.8.0_102] > {code} > When 2 not user caches will be compared using this comparator, this above > exception will be thrown. > As a workaround can be used system variable > -Djava.util.Arrays.useLegacyMergeSort=true -- This message was sent by Atlassian JIRA (v6.4.14#64029)