Mario Salazar de Torres created GEODE-10400:
-----------------------------------------------

             Summary: Function execution triggering internal exception
                 Key: GEODE-10400
                 URL: https://issues.apache.org/jira/browse/GEODE-10400
             Project: Geode
          Issue Type: Bug
          Components: native client
            Reporter: Mario Salazar de Torres


*GIVEN* a cluster with at least 3 members
*AND* a partitioned region with 1 redundant-copy
*AND* a server function called *JustAFunction* with isHA=false, hasResult=true, 
optimizeForWrite=true
*AND* a native client configured to connect to the above cluster with a pool 
using PR-Single-Hop=true
*WHEN* *JustAFunction* is executed with onRegion and no filters
*IF* the client has partial metadata due to the cluster starting up or a 
rebalance occurring
*THEN* and exception of type 
*"org.apache.geode.internal.cache.execute.InternalFunctionInvocationTargetException:
 Multiple target nodes found for single hop operation"* is thrown by one of the 
servers
---
*Additional information.* Currently, in geode-native whenever the metadata 
information is incomplete, and the user tries to execute the server function 
with onRegion and no filters, a request of type 
EXECUTE_REGION_FUNCTION_SINGLE_HOP is sent to each node.
But the issue is that bucket partition used by the client is incorrect, leading 
consequently to the mentioned exception.

*Potential solution.* The potential solution would be to detect that the 
metadata is incomplete before actually executing the function and send a 
EXECUTE_REGION_FUNCTION request to one of the cluster nodes instead.




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to