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