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)
>

Reply via email to