Get error when try use sort on large array (81 elements)
java.lang.IllegalArgumentException: Comparison method violates its general contract!
at java.base/java.util.TimSort.mergeHi(TimSort.java:903)
at java.base/java.util.TimSort.mergeAt(TimSort.java:520)
at java.base/java.util.TimSort.mergeForceCollapse(TimSort.java:461)
at java.base/java.util.TimSort.sort(TimSort.java:254)
at java.base/java.util.Arrays.sort(Arrays.java:1308)
at java.base/java.util.ArrayList.sort(ArrayList.java:1804)
at com.dashjoin.jsonata/com.dashjoin.jsonata.Functions.sort(Functions.java:2001)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at com.dashjoin.jsonata/com.dashjoin.jsonata.Functions.call(Functions.java:2213)
at com.dashjoin.jsonata/com.dashjoin.jsonata.Jsonata$JFunction.call(Jsonata.java:2231)
at com.dashjoin.jsonata/com.dashjoin.jsonata.Jsonata.applyInner(Jsonata.java:1741)
at com.dashjoin.jsonata/com.dashjoin.jsonata.Jsonata.apply(Jsonata.java:1673)
at com.dashjoin.jsonata/com.dashjoin.jsonata.Jsonata.evaluateFunction(Jsonata.java:1643)
at com.dashjoin.jsonata/com.dashjoin.jsonata.Jsonata._evaluate(Jsonata.java:192)
at com.dashjoin.jsonata/com.dashjoin.jsonata.Jsonata.evaluate(Jsonata.java:132)
at com.dashjoin.jsonata/com.dashjoin.jsonata.Jsonata.evaluate(Jsonata.java:2603)
at com.dashjoin.jsonata/com.dashjoin.jsonata.Jsonata.evaluate(Jsonata.java:2564)
at com.dashjoin.jsonata/com.dashjoin.jsonata.ArrayTest.testSort2(ArrayTest.java:90)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
For test:
data as json file: test.json
function: $sort($, function($l, $r){$l.*.rank < $r.*.rank})
in jsonata onlyne work fine: https://try.jsonata.org/Of91H7T0M
Get error when try use sort on large array (81 elements)
For test:
data as json file: test.json
function:
$sort($, function($l, $r){$l.*.rank < $r.*.rank})in jsonata onlyne work fine: https://try.jsonata.org/Of91H7T0M