ignite-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GitBox <...@apache.org>
Subject [GitHub] [ignite] shuliga commented on a change in pull request #6917: IGNITE-12189 Implementation correct limit for TextQuery
Date Tue, 22 Oct 2019 14:28:56 GMT
shuliga commented on a change in pull request #6917: IGNITE-12189 Implementation correct limit
for TextQuery
URL: https://github.com/apache/ignite/pull/6917#discussion_r337552122
 
 

 ##########
 File path: modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryFutureAdapter.java
 ##########
 @@ -327,9 +331,15 @@ protected void onNodeLeft(UUID evtNodeId) {
     protected void enqueue(Collection<?> col) {
         assert Thread.holdsLock(this);
 
-        queue.add((Collection<R>)col);
-
-        cnt.addAndGet(col.size());
+        if(limitCnt <= 0 || limitCnt >= col.size()) {
+            queue.add((Collection<R>)col);
+            cnt.addAndGet(col.size());
+            limitCnt -= col.size();
+        } else {
+            int toAdd = limitCnt;
 
 Review comment:
   I this case let us set 'limitCnt'=0 as soon as we have first node's portion that fulfills
our limit. But arrived data from 2nd node still makes enqueue() to be called one more time.
For 'limitCnt' =0 the first condition will fire as if it is no-limit case (limit<=0 is
treated as no limit) what is not good specially here. So we need to add kind a 'limitReached'
flag, set it in 'else' block and check at the method entry. 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

Mime
View raw message