0

After enabling subscription conflate in my regions, I saw increment negative number (-XXXXX) in the queue size field in the Member Client Table in GemFire Pulse Website. Any reason that the negative number appear in the queue size field?

  • GemFire Version : 9.8.6
  • Number of Regions : 1
  • 1 Client Application updating regions every 0.5 seconds (Caching Proxy)
  • 1 Client Application reading data from regions (Caching Proxy - Register interest for all keys)
  • 1 Locators and 1 Cache Server in same virtual machine

Queue Size. The size of the queue used by server to send events in case of a subscription enabled client or a client that has continuous queries running on the server. [https://gemfire.docs.pivotal.io/910/geode/developing/events/tune_client_message_tracking_timeout.html].

Additional Discovery

Pulse Website (Negative Number in Queue Size)

enter image description here

JConsole (showClientQueueDetail)

(numVoidRemovals (4486)

enter image description here

enter image description here

@ClientCacheApplication(locators = {
@ClientCacheApplication.Locator(host = "192.168.208.20", port = 10311) }, name = "Reading-Testing", subscriptionEnabled = true)
@EnableEntityDefinedRegions(basePackageClasses = Person.class, clientRegionShortcut = ClientRegionShortcut.CACHING_PROXY, poolName = "SecondPool")
@EnableGemfireRepositories(basePackageClasses = PersonRepository.class)
@EnablePdx
@Import({ GemfireCommonPool.class })
public class PersonDataAccess {
  ....
}

@Configuration
public class GemfireCommonPool {

@Bean("SecondPool")
public Pool init() {
    PoolFactory poolFactory = PoolManager.createFactory();
    poolFactory.setPingInterval(8000);
    poolFactory.setRetryAttempts(-1);
    poolFactory.setMaxConnections(-1);
    poolFactory.setReadTimeout(30000);
    poolFactory.addLocator("192.168.208.20", 10311);
    poolFactory.setSubscriptionEnabled(true);
    return poolFactory.create("SecondPool");
}

}

Additonal Discovery 2

When i remove the poolName field in @EnableEntityDefinedRegions, I found out that the pulse website does not display negative number for the queue size. However, in the showClientQueueDetail, it display negative number for queue size.

enter image description here

enter image description here

enter image description here

Is it my coding error or conflate issue?

Thank you so much.

John Blum
  • 7,381
  • 1
  • 20
  • 30
Jack
  • 89
  • 6
  • Hello Jack, it might be that the `MBean` is returning an invalid value or that the actual value is too large and the internal `Integer` used to store this information has overflowed, I can't tell for sure from just the description... would you be able to open a ticket within the [Geode Jira Project](https://issues.apache.org/jira/projects/GEODE) and attach the relevant artefacts (logs, `pulse` print screen, reproducible scenario if you have one, etc.). – Juan Ramos Aug 18 '20 at 08:25
  • When I removed the subscription conflate in the cache server XML, it is back to normal (no have negative number). So I suspect it is subscription conflate setting.. Also, the negative number occured when I immediately start the application.. The positive integer range is to 2147483647. So I think should no be the case that the actual value is greater than internal Integer. I try to see whether I can reproducible the scenario at home then open a ticket. Do you know which MBean ? – Jack Aug 18 '20 at 12:05
  • Hello Jack, I believe the `MXBean` used is `CacheServerMXBean`, specifically the `showAllClientStats` and `showClientQueueDetails` methods. – Juan Ramos Aug 19 '20 at 08:09
  • Hi @JuanRamos , Is it my coding error or conflate issue? Is it normal that a application has two subscriptions (two queue detail- different port number)? – Jack Aug 23 '20 at 09:13

0 Answers0