[ https://issues.apache.org/jira/browse/GEODE-2979?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Diane Hardman resolved GEODE-2979. ---------------------------------- Resolution: Duplicate Resolving this because: 1. Correct sequence for adding servers is now documented for Geode 1.2.0 2. Analysis of code changes for future fix is provided in GEODE-3026 > Adding server after defining Lucene index results in error > ---------------------------------------------------------- > > Key: GEODE-2979 > URL: https://issues.apache.org/jira/browse/GEODE-2979 > Project: Geode > Issue Type: Bug > Components: lucene > Reporter: Diane Hardman > Labels: workaround > > Here are the gfsh commands I used: > {noformat} > ## start locator > start locator --name=locator1 --port=12345 > ## start first server > start server --name=server50505 --server-port=50505 > --locators=localhost[12345] --start-rest-api --http-service-port=8080 > --http-service-bind-address=localhost > ## create lucene index on region testRegion > create lucene index --name=testIndex --region=testRegion > --field=__REGION_VALUE_FIELD > ## start second server > start server --name=server50506 --server-port=50506 > --locators=localhost[12345] --start-rest-api --http-service-port=8080 > --http-service-bind-address=localhost > ## list indexes - NOTE lucene index only listed on first server > gfsh>list members > Name | Id > ----------- | ------------------------------------------------- > locator1 | 192.168.1.57(locator1:60525:locator)<ec><v0>:1024 > server50505 | 192.168.1.57(server50505:60533)<v1>:1025 > server50506 | 192.168.1.57(server50506:60587)<v2>:1026 > gfsh>list lucene indexes --with-stats > Index Name | Region Path | Server Name | Inde.. | Field Anal.. | Status | > Query Executions | Updates | Commits | Documents > ---------- | ----------- | ----------- | ------ | ------------ | ------- | > ---------------- | ------- | ------- | --------- > testIndex | /testRegion | server50505 | [__R.. | {__REGION_.. | Defined | NA > | NA | NA | NA > ## Create region testRegion > gfsh>create region --name=testRegion --type=PARTITION_REDUNDANT_PERSISTENT > Member | Status > ----------- | > -------------------------------------------------------------------------------------------------------- > server50506 | ERROR: Must create Lucene index testIndex on region /testRegion > because it is defined in another member. > server50505 | Region "/testRegion" created on "server50505" > ## Add data to region - NOTE this causes a crash with an NPE > gfsh>put --key=1 --value=value1 --region=testRegion > Exception in thread "Gfsh Launcher" java.lang.NoClassDefFoundError: > org/apache/commons/collections/CollectionUtils > at > org.apache.geode.management.internal.cli.commands.DataCommands.put(DataCommands.java:895) > 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.RemoteExecutionStrategy.execute(RemoteExecutionStrategy.java:91) > at > org.apache.geode.management.internal.cli.remote.CommandProcessor.executeCommand(CommandProcessor.java:113) > 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:1597) > 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.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 sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71) > at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > 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.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 sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:324) > 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$0(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) > Caused by: java.lang.ClassNotFoundException: > org.apache.commons.collections.CollectionUtils > at java.net.URLClassLoader.findClass(URLClassLoader.java:381) > at java.lang.ClassLoader.loadClass(ClassLoader.java:424) > at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) > ... 53 more > Exception in thread "main" java.lang.NullPointerException > at > org.apache.geode.management.internal.cli.Launcher.parseOptions(Launcher.java:249) > at > org.apache.geode.management.internal.cli.Launcher.parseCommandLine(Launcher.java:257) > at > org.apache.geode.management.internal.cli.Launcher.main(Launcher.java:135) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.15#6346)