]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-7307 retrieve only one row when polling queue table
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Mon, 21 Mar 2016 16:37:45 +0000 (17:37 +0100)
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Wed, 23 Mar 2016 08:35:43 +0000 (09:35 +0100)
sonar-db/src/main/java/org/sonar/db/ce/CeQueueDao.java
sonar-db/src/main/java/org/sonar/db/ce/CeQueueMapper.java
sonar-db/src/test/java/org/sonar/db/ce/CeQueueDaoTest.java

index 2ed1b66f5ec8dd127cb2aab6f815d179731b48b2..9670c8c80682a494204caa8a2dc695bdd581c2f0 100644 (file)
@@ -33,6 +33,8 @@ import static org.sonar.db.ce.CeQueueDto.Status.PENDING;
 
 public class CeQueueDao implements Dao {
 
+  private static final RowBounds ONE_ROW_LIMIT = new RowBounds(0, 1);
+
   private final System2 system2;
 
   public CeQueueDao(System2 system2) {
@@ -107,7 +109,7 @@ public class CeQueueDao implements Dao {
   }
 
   public Optional<CeQueueDto> peek(DbSession session) {
-    List<String> taskUuids = mapper(session).selectEligibleForPeek();
+    List<String> taskUuids = mapper(session).selectEligibleForPeek(ONE_ROW_LIMIT);
     if (taskUuids.isEmpty()) {
       return Optional.absent();
     }
index 64bcadb1cb73942cfff69bbbcfb1ab1a9a77e5ce..62fca4a7ff195f517e7903d2cf65c461a2c04d14 100644 (file)
@@ -35,7 +35,7 @@ public interface CeQueueMapper {
 
   int countByQuery(@Param("query") CeTaskQuery query);
 
-  List<String> selectEligibleForPeek();
+  List<String> selectEligibleForPeek(RowBounds rowBounds);
 
   @CheckForNull
   CeQueueDto selectByUuid(@Param("uuid") String uuid);
index ec970533b14e3e42bd74a4196e3dd655c94ec1b0..479bd23bf76a7abbd99d0170c43eb3e84e2fb910 100644 (file)
@@ -55,7 +55,7 @@ public class CeQueueDaoTest {
   public DbTester db = DbTester.create(system2);
 
   private CeQueueDao underTest = new CeQueueDao(system2);
-  public static final String SELECT_QUEUE_UUID_AND_STATUS_QUERY = "select uuid,status from ce_queue";
+  private static final String SELECT_QUEUE_UUID_AND_STATUS_QUERY = "select uuid,status from ce_queue";
 
   @Test
   public void test_insert() {