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

ASF subversion and git services commented on GEODE-8405:
--------------------------------------------------------

Commit 74c3fb0f6ebed17b4b69b13f1b929b0c0acc44a4 in geode-native's branch 
refs/heads/develop from Blake Bender
[ https://gitbox.apache.org/repos/asf?p=geode-native.git;h=74c3fb0 ]

GEODE-8405: Don't ask for metadata for replicated regions (#800)

Sending GET_CLIENT_PR_METADATA to a server for a replicated region generated an 
EXCEPTION response message, which the native client would then ignore. 
Convention in the Java client is to check for a bucket count of -1, indicating 
replicated region, and skip the metadata request in that case.

> Native Client asks for metadata for replicated region, causes server exception
> ------------------------------------------------------------------------------
>
>                 Key: GEODE-8405
>                 URL: https://issues.apache.org/jira/browse/GEODE-8405
>             Project: Geode
>          Issue Type: Bug
>          Components: native client
>            Reporter: Blake Bender
>            Priority: Major
>              Labels: pull-request-available
>
> For some reason, Geode Native is not checking region attributes on the server 
> prior to issuing a GET_CLIENT_PR_METADATA message.  It does, in fact, get the 
> region attributes from the server, as you can see from this message dump:
> {code:java}
> {
>   "Timestamp": "2020-08-05 15:37:42.595294",
>   "Connection": "0x7fb1f89042d0",
>   "Direction": "--->",
>   "Type": "GET_CLIENT_PARTITION_ATTRIBUTES",
>   "Length": 22,
>   "Parts": 1,
>   "TransactionId": -1,
>   "SecurityFlag": 0,
>   "RegionPart": {    
>     "Size": 17,     
>     "IsObject": 0,     
>     "Name": "/example_userinfo"   
>   }
> }
> ,{
>   "Timestamp": "15:37:42.595590",
>   "Connection": "0",
>   "Direction": "<---",
>   "Type": "RESPONSE_CLIENT_PARTITION_ATTRIBUTES",
>   "Length": 35,
>   "Parts": 2,
>   "TransactionId": -1,
>   "SecurityFlag": 0,
>   "BucketCount": {
>     "Size": 5,
>     "IsObject": 1,
>     "Data":{       
>       "DSCode": "CacheableInt32",
>       "Value": -1    
>     } 
>   },
>   "ColocatedWith": {
>     "Size": 20,
>     "IsObject": 1,
>     "Data":{
>        "DSCode": "CacheableASCIIString",
>        "StringLength": 17,
>        "Value": "/example_userinfo"
>     }
>   }
> }
>   {code}
>  
> The critical value here is `BucketCount` in the 
> `RESPONSE_CLIENT_PARTITION_ATTRIBUTES` message.  If this value is -1, the 
> region is replicated rather than partitioned, and we should not be querying 
> for PR metadata.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to