Skip to content

Commit 7c953f9

Browse files
committed
Add test that covers UnsafeShuffleSortDataFormat.swap().
1 parent e1855e5 commit 7c953f9

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

core/src/test/java/org/apache/spark/shuffle/unsafe/UnsafeShuffleSorterSuite.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
package org.apache.spark.shuffle.unsafe;
1919

2020
import java.util.Arrays;
21+
import java.util.Random;
2122

2223
import org.junit.Assert;
2324
import org.junit.Test;
@@ -107,4 +108,25 @@ public void testBasicSorting() throws Exception {
107108
}
108109
Assert.assertFalse(iter.hasNext());
109110
}
111+
112+
@Test
113+
public void testSortingManyNumbers() throws Exception {
114+
UnsafeShuffleSorter sorter = new UnsafeShuffleSorter(4);
115+
int[] numbersToSort = new int[128000];
116+
Random random = new Random(16);
117+
for (int i = 0; i < numbersToSort.length; i++) {
118+
numbersToSort[i] = random.nextInt(PackedRecordPointer.MAXIMUM_PARTITION_ID);
119+
sorter.insertRecord(0, numbersToSort[i]);
120+
}
121+
Arrays.sort(numbersToSort);
122+
int[] sorterResult = new int[numbersToSort.length];
123+
UnsafeShuffleSorter.UnsafeShuffleSorterIterator iter = sorter.getSortedIterator();
124+
int j = 0;
125+
while (iter.hasNext()) {
126+
iter.loadNext();
127+
sorterResult[j] = iter.packedRecordPointer.getPartitionId();
128+
j += 1;
129+
}
130+
Assert.assertArrayEquals(numbersToSort, sorterResult);
131+
}
110132
}

0 commit comments

Comments
 (0)