[ 
https://issues.apache.org/jira/browse/GEODE-2886?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16114604#comment-16114604
 ] 

ASF GitHub Bot commented on GEODE-2886:
---------------------------------------

Github user upthewaterspout commented on a diff in the pull request:

    https://github.com/apache/geode/pull/609#discussion_r131433628
  
    --- Diff: 
geode-lucene/src/main/java/org/apache/geode/cache/lucene/internal/distributed/WaitUntilFlushedFunction.java
 ---
    @@ -85,8 +72,10 @@ public void execute(FunctionContext context) {
           }
     
         } else {
    -      throw new IllegalArgumentException(
    +      IllegalStateException illegalStateException = new 
IllegalStateException(
               "The AEQ does not exist for the index " + indexName + " region " 
+ region.getFullPath());
    +      logger.error(illegalStateException.getMessage());
    --- End diff --
    
    I think it would be better here to just throw the IllegalStateException. 
That makes it clear that we intend the exception to propagate back to the 
caller.
    
    Based on what I've seen from my testing, calling 
resultSender.lastResult(new IllegalStateException()) will behave the same as 
throwing the exception: on the remote side ResultCollector.getResult throws an 
exception. However, I think that is kind of weird, whereas it makes sense that 
if you throw an exception in the function it will propagate back as an 
exception on the remote side. 


> The WaitUntilFlushedFunction throws an IllegalArgumentException instead of an 
> IllegalStateException
> ---------------------------------------------------------------------------------------------------
>
>                 Key: GEODE-2886
>                 URL: https://issues.apache.org/jira/browse/GEODE-2886
>             Project: Geode
>          Issue Type: Bug
>          Components: lucene
>            Reporter: Barry Oglesby
>            Assignee: Amey Barve
>
> When the AEQ doesn't exist, the WaitUntilFlushedFunction throws an 
> IllegalArgumentException like:
> {noformat}
> Caused by: java.lang.IllegalArgumentException: The AEQ does not exist for the 
> index xxx region /yyy
>     at 
> org.apache.geode.cache.lucene.internal.distributed.WaitUntilFlushedFunction.execute(WaitUntilFlushedFunction.java:89)
>     at 
> org.apache.geode.internal.cache.execute.AbstractExecution.executeFunctionLocally(AbstractExecution.java:333)
> {noformat}
> The arguments are actually fine so should it instead throw an 
> IllegalStateException?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to