virajjasani commented on PR #1724:
URL: https://github.com/apache/phoenix/pull/1724#issuecomment-1783362587

   > @virajjasani Thinking what changed from this PR #1697 ?
   
   this is the main diff:
   
   ```
       public static void verifyKeyInScanRange(ImmutableBytesWritable ptr,
                                               Scan scan,
                                               Tuple tuple)
               throws ResultSetOutOfScanRangeException {
           if ((tuple.size() == 1 && tuple.getValue(SINGLE_COLUMN_FAMILY, 
SINGLE_COLUMN) != null)
                   || (tuple.size() == 1 && tuple.getValue(OFFSET_FAMILY, 
OFFSET_COLUMN) != null)
                   || isDummy(tuple)) {
               return;
           }
           if (isLocalIndex(scan)) {
               verifyScanRanges(ptr, scan, 
scan.getAttribute(SCAN_START_ROW_SUFFIX),
                       scan.getAttribute(SCAN_STOP_ROW_SUFFIX));
           } else {
               try {
                   verifyScanRanges(ptr, scan, scan.getStartRow(), 
scan.getStopRow());
               } catch (ResultSetOutOfScanRangeException e) {
                   // required for Salt Buckets scan boundary changes
                   verifyScanRanges(ptr, scan, 
scan.getAttribute(SCAN_ACTUAL_START_ROW),
                           scan.getStopRow());
               }
           }
       }
   ```
   
   Basically, we need to take care of these cases:
   
   - Aggregate scan results
   - Offset based results
   - Dummy cell
   - Local index scan boundary changes
   - Salt table scan boundary changes
   
   But anyways, fixing group by aggregator cases is required at server side for 
data integrity issues. I just wanted to exercise on how many cases we need to 
handle here. I am sure local index and salt table scan boundary changes might 
also need some careful considerations at server side.
   
   FYI @Divneet18, you can incorporate the changes and write a test with coproc 
that can return incorrect result so that we can test scan boundaries negative 
results.


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to