Browse Source

generate sorted ids + set different randomNumber on update (#5240)

jcheron 5 years ago
parent
commit
7ea86d7660

+ 6 - 1
frameworks/Java/act/src/main/java/com/techempower/act/controller/WorldController.java

@@ -90,6 +90,7 @@ public class WorldController {
             .ints(1, WORLD_MAX_ROW + 1)
             .distinct()
             .limit(q)
+            .sorted()
             .mapToObj(id -> findAndModifyOne(id))
             .collect(Collectors.toCollection(ArrayList::new));
         if (BATCH_SAVE) {
@@ -105,7 +106,11 @@ public class WorldController {
     private World findAndModifyOne(int id) {
         World world = dao.findById(id);
         notFoundIfNull(world);
-        world.randomNumber = randomWorldNumber();
+        int newNumber;
+        do {
+            newNumber = randomWorldNumber();
+        } while (newNumber == world.randomNumber);
+        world.randomNumber = newNumber;
         return BATCH_SAVE ? world : dao.save(world);
     }