Reply
Highlighted
New Contributor
Posts: 1
Registered: ‎07-01-2016
Accepted Solution

DynamicServiceHandler cannot be cast to com.cloudera.cmf.service.RollingRestartProvider

Hello:

 

I have created CSD for a service by referring the following wiki page by cloudera https://github.com/cloudera/cm_ext/wiki/Service-Descriptor-Language-Reference.

 

This CSD service has three roles inside it. two non-worker and one worker roles. And I have configured those roles to take part in rolling restart, as per the wiki.


But during up-gradation of CDH, I got exception as


Failed due to java.lang.ClassCastException: com.cloudera.cmf.service.csd.components.DynamicServiceHandler cannot be cast to com.cloudera.cmf.service.RollingRestartProvidere

 

And in cloudera-scm-server logs I get logs:

 

2017-03-14 05:17:21,286 INFO CommandPusher:com.cloudera.server.cmf.CommandPusherThread: Hard stopping command DbCommand{id=5803, name=RollingRestart, cluster=cluster}.
com.cloudera.cmf.command.CmdExecException: java.lang.ClassCastException: com.cloudera.cmf.service.csd.components.DynamicServiceHandler cannot be cast to com.cloudera.cmf.service.RollingRestartProvider
at com.cloudera.cmf.command.flow.SeqFlowCmd.run(SeqFlowCmd.java:119)
at com.cloudera.cmf.command.flow.SeqFlowCmd.update(SeqFlowCmd.java:249)
at com.cloudera.cmf.command.CmdWorkCommand.update(CmdWorkCommand.java:140)
at com.cloudera.server.cmf.CommandPusherThread.handleCommandInternal(CommandPusherThread.java:456)
at com.cloudera.server.cmf.CommandPusherThread.handleCommandBatched(CommandPusherThread.java:269)
at com.cloudera.server.cmf.CommandPusherThread.innerLoop(CommandPusherThread.java:188)
at com.cloudera.server.cmf.CommandPusherThread.run(CommandPusherThread.java:156)
Caused by: java.lang.ClassCastException: com.cloudera.cmf.service.csd.components.DynamicServiceHandler cannot be cast to com.cloudera.cmf.service.RollingRestartProvider
at com.cloudera.cmf.cluster.RollingRestartClusterCommand.getPreSteps(RollingRestartClusterCommand.java:279)
at com.cloudera.cmf.cluster.RollingRestartClusterCommand.access$100(RollingRestartClusterCommand.java:73)
at com.cloudera.cmf.cluster.RollingRestartClusterCommand$FactoryMethodImpl.prepare(RollingRestartClusterCommand.java:504)
at com.cloudera.cmf.cluster.RollingRestartCmdWork$InitState.runStep(RollingRestartCmdWork.java:445)
at com.cloudera.cmf.cluster.RollingRestartCmdWork.doWork(RollingRestartCmdWork.java:150)
at com.cloudera.cmf.command.flow.CmdStep.doWork(CmdStep.java:164)
at com.cloudera.cmf.command.flow.SeqCmdWork.doWork(SeqCmdWork.java:101)
at com.cloudera.cmf.command.flow.SeqCmdWork.update(SeqCmdWork.java:174)
at com.cloudera.cmf.command.flow.CmdStep.doWork(CmdStep.java:167)
at com.cloudera.cmf.command.flow.SeqFlowCmd.run(SeqFlowCmd.java:117)

Cloudera Employee
Posts: 12
Registered: ‎03-31-2015

Re: DynamicServiceHandler cannot be cast to com.cloudera.cmf.service.RollingRestartProvider

Hi, thanks for reporting this. The issue has been fixed and will be released in Cloudera Manager 5.13

Announcements