[ 
https://issues.apache.org/jira/browse/GEODE-1247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15246646#comment-15246646
 ] 

Jens Deppe commented on GEODE-1247:
-----------------------------------

OK, I see your point. However (not to segway too much), there is some disparity 
between what you can do with gfsh vs JMX as that does allow you to remotely 
shutdown members. I don't see why JMX should have that capability when gfsh 
doesn't.

> Unable to stop members when using gfsh over http
> ------------------------------------------------
>
>                 Key: GEODE-1247
>                 URL: https://issues.apache.org/jira/browse/GEODE-1247
>             Project: Geode
>          Issue Type: Bug
>          Components: gfsh, rest (admin)
>            Reporter: Jens Deppe
>
> I'm connecting to my cluster with http:
> {noformat}
> gfsh>connect --use-http=true --url=http://localhost:7070/gemfire/v1
> {noformat}
> And creating a server...
> {noformat}
> gfsh>start server --name=server1
> Starting a GemFire Server in /Users/jdeppe/debug/server1...
> .....
> Server in /Users/jdeppe/debug/server1 on 192.168.99.1[40404] as server1 is 
> currently online.
> Process ID: 97639
> Uptime: 2 seconds
> GemFire Version: 1.0.0-incubating.M3-SNAPSHOT
> Java Version: 1.8.0_77
> Log File: /Users/jdeppe/debug/server1/server1.log
> JVM Arguments: -Dgemfire.default.locators=192.168.99.1[19991] 
> -Dgemfire.use-cluster-configuration=true -XX:OnOutOfMemoryError=kill -KILL %p 
> -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true 
> -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
> Class-Path: 
> /Users/jdeppe/git/gemfire-develop/open/geode-assembly/build/install/apache-geode/lib/geode-core-1.0.0-incubating.M3-SNAPSHOT.jar:/Users/jdeppe/git/gemfire-develop/open/geode-assembly/build/install/apache-geode/lib/geode-dependencies.jar
> gfsh>list members;
>   Name   | Id
> -------- | -------------------------------------------------
> locator1 | 192.168.99.1(locator1:97595:locator)<ec><v0>:1024
> server1  | 192.168.99.1(server1:97639)<ec><v1>:1025
> {noformat}
> But cannot stop it...
> {noformat}
> gfsh>stop server --name=server1
> An error occurred while attempting to stop a Cache Server: The HTTP request 
> failed with: 500 - Server Error
> {noformat}
> The locator log shows this error:
> {noformat}
> [severe 2016/04/18 13:54:49.754 PDT locator1 <qtp1114452860-66> tid=0x42] 
> org.springframework.http.converter.HttpMessageNotReadableException: Could not 
> read document: invalid stream header: 7B226F62; nested exception is 
> java.io.StreamCorruptedException: invalid stream header: 7B226F62
>         at 
> org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:227)
>         at 
> org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:147)
>         at 
> org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.resolveArgument(RequestResponseBodyMethodProcessor.java:125)
>         at 
> org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:78)
>         at 
> org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:162)
>         at 
> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:129)
>         at 
> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
>         at 
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:814)
>         at 
> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:737)
>         at 
> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
>         at 
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959)
>         at 
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
>         at 
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:969)
>         at 
> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:871)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
>         at 
> org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
>         at 
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:821)
>         at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1685)
>         at 
> org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:87)
>         at 
> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
>         at 
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668)
>         at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581)
>         at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
>         at 
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
>         at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
>         at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1158)
>         at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511)
>         at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>         at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1090)
>         at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>         at 
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)
>         at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:119)
>         at org.eclipse.jetty.server.Server.handle(Server.java:517)
>         at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308)
>         at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:242)
>         at 
> org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:261)
>         at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
>         at 
> org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:75)
>         at 
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:213)
>         at 
> org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:147)
>         at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654)
>         at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572)
>         at java.lang.Thread.run(Thread.java:745)
>   Caused by: java.io.StreamCorruptedException: invalid stream header: 7B226F62
>         at 
> java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:806)
>         at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299)
>         at 
> com.gemstone.gemfire.internal.util.IOUtils$ClassLoaderObjectInputStream.<init>(IOUtils.java:327)
>         at 
> com.gemstone.gemfire.internal.util.IOUtils.deserializeObject(IOUtils.java:165)
>         at 
> com.gemstone.gemfire.management.internal.web.http.converter.SerializableObjectHttpMessageConverter.readInternal(SerializableObjectHttpMessageConverter.java:80)
>         at 
> com.gemstone.gemfire.management.internal.web.http.converter.SerializableObjectHttpMessageConverter.readInternal(SerializableObjectHttpMessageConverter.java:46)
>         at 
> org.springframework.http.converter.AbstractHttpMessageConverter.read(AbstractHttpMessageConverter.java:161)
>         at 
> org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodArgumentResolver.readWithMessageConverters(AbstractMessageConverterMethodArgumentResolver.java:214)
>         ... 43 more
> {noformat}
> In fact there is not even a REST endpoint to stop members



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to