[ https://issues.apache.org/jira/browse/GEODE-3620?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kenneth Howe resolved GEODE-3620. --------------------------------- Resolution: Fixed Fix Version/s: 1.4.0 > Gfsh 'alter runtime -- log-disk-space-limit' throws NPE if > log-file-size-limit is not set > ----------------------------------------------------------------------------------------- > > Key: GEODE-3620 > URL: https://issues.apache.org/jira/browse/GEODE-3620 > Project: Geode > Issue Type: Bug > Components: gfsh > Affects Versions: 1.2.0 > Reporter: Kenneth Howe > Assignee: Kenneth Howe > Priority: Major > Fix For: 1.4.0 > > > Steps to reproduce: > * With gfsh, start a locator and server > {code} > $ gfsh > _________________________ __ > / _____/ ______/ ______/ /____/ / > / / __/ /___ /_____ / _____ / > / /__/ / ____/ _____/ / / / / > /______/_/ /______/_/ /_/ 1.3.0-SNAPSHOT > Monitor and Manage Apache Geode > gfsh>start locator --name=locator1 --port=12345 > Starting a Geode Locator in /Users/khowe/work/GEM-1632/locator1... > ... > Successfully connected to: JMX Manager [host=10.118.33.251, port=1099] > Cluster configuration service is up and running. > gfsh>start server --name=server1 --server-port=54321 > Starting a Geode Server in /Users/khowe/work/GEM-1632/server1... > ... > Server in /Users/khowe/work/GEM-1632/server1 on 10.118.33.251[54321] as > server1 is currently online. > ... > {code} > * Still connected in gfsh, try to set the log-disk-space-limit > {code} > gfsh>alter runtime --log-disk-space-limit=1000 > Could not process command due to error. Error while processing command > <[GfshParseResult@ac4bae8 method = > alterRuntimeConfig@AlterRuntimeConfigCommand, instance = > org.apache.geode.management.internal.cli.commands.AlterRuntimeConfigCommand@4e406694, > arguments = > 'null,null,null,null,1000,null,null,null,null,null,null,null,null,null,null']> > Reason : java.lang.NullPointerException > at java.util.TreeMap.compare(TreeMap.java:1294) > at java.util.TreeMap.put(TreeMap.java:538) > at java.util.TreeSet.add(TreeSet.java:255) > at > org.apache.geode.management.internal.cli.commands.AlterRuntimeConfigCommand.alterRuntimeConfig(AlterRuntimeConfigCommand.java:193) > 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:498) > at > org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:216) > at > org.apache.geode.management.internal.cli.remote.CommandExecutor.invokeCommand(CommandExecutor.java:54) > at > org.apache.geode.management.internal.cli.remote.CommandExecutor.execute(CommandExecutor.java:37) > at > org.apache.geode.management.internal.cli.remote.OnlineCommandProcessor.executeCommand(OnlineCommandProcessor.java:131) > at > org.apache.geode.management.internal.beans.MemberMBeanBridge.processCommand(MemberMBeanBridge.java:1577) > at > org.apache.geode.management.internal.beans.MemberMBean.processCommand(MemberMBean.java:406) > ... > {code} > Running a version of gfsh with some addtional debug code added I am able to > see the NPE on the server. From {{server1/server1.log}}: > {code} > [error 2017/09/14 10:30:49.363 PDT server1 <Function Execution Processor1> > tid=0x4b] Exception happened on : 10.118.33.251(server1:14796)<v1>:1025 > java.lang.NullPointerException > at > org.apache.geode.internal.io.MainWithChildrenRollingFileHandler.findChildrenExcept(MainWithChildrenRollingFileHandler.java:235) > at > org.apache.geode.internal.io.MainWithChildrenRollingFileHandler.checkDiskSpace(MainWithChildrenRollingFileHandler.java:138) > at > org.apache.geode.internal.io.MainWithChildrenRollingFileHandler.checkDiskSpace(MainWithChildrenRollingFileHandler.java:130) > at > org.apache.geode.internal.logging.ManagerLogWriter.checkDiskSpace(ManagerLogWriter.java:345) > at > org.apache.geode.internal.logging.ManagerLogWriter.switchLogs(ManagerLogWriter.java:288) > at > org.apache.geode.internal.logging.ManagerLogWriter.configChanged(ManagerLogWriter.java:124) > at > org.apache.geode.internal.logging.log4j.LogWriterAppender.configChanged(LogWriterAppender.java:212) > at > org.apache.geode.internal.logging.log4j.LogWriterAppenders.configChanged(LogWriterAppenders.java:284) > at > org.apache.geode.distributed.internal.RuntimeDistributionConfigImpl.setLogDiskSpaceLimit(RuntimeDistributionConfigImpl.java:118) > 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:498) > at > org.apache.geode.distributed.internal.AbstractDistributionConfig.setAttributeObject(AbstractDistributionConfig.java:614) > at > org.apache.geode.internal.AbstractConfig.setAttribute(AbstractConfig.java:432) > at > org.apache.geode.management.internal.cli.functions.AlterRuntimeConfigFunction.execute(AlterRuntimeConfigFunction.java:74) > at > org.apache.geode.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:186) > at > org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:374) > at > org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:440) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at > org.apache.geode.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:666) > at > org.apache.geode.distributed.internal.DistributionManager$9$1.run(DistributionManager.java:1112) > at java.lang.Thread.run(Thread.java:745) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)