Hi Darrel,

Thanks for your response.
I will add comments to GEODE-2676 which shows the impact on show metrics
command and will create new JIRA for the double increment hit/miss issue.

Thanks,
Srikanth Manvi



On Tue, May 2, 2017 at 5:46 PM, Darrel Schneider <dschnei...@pivotal.io>
wrote:

> I think the problem on gfsh show metrics is caused by GEODE-2676. Since it
> talks about mbeans it would be helpful if you added to it how it impacts
> the gfsh show metrics command.
> Currently PartiionedRegions do not support hit/miss count. Vote
> for: GEODE-2685.
>
> I think the totalHit/Miss count incing by two instead of one is an unfiled
> bug. Internally PRs are implemented by both ParitionedRegion and
> BucketRegion. Perhaps each of these is incrementing.
>
>
> On Tue, May 2, 2017 at 2:15 PM, Srikanth Manvi <manv...@gmail.com> wrote:
>
> > Hello Geode Community,
> >
> >
> > I am creating 2 regions, one is of type=PARTITION and the other is of the
> > type=LOCAL and observe the following
> >
> > - "*totalHitCount"* and "*totalMissCount"* jumps by 2 for every hit/miss
> > for Partitioned region and it jumps by 1 for the local region. Is this by
> > design (if so, whats the reasoning behind it) or a bug ?
> >
> > - The *"hitCount"* and *"missCount"* for a partitioned region always
> > (at-least in my simple test) displays -1, So is there no way to know the
> > correct hit/miss counts for partitioned regions ?
> >
> > - When I run the *show metrics* command by specifying a member
> (*gfsh>show
> > metrics --region=/Customer_Partition --member=geode-server2*)  I get a
> NPE
> > (stacktrace below).
> >
> >
> > Please let me know if any of the above needs a JIRA, I can create one.
> >
> >
> > *gfsh>create region --name=Customer_Partition --enable-statistics=true
> > --type=PARTITION*
> >
> > *gfsh>create region --name=Customer_Local --enable-statistics=true
> > --type=LOCAL*
> > *gfsh>get --key=404 --region=/Customer_Partition*
> >
> > Result      : false
> >
> > *gfsh>show metrics*
> >
> > Cluster-wide Metrics
> >
> > Category  |        Metric         | Value
> >
> > --------- | --------------------- | -----
> >
> > cluster   | totalHeapSize         | 10923
> >
> > cache     | totalRegionEntryCount | 0
> >
> >           | totalRegionCount      | 5
> >
> > *          | totalMissCount        | 2*
> >
> >
> > *gfsh>get --key=404 --region=/Customer_Local*
> >
> > Result      : false
> >
> > *gfsh>show metrics*
> >
> > Cluster-wide Metrics
> >
> > Category  |        Metric         | Value
> >
> > --------- | --------------------- | -----
> >
> > cluster   | totalHeapSize         | 10923
> >
> > cache     | totalRegionEntryCount | 0
> >
> >           | totalRegionCount      | 5
> > *          | totalMissCount        | 3*
> >
> >
> > *gfsh>put --key=1 --value="1" --region=/Customer*
> > *gfsh>put --key=1 --value="1" --region=/Customer_Local*
> >
> >
> > gfsh>get --key=1 --region=/Customer_Partition
> > Result      : true
> >
> > *gfsh>show metrics --region=/Customer_Partition*
> > Cluster-wide Region Metrics
> >
> > Category  |            Metric            | Value
> > --------- | ---------------------------- | -----
> > cluster   | member count                 | 1
> >           | region entry count           | 1
> > region    | lastModifiedTime             | -1
> >           | lastAccessedTime             | -1
> > *          | missCount                    | -1*
> > *          | hitCount                     | -1*
> >           | hitRatio                     | -1
> >
> >
> > *gfsh>show metrics --region=/Customer_Partition --member=geode-server2*
> > Could not process command due to GemFire error.
> > #SBjava.lang.NullPointerException
> >     at com.sun.proxy.$Proxy81.getMissCount(Unknown Source)
> >     at
> > org.apache.geode.management.internal.cli.commands.MiscellaneousCommands.
> > getRegionMetricsFromMember(MiscellaneousCommands.java:1970)
> >     at
> > org.apache.geode.management.internal.cli.commands.MiscellaneousCommands.
> > showMetrics(MiscellaneousCommands.java:1200)
> >     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >     at
> > sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:
> > 62)
> >     at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:43)
> >     at java.lang.reflect.Method.invoke(Method.java:497)
> >     at
> > org.springframework.util.ReflectionUtils.invokeMethod(
> > ReflectionUtils.java:216)
> >     at
> > org.apache.geode.management.internal.cli.remote.RemoteExecutionStrategy.
> > execute(RemoteExecutionStrategy.java:91)
> >     at
> > org.apache.geode.management.internal.cli.remote.CommandProcessor.
> > executeCommand(CommandProcessor.java:117)
> >     at
> > org.apache.geode.management.internal.cli.remote.
> > CommandStatementImpl.process(CommandStatementImpl.java:71)
> >     at
> > org.apache.geode.management.internal.cli.remote.MemberCommandService.
> > processCommand(MemberCommandService.java:52)
> >     at
> > org.apache.geode.management.internal.beans.MemberMBeanBridge.
> > processCommand(MemberMBeanBridge.java:1639)
> >     at
> > org.apache.geode.management.internal.beans.MemberMBean.
> > processCommand(MemberMBean.java:404)
> >     at
> > org.apache.geode.management.internal.beans.MemberMBean.
> > processCommand(MemberMBean.java:397)
> >     at sun.reflect.GeneratedMethodAccessor298.invoke(Unknown Source)
> >     at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:43)
> >     at java.lang.reflect.Method.invoke(Method.java:497)
> >     at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
> >     at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
> >     at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:43)
> >     at java.lang.reflect.Method.invoke(Method.java:497)
> >     at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
> >     at
> > com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(
> > ConvertingMethod.java:193)
> >     at
> > com.sun.jmx.mbeanserver.ConvertingMethod.invokeWithOpenReturn(
> > ConvertingMethod.java:175)
> >     at
> > com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(
> > MXBeanIntrospector.java:117)
> >     at
> > com.sun.jmx.mbeanserver.MXBeanIntrospector.invokeM2(
> > MXBeanIntrospector.java:54)
> >     at
> > com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(
> > MBeanIntrospector.java:237)
> >     at com.sun.jmx.mbeanserver.PerInterface.invoke(
> PerInterface.java:138)
> >     at com.sun.jmx.mbeanserver.MBeanSupport.invoke(
> MBeanSupport.java:252)
> >     at
> > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(
> > DefaultMBeanServerInterceptor.java:819)
> >     at
> > com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
> >     at
> > javax.management.remote.rmi.RMIConnectionImpl.doOperation(
> > RMIConnectionImpl.java:1468)
> >     at
> > javax.management.remote.rmi.RMIConnectionImpl.access$300(
> > RMIConnectionImpl.java:76)
> >     at
> > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(
> > RMIConnectionImpl.java:1309)
> >     at
> > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(
> > RMIConnectionImpl.java:1401)
> >     at
> > javax.management.remote.rmi.RMIConnectionImpl.invoke(
> > RMIConnectionImpl.java:829)
> >     at sun.reflect.GeneratedMethodAccessor76.invoke(Unknown Source)
> >     at
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(
> > DelegatingMethodAccessorImpl.java:43)
> >     at java.lang.reflect.Method.invoke(Method.java:497)
> >     at sun.rmi.server.UnicastServerRef.dispatch(
> UnicastServerRef.java:323)
> >     at sun.rmi.transport.Transport$1.run(Transport.java:200)
> >     at sun.rmi.transport.Transport$1.run(Transport.java:197)
> >     at java.security.AccessController.doPrivileged(Native Method)
> >     at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
> >     at
> > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
> >     at
> > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(
> > TCPTransport.java:826)
> >     at
> > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$
> > 256(TCPTransport.java:683)
> >     at java.security.AccessController.doPrivileged(Native Method)
> >     at
> > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(
> > TCPTransport.java:682)
> >     at
> > java.util.concurrent.ThreadPoolExecutor.runWorker(
> > ThreadPoolExecutor.java:1142)
> >     at
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(
> > ThreadPoolExecutor.java:617)
> >     at java.lang.Thread.run(Thread.java:745)
> >
> >
> >
> > *gfsh>list members*
> >     Name      | Id
> > ------------- | ----------------------------------------------
> > locator1      | 10.8.4.198(locator1:9798:locator)<ec><v0>:1024
> > geode-server2 | 10.8.4.198(geode-server2:9799)<v1>:1025
> >
> >
> >
> > *gfsh>version --full*
> > Build-Date: 2017-03-27 21:52:42 -0700
> > Build-Id: abaker 0
> > Build-Java-Version: 1.8.0_121
> > Build-Platform: Mac OS X 10.12.3 x86_64
> > Product-Name: Apache Geode
> > Product-Version: 1.1.1
> > Source-Date: 2017-03-27 21:36:40 -0700
> > Source-Repository: release/1.1.1
> > Source-Revision: e2081044ea0afca1cb38d62c7f34e7363b45ad97
> > Native version: native code unavailable
> > Running on: /10.8.4.
> >
> >
> > Thanks,
> > Srikanth Manvi
> >
>

Reply via email to