You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by "Di Li (JIRA)" <ji...@apache.org> on 2015/05/26 17:48:17 UTC

[jira] [Resolved] (AMBARI-11285) 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

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