[
https://issues.apache.org/jira/browse/GEODE-8405?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Blake Bender updated GEODE-8405:
--------------------------------
Description:
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 `BuckeCount` 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.
was:
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:
```
{
"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"
}
}
}
```
The critical value here is `BuckeCount` 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.
> 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
>
> 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 `BuckeCount` 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)