keith-turner commented on code in PR #3431:
URL: https://github.com/apache/accumulo/pull/3431#discussion_r1207240039


##########
server/manager/src/main/java/org/apache/accumulo/manager/FateServiceHandler.java:
##########
@@ -740,6 +740,23 @@ public void executeFateOperation(TInfo tinfo, TCredentials 
c, long opid, FateOpe
             
.map(ByteBufferUtil::toText).collect(Collectors.toCollection(TreeSet::new));
 
         KeyExtent extent = new KeyExtent(tableId, endRow, prevEndRow);
+
+        if (splits.stream()
+            .anyMatch(split -> !extent.contains(split) || 
split.equals(extent.endRow()))) {
+          throw new ThriftTableOperationException(tableId.canonical(), null, 
tableOp,
+              TableOperationExceptionType.OTHER,
+              "Split is outside bounds of tablet or equal to the tablets 
endrow");
+        }

Review Comment:
   > Also, is this case (split out of bounds) covered by a test?
   
   This one is really tricky to test because would only see it in practice if 
the client code has bug.  If the client code is working properly it will only 
send rows that are within the extent.  So can not test this via API calls, 
would need to directly send bad data to the thrift API which is not something I 
am sure I want to do an IT because it would be a lot of code.



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