geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Blum (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (GEODE-1247) Unable to stop members when using gfsh over http
Date Mon, 18 Apr 2016 21:16:25 GMT

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

John Blum commented on GEODE-1247:
----------------------------------

> In fact there is not even a REST endpoint to stop members

Nor should there be.  {{[start|stop] [locator|server]}} are local-only commands and therefore
operate locally, meaning do not use a _Gfsh_ `OperationInvoker` implementation (e.g. JMX or
HTTP) to execute the commands.

Only commands defined in the [link index|https://github.com/apache/incubator-geode/blob/develop/geode-core/src/main/java/com/gemstone/gemfire/management/internal/web/controllers/ShellCommandsController.java#L153-L266]
have REST API web service endpoints, as they correspond to "remote" (cluster) commands.  Any
command that is local should not be invoked remotely and thus should not be executed through
the HTTP/REST-based Management API.

See, Pivotal GemFire, these worked before, ;-)


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

Mime
View raw message