MaxQueryDescription Attribute Displays Too Much Information When a Filter Based on InKeySetFilter is Used (Doc ID 1436610.1)

Last updated on NOVEMBER 03, 2016

Applies to:

Oracle Coherence - Version: 3.7.1 to 3.7.1.3 - Release: AS10g to AS10g
Information in this document applies to any platform.

Goal

There might be a scenario when we run a query against a cache using a InKeySetFilter. It is not strange if it involves inserting tens of thousands of keys into this filter. Whenever this query takes longer to run than the set threshold, the JMX MaxQueryDescription attribute (of StorageMBean) for this particular cache would show the query information. This query information includes the value of each key.

Here, we might see this attribute taking several hundred megabytes of memory (say x MB data) to store this information for a single coherence data node. So if we have 'y' number of nodes, then each node would use same amount of memory to store this data. This is one dimension of problem.

The other one could be that if we are using a JMX monitoring utility (like JConsole) to view the Coherence JMX metrics. Under the given scenario, all of the data nodes would start sending this attribute (MaxQueryDescription) to the JMX utility and the data could be overwhelming (x*y MB ). It would also use up lot of network bandwidth to transfer x*y MB amount of data to the machine where the monitoring utility is located.

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms