[ 
https://issues.apache.org/jira/browse/STORM-2279?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jungtaek Lim resolved STORM-2279.
---------------------------------
       Resolution: Fixed
    Fix Version/s: 1.0.3
                   1.1.0

Thanks [~raghavgautam], I merged into master, 1.x, 1.0.x branches.

> Unable to open bolt page of storm ui
> ------------------------------------
>
>                 Key: STORM-2279
>                 URL: https://issues.apache.org/jira/browse/STORM-2279
>             Project: Apache Storm
>          Issue Type: Bug
>          Components: storm-core
>    Affects Versions: 2.0.0
>            Reporter: Raghav Kumar Gautam
>            Assignee: Raghav Kumar Gautam
>            Priority: Blocker
>             Fix For: 2.0.0, 1.1.0, 1.0.3
>
>          Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> With latest storm code, I am unable to open ui and see bolt information. I am 
> using the vagrant setup. On the ui page that open, I see the following error.
> {code}
> Internal Server Error
> org.apache.storm.thrift.transport.TTransportException
>       at 
> org.apache.storm.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132)
>       at 
> org.apache.storm.thrift.transport.TTransport.readAll(TTransport.java:86)
>       at 
> org.apache.storm.thrift.transport.TFramedTransport.readFrame(TFramedTransport.java:129)
>       at 
> org.apache.storm.thrift.transport.TFramedTransport.read(TFramedTransport.java:101)
>       at 
> org.apache.storm.thrift.transport.TTransport.readAll(TTransport.java:86)
>       at 
> org.apache.storm.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:429)
>       at 
> org.apache.storm.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:318)
>       at 
> org.apache.storm.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:219)
>       at 
> org.apache.storm.thrift.TServiceClient.receiveBase(TServiceClient.java:77)
>       at 
> org.apache.storm.generated.Nimbus$Client.recv_getComponentPageInfo(Nimbus.java:1369)
>       at 
> org.apache.storm.generated.Nimbus$Client.getComponentPageInfo(Nimbus.java:1353)
>       at org.apache.storm.ui.core$component_page.invoke(core.clj:1026)
>       at org.apache.storm.ui.core$fn__4308.invoke(core.clj:1214)
>       at 
> org.apache.storm.shade.compojure.core$make_route$fn__789.invoke(core.clj:100)
>       at 
> org.apache.storm.shade.compojure.core$if_route$fn__777.invoke(core.clj:46)
>       at 
> org.apache.storm.shade.compojure.core$if_method$fn__770.invoke(core.clj:31)
>       at 
> org.apache.storm.shade.compojure.core$routing$fn__795.invoke(core.clj:113)
>       at clojure.core$some.invoke(core.clj:2570)
>       at org.apache.storm.shade.compojure.core$routing.doInvoke(core.clj:113)
>       at clojure.lang.RestFn.applyTo(RestFn.java:139)
>       at clojure.core$apply.invoke(core.clj:632)
>       at 
> org.apache.storm.shade.compojure.core$routes$fn__799.invoke(core.clj:118)
>       at 
> org.apache.storm.shade.ring.middleware.json$wrap_json_params$fn__3573.invoke(json.clj:56)
>       at 
> org.apache.storm.shade.ring.middleware.multipart_params$wrap_multipart_params$fn__1924.invoke(multipart_params.clj:118)
>       at 
> org.apache.storm.shade.ring.middleware.reload$wrap_reload$fn__3102.invoke(reload.clj:22)
>       at 
> org.apache.storm.ui.helpers$requests_middleware$fn__2152.invoke(helpers.clj:54)
>       at org.apache.storm.ui.core$catch_errors$fn__4474.invoke(core.clj:1460)
>       at 
> org.apache.storm.shade.ring.middleware.keyword_params$wrap_keyword_params$fn__1844.invoke(keyword_params.clj:35)
>       at 
> org.apache.storm.shade.ring.middleware.nested_params$wrap_nested_params$fn__1887.invoke(nested_params.clj:84)
>       at 
> org.apache.storm.shade.ring.middleware.params$wrap_params$fn__1816.invoke(params.clj:64)
>       at 
> org.apache.storm.shade.ring.middleware.multipart_params$wrap_multipart_params$fn__1924.invoke(multipart_params.clj:118)
>       at 
> org.apache.storm.shade.ring.middleware.flash$wrap_flash$fn__2139.invoke(flash.clj:35)
>       at 
> org.apache.storm.shade.ring.middleware.session$wrap_session$fn__2125.invoke(session.clj:98)
>       at 
> org.apache.storm.shade.ring.util.servlet$make_service_method$fn__1674.invoke(servlet.clj:127)
>       at 
> org.apache.storm.shade.ring.util.servlet$servlet$fn__1678.invoke(servlet.clj:136)
>       at 
> org.apache.storm.shade.ring.util.servlet.proxy$javax.servlet.http.HttpServlet$ff19274a.service(Unknown
>  Source)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:654)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1320)
>       at 
> org.apache.storm.logging.filters.AccessLoggingFilter.handle(AccessLoggingFilter.java:47)
>       at 
> org.apache.storm.logging.filters.AccessLoggingFilter.doFilter(AccessLoggingFilter.java:39)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:247)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:210)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1291)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:443)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1044)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:372)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:978)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.server.Server.handle(Server.java:369)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:486)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:933)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:995)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
>       at 
> org.apache.storm.shade.org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
>       at java.lang.Thread.run(Thread.java:745)
> {code}
> Url: 
> http://node1:8080/component.html?id=SlidingTimeCorrectness-winSec1slideSec1VerificationBolt&topology_id=SlidingWindowTestw1s1-2-1483646178
> There is a stacktrace corresponding to this in nimbus.log showing 
> IndexOutOfBound error:
> {code}
> 2017-01-05 19:57:26.934 pool-15-thread-41 o.a.s.d.n.Nimbus [WARN] 
> getComponentPageInfo exception. (topo id='SlidingWindowTestw1s1-2-1483646178')
> java.lang.ArrayIndexOutOfBoundsException: -2
>         at java.util.ArrayList.elementData(ArrayList.java:418)
>         at java.util.ArrayList.get(ArrayList.java:431)
>         at 
> org.apache.storm.daemon.nimbus.Nimbus.getComponentPageInfo(Nimbus.java:3606)
>         at 
> org.apache.storm.generated.Nimbus$Processor$getComponentPageInfo.getResult(Nimbus.java:4097)
>         at 
> org.apache.storm.generated.Nimbus$Processor$getComponentPageInfo.getResult(Nimbus.java:4081)
>         at 
> org.apache.storm.thrift.ProcessFunction.process(ProcessFunction.java:39)
>         at 
> org.apache.storm.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
>         at 
> org.apache.storm.security.auth.SimpleTransportPlugin$SimpleWrapProcessor.process(SimpleTransportPlugin.java:160)
>         at 
> org.apache.storm.thrift.server.AbstractNonblockingServer$FrameBuffer.invoke(AbstractNonblockingServer.java:518)
>         at org.apache.storm.thrift.server.Invocation.run(Invocation.java:18)
>         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)
> {code}
> The problem is that we expect the index to be positive, but since it is a mod 
> of hashcode it can be negative.
> {code}
>                 int taskIndex = 
> TupleUtils.listHashCode(Arrays.asList(componentId)) %
>                         tasks.size();
>                 int taskId = tasks.get(taskIndex);
> {code}
> https://github.com/apache/storm/blob/2b82fc8b5328fd4fbd680998c6051d9496c102d7/storm-core/src/jvm/org/apache/storm/daemon/nimbus/Nimbus.java#L3605



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

Reply via email to