Error during Storm execution: java.util.ArrayList cannot be cast to java.util.Map

697 views
Skip to first unread message

Vinay Sudhakaran

unread,
Dec 29, 2013, 1:05:52 AM12/29/13
to storm...@googlegroups.com
Hi,

I installed storm-yarn and some of the test failed with this error:
Tests in error:
  com.yahoo.storm.yarn.TestStormMaster: java.util.ArrayList cannot be cast to java.util.Map
  com.yahoo.storm.yarn.TestStormMaster
  com.yahoo.storm.yarn.TestStormCluster: java.util.ArrayList cannot be cast to java.util.Map


I then checked a few storm commands and they fail with the same error:

[root@localhost storm-yarn-master]# storm list
Exception in thread "main" java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Map
    at backtype.storm.utils.Utils.findAndReadConfigFile(Utils.java:120)
    at backtype.storm.utils.Utils.readStormConfig(Utils.java:160)
    at backtype.storm.config$read_storm_config.invoke(config.clj:101)
    at backtype.storm.command.config_value$_main.invoke(config_value.clj:7)
    at clojure.lang.AFn.applyToHelper(AFn.java:161)
    at clojure.lang.AFn.applyTo(AFn.java:151)
    at backtype.storm.command.config_value.main(Unknown Source)

Any idea why this is happening? Am I using any outdated dependencies?

Thanks,
Vinay

Andy Feng

unread,
Dec 29, 2013, 1:32:43 AM12/29/13
to Vinay Sudhakaran, storm...@googlegroups.com
I have never seen thus before. Can you provide the details so that we can reproduce the problem?

Andy Feng

Sent from my iPhone
--
You received this message because you are subscribed to the Google Groups "storm-yarn" group.
To unsubscribe from this group and stop receiving emails from it, send an email to storm-yarn+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Vinay Sudhakaran

unread,
Dec 29, 2013, 1:45:11 AM12/29/13
to storm...@googlegroups.com, Vinay Sudhakaran
Thanks Andy

I have a single node setup of Hortonworks data platform 2 with all services up and running fine. I then wanted to have a single node setup of Storm on Yarn and thats when I ran into this issue.

Here is the snippet from the log file:

01:41:47.741 [main] INFO  com.yahoo.storm.yarn.TestConfig - storm_home: lib/storm-0.9.0-wip21
01:41:47.743 [main] INFO  com.yahoo.storm.yarn.TestIntegration - Will be using storm found on PATH at lib/storm-0.9.0-wip21
01:41:47.836 [main] ERROR com.yahoo.storm.yarn.TestIntegration - setup failure

java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.util.Map
    at backtype.storm.utils.Utils.findAndReadConfigFile(Utils.java:120) ~[storm-core-0.9.0-wip21.jar:na]
    at com.yahoo.storm.yarn.Config.readStormConfig(Config.java:56) ~[classes/:na]
    at com.yahoo.storm.yarn.Config.readStormConfig(Config.java:42) ~[classes/:na]
    at com.yahoo.storm.yarn.TestIntegration.setup(TestIntegration.java:82) ~[test-classes/:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_45]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_45]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_45]
    at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_45]
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45) [junit-4.10.jar:na]
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) [junit-4.10.jar:na]
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42) [junit-4.10.jar:na]
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27) [junit-4.10.jar:na]
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30) [junit-4.10.jar:na]
    at org.junit.runners.ParentRunner.run(ParentRunner.java:300) [junit-4.10.jar:na]
    at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53) [surefire-junit4-2.10.jar:2.10]
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:123) [surefire-junit4-2.10.jar:2.10]
    at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:104) [surefire-junit4-2.10.jar:2.10]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_45]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_45]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_45]
    at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_45]
    at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164) [surefire-api-2.10.jar:2.10]
    at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110) [surefire-booter-2.10.jar:2.10]
    at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:175) [surefire-booter-2.10.jar:2.10]
    at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:107) [surefire-booter-2.10.jar:2.10]
    at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:68) [surefire-booter-2.10.jar:2.10]
01:41:47.836 [main] INFO  com.yahoo.storm.yarn.TestIntegration - java.lang.NullPointerException
01:41:47.837 [main] INFO  c.yahoo.storm.yarn.EmbeddedZKServer - shutdown embedded zookeeper server with port 60001
01:41:47.838 [main] INFO  com.yahoo.storm.yarn.TestIntegration - shutdown MiniYarn cluster
01:41:47.844 [main] INFO  org.mortbay.log - Stopped SelectChann...@localhost.localdomain:0
01:41:47.946 [main] INFO  org.apache.hadoop.ipc.Server - Stopping server on 33928
01:41:47.950 [IPC Server listener on 33928] INFO  org.apache.hadoop.ipc.Server - Stopping IPC Server listener on 33928
01:41:47.951 [IPC Server Responder] INFO  org.apache.hadoop.ipc.Server - Stopping IPC Server Responder
01:41:47.952 [main] INFO  o.a.h.y.s.n.c.m.ContainersMonitorImpl - Neither virutal-memory nor physical-memory monitoring is needed. Not running the monitor-thread
01:41:47.953 [main] INFO  org.apache.hadoop.ipc.Server - Stopping server on 45978
01:41:47.959 [IPC Server listener on 45978] INFO  org.apache.hadoop.ipc.Server - Stopping IPC Server listener on 45978
01:41:47.959 [IPC Server Responder] INFO  org.apache.hadoop.ipc.Server - Stopping IPC Server Responder
01:41:47.961 [Public Localizer] INFO  o.a.h.y.s.n.c.l.ResourceLocalizationService - Public cache exiting
01:41:47.969 [main] INFO  org.mortbay.log - Stopped SelectChann...@localhost.localdomain:0
01:41:47.970 [main] INFO  org.apache.hadoop.ipc.Server - Stopping server on 56045
01:41:47.972 [IPC Server listener on 56045] INFO  org.apache.hadoop.ipc.Server - Stopping IPC Server listener on 56045
01:41:47.972 [IPC Server Responder] INFO  org.apache.hadoop.ipc.Server - Stopping IPC Server Responder
01:41:47.974 [main] INFO  o.a.h.y.s.n.c.m.ContainersMonitorImpl - Neither virutal-memory nor physical-memory monitoring is needed. Not running the monitor-thread
01:41:47.974 [main] INFO  org.apache.hadoop.ipc.Server - Stopping server on 53001
01:41:47.975 [IPC Server listener on 53001] INFO  org.apache.hadoop.ipc.Server - Stopping IPC Server listener on 53001
01:41:47.975 [IPC Server Responder] INFO  org.apache.hadoop.ipc.Server - Stopping IPC Server Responder
01:41:47.977 [Public Localizer] INFO  o.a.h.y.s.n.c.l.ResourceLocalizationService - Public cache exiting
01:41:47.984 [main] INFO  org.mortbay.log - Stopped SelectChann...@localhost.localdomain:0
01:41:47.985 [Thread[Thread-13,5,main]] ERROR o.a.h.s.t.d.AbstractDelegationTokenSecretManager - InterruptedExcpetion recieved for ExpiredTokenRemover thread java.lang.InterruptedException: sleep interrupted
01:41:47.987 [main] INFO  o.a.h.m.impl.MetricsSystemImpl - Stopping NodeManager metrics system...
01:41:47.990 [main] INFO  o.a.h.m.impl.MetricsSystemImpl - NodeManager metrics system stopped.
01:41:47.990 [main] INFO  o.a.h.m.impl.MetricsSystemImpl - NodeManager metrics system shutdown complete.
01:41:47.991 [ApplicationMaster Launcher] WARN  o.a.h.y.s.r.a.ApplicationMasterLauncher - org.apache.hadoop.yarn.server.resourcemanager.amlauncher.ApplicationMasterLauncher$LauncherThread interrupted. Returning.
01:41:47.992 [main] INFO  org.apache.hadoop.ipc.Server - Stopping server on 54767
01:41:47.992 [IPC Server listener on 54767] INFO  org.apache.hadoop.ipc.Server - Stopping IPC Server listener on 54767
01:41:47.993 [main] INFO  org.apache.hadoop.ipc.Server - Stopping server on 59494
01:41:47.993 [IPC Server Responder] INFO  org.apache.hadoop.ipc.Server - Stopping IPC Server Responder
01:41:48.003 [IPC Server listener on 59494] INFO  org.apache.hadoop.ipc.Server - Stopping IPC Server listener on 59494
01:41:48.003 [IPC Server Responder] INFO  org.apache.hadoop.ipc.Server - Stopping IPC Server Responder
01:41:48.004 [main] INFO  org.apache.hadoop.ipc.Server - Stopping server on 46455
01:41:48.012 [IPC Server listener on 46455] INFO  org.apache.hadoop.ipc.Server - Stopping IPC Server listener on 46455
01:41:48.013 [IPC Server Responder] INFO  org.apache.hadoop.ipc.Server - Stopping IPC Server Responder
01:41:48.014 [main] INFO  org.apache.hadoop.ipc.Server - Stopping server on 47713
01:41:48.026 [IPC Server listener on 47713] INFO  org.apache.hadoop.ipc.Server - Stopping IPC Server listener on 47713
01:41:48.026 [IPC Server Responder] INFO  org.apache.hadoop.ipc.Server - Stopping IPC Server Responder
01:41:48.027 [Ping Checker] INFO  o.a.h.y.u.AbstractLivelinessMonitor - NMLivelinessMonitor thread interrupted
01:41:48.027 [ResourceManager Event Processor] ERROR o.a.h.y.s.r.ResourceManager - Returning, interrupted : java.lang.InterruptedException
01:41:48.028 [Ping Checker] INFO  o.a.h.y.u.AbstractLivelinessMonitor - AMLivelinessMonitor thread interrupted
01:41:48.028 [Ping Checker] INFO  o.a.h.y.u.AbstractLivelinessMonitor - AMLivelinessMonitor thread interrupted
01:41:48.029 [Ping Checker] INFO  o.a.h.y.u.AbstractLivelinessMonitor - org.apache.hadoop.yarn.server.resourcemanager.rmcontainer.ContainerAllocationExpirer thread interrupted
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 11.702 sec <<< FAILURE!
Running com.yahoo.storm.yarn.TestStormMaster
01:41:49.072 [main] INFO  c.yahoo.storm.yarn.EmbeddedZKServer - Starting up embedded Zookeeper server
01:41:49.073 [main] INFO  c.yahoo.storm.yarn.EmbeddedZKServer - Zookeeper port allocated:60001
Tests run: 2, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 0.036 sec <<< FAILURE!
Running com.yahoo.storm.yarn.TestStormCluster
01:41:49.133 [main] INFO  c.yahoo.storm.yarn.EmbeddedZKServer - Starting up embedded Zookeeper server
01:41:49.135 [main] INFO  c.yahoo.storm.yarn.EmbeddedZKServer - Zookeeper port allocated:60002
01:41:49.149 [mainhread] org.apache.zookeeper.jmx.MBeanRegistry.register(MBeanRegistry.java:78)evel org.apache.zookeeper.jmx.MBeanRegistry.register(MBeanRegistry.java:78)ogger{36} - Failed to register MBean StandaloneServer_port-1sg
01:41:49.156 [mainhread] org.apache.zookeeper.server.ZooKeeperServer.registerJMX(ZooKeeperServer.java:354)evel org.apache.zookeeper.server.ZooKeeperServer.registerJMX(ZooKeeperServer.java:354)ogger{36} - Failed to register with JMXsg
javax.management.InstanceAlreadyExistsException: org.apache.ZooKeeperService:name0=StandaloneServer_port-1
    at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:437)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerWithRepository(DefaultMBeanServerInterceptor.java:1898)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:966)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:900)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:324)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
    at org.apache.zookeeper.jmx.MBeanRegistry.register(MBeanRegistry.java:76)
    at org.apache.zookeeper.server.ZooKeeperServer.registerJMX(ZooKeeperServer.java:344)
    at org.apache.zookeeper.server.ZooKeeperServer.startup(ZooKeeperServer.java:374)
    at org.apache.zookeeper.server.NIOServerCnxn$Factory.startup(NIOServerCnxn.java:161)
    at com.yahoo.storm.yarn.EmbeddedZKServer.start(EmbeddedZKServer.java:47)
    at com.yahoo.storm.yarn.TestStormCluster.setup(TestStormCluster.java:53)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
    at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
    at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
    at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:53)
    at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:123)
    at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:104)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164)
    at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110)
    at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:175)
    at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:107)
    at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:68)
01:41:49.525 [main] INFO  com.yahoo.storm.yarn.TestConfig - storm_home: lib/storm-0.9.0-wip21
01:41:49.526 [main] INFO  c.yahoo.storm.yarn.TestStormCluster - Will be using storm found on PATH at lib/storm-0.9.0-wip21
01:41:49.564 [main] INFO  c.yahoo.storm.yarn.EmbeddedZKServer - shutdown embedded zookeeper server with port 60002
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.433 sec <<< FAILURE!

Bobby Evans

unread,
Dec 30, 2013, 10:54:14 AM12/30/13
to Vinay Sudhakaran, storm...@googlegroups.com
It looks like your YAML file is formatted so that it is a single array instead of a MAP of values.  The storm code blindly expects it to be a map, not an array.

Map ret = (Map) yaml.load(new InputStreamReader(resource.openStream()));

As you can see above is line 120 of Utils.java for 0.9.0-wip21  please try reformatting your storm.yaml file.

—Bobby
Reply all
Reply to author
Forward
0 new messages