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