[
https://issues.apache.org/jira/browse/AMBARI-11285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Di Li resolved AMBARI-11285.
----------------------------
Resolution: Duplicate
> Rolling upgrade: server throws "Work already begun on this thread. Looks like
> you have called UnitOfWork.begin() twice without a balancing call to end() in
> between" in Install Packages step
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMBARI-11285
> URL: https://issues.apache.org/jira/browse/AMBARI-11285
> Project: Ambari
> Issue Type: Bug
> Components: ambari-server
> Affects Versions: 2.1.0
> Reporter: Di Li
> Assignee: Di Li
> Priority: Critical
> Fix For: 2.1.0
>
>
> I had a 3 node cluster. The ambari server node is also an ambari agent node.
> The server throws "Work already begun" error after all three agents had
> finished installing packages. Server always threw the error while dealing
> with agent heartbeat from the machine where it runs both the agent and the
> ambari server.
> I've got the error after patching my cluster with fixes from JIRA
> AMBARI-11045.
> SEVERE: Could not dispatch event: ActionFinalReportReceivedEvent{clusterId=2,
> hostname='bdavm076.svl.ibm.com', commandReportStatus=COMPLETED,
> commandReportRole=install_packages} to handler [wrapper public void
> org.apache.ambari.server.events.listeners.upgrade.DistributeRepositoriesActionListener.onActionFinished(org.apache.ambari.server.events.ActionFinalReportReceivedEvent)]
> java.lang.reflect.InvocationTargetException
> 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
> com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
> at
> com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
> at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314)
> at
> com.google.common.eventbus.AsyncEventBus.access$001(AsyncEventBus.java:34)
> at
> com.google.common.eventbus.AsyncEventBus$1.run(AsyncEventBus.java:100)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.IllegalStateException: Work already begun on this
> thread. Looks like you have called UnitOfWork.begin() twice without a
> balancing call to end() in between.
> at
> com.google.inject.internal.util.$Preconditions.checkState(Preconditions.java:142)
> at
> com.google.inject.persist.jpa.JpaPersistService.begin(JpaPersistService.java:66)
> at
> com.google.inject.persist.jpa.AmbariJpaPersistService.begin(AmbariJpaPersistService.java:29)
> at
> org.apache.ambari.server.events.listeners.upgrade.DistributeRepositoriesActionListener.onActionFinished(DistributeRepositoriesActionListener.java:96)
> ... 12 more
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)