Yeah, it probably shouldn't be logging the whole stacktrace. I think we should log a message at debug level, and log a warning if a new client tries to connect when the new client protocol isn't available.
If we made a "geode-public-API" module, we could avoid the cyclic dependency and do away with the ServiceLoader stuff, but as it is now we can't. On Thu, Oct 12, 2017 at 1:36 PM, Kirk Lund <kl...@apache.org> wrote: > After updating to latest develop, whenever I run a dunit test in > geode-core, the dunit locator is now throwing > ServiceLoadingFailureException because ClientProtocolServiceLoader can't > find a ClientProtocolService provider. > > It doesn't result in dunit failures (unless the dunit uses the dunit > locator) but it is generating stack traces in the output of the test. > > I'm assuming this was a mistake? > > [locator] [warn 2017/10/12 13:31:53.736 PDT <RMI TCP > Connection(1)-10.118.33.237> tid=20] Could not load client protocol > [locator] > org.apache.geode.internal.cache.tier.sockets. > ServiceLoadingFailureException: > There is no ClientProtocolService implementation found in JVM > [locator] at > org.apache.geode.internal.cache.tier.sockets.ClientProtocolServiceLoader. > loadService(ClientProtocolServiceLoader.java:27) > [locator] at > org.apache.geode.internal.cache.tier.sockets.TcpServerFactory.<init>( > TcpServerFactory.java:38) > [locator] at > org.apache.geode.distributed.internal.InternalLocator.< > init>(InternalLocator.java:503) > [locator] at > org.apache.geode.distributed.internal.InternalLocator. > createLocator(InternalLocator.java:272) > [locator] at > org.apache.geode.distributed.internal.InternalLocator. > startLocator(InternalLocator.java:315) > [locator] at > org.apache.geode.distributed.Locator.startLocator(Locator.java:253) > [locator] at > org.apache.geode.distributed.Locator.startLocatorAndDS(Locator.java:140) > [locator] at > org.apache.geode.test.dunit.standalone.DUnitLauncher$2. > call(DUnitLauncher.java:307) > [locator] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > [locator] at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > 62) > [locator] at > sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > [locator] at java.lang.reflect.Method.invoke(Method.java:497) > [locator] at hydra.MethExecutor.executeObject(MethExecutor.java:245) > [locator] at hydra.MethExecutor.executeObject(MethExecutor.java:213) > [locator] at > org.apache.geode.test.dunit.standalone.RemoteDUnitVM. > executeMethodOnObject(RemoteDUnitVM.java:47) > [locator] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > [locator] at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: > 62) > [locator] at > sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > [locator] at java.lang.reflect.Method.invoke(Method.java:497) > [locator] at > sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:323) > [locator] at sun.rmi.transport.Transport$1.run(Transport.java:200) > [locator] at sun.rmi.transport.Transport$1.run(Transport.java:197) > [locator] at java.security.AccessController.doPrivileged(Native Method) > [locator] at sun.rmi.transport.Transport.serviceCall(Transport.java:196) > [locator] at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) > [locator] at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0( > TCPTransport.java:826) > [locator] at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$ > 256(TCPTransport.java:683) > [locator] at java.security.AccessController.doPrivileged(Native Method) > [locator] at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run( > TCPTransport.java:682) > [locator] at > java.util.concurrent.ThreadPoolExecutor.runWorker( > ThreadPoolExecutor.java:1142) > [locator] at > java.util.concurrent.ThreadPoolExecutor$Worker.run( > ThreadPoolExecutor.java:617) > [locator] at java.lang.Thread.run(Thread.java:745) >