[ 
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 `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.

 

  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:
{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.

 


> 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 `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