brooklyn-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (BROOKLYN-101) Rebind waits (for long time) to ssh for inferMachineDetails
Date Tue, 09 Dec 2014 23:26:12 GMT

    [ https://issues.apache.org/jira/browse/BROOKLYN-101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14240279#comment-14240279
] 

ASF GitHub Bot commented on BROOKLYN-101:
-----------------------------------------

GitHub user aledsage opened a pull request:

    https://github.com/apache/incubator-brooklyn/pull/382

    BROOKLYN-101: avoid recordLocationEvent on rebind

    - Previously on rebind we would call recordLocationEvent, which would
      try to get `inferMachineDetails` over ssh in the rebind thread
      (taking a long time).
    - Now we don’t recordLocationEvent or recordApplicationEvent on
      startup or shutdown.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/aledsage/incubator-brooklyn fix/brooklyn-101-rebind-sshing

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-brooklyn/pull/382.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #382
    
----
commit 9447516ba1cdd78e13ded6867578330834ddd174
Author: Aled Sage <aled.sage@gmail.com>
Date:   2014-12-09T23:24:49Z

    BROOKLYN-101: avoid recordLocationEvent on rebind
    
    - Previously on rebind we would call recordLocationEvent, which would
      try to get `inferMachineDetails` over ssh in the rebind thread
      (taking a long time).
    - Now we don’t recordLocationEvent or recordApplicationEvent on
      startup or shutdown.

----


> Rebind waits (for long time) to ssh for inferMachineDetails
> -----------------------------------------------------------
>
>                 Key: BROOKLYN-101
>                 URL: https://issues.apache.org/jira/browse/BROOKLYN-101
>             Project: Brooklyn
>          Issue Type: Bug
>    Affects Versions: 0.7.0-SNAPSHOT
>            Reporter: Aled Sage
>
> When rebinding (particularly when some of the VMs are no longer reachable), the rebind
thread will sometimes ssh to the VM to call `inferMachineDetails`. It should definitely not
block rebind in this way.
> The stacktrace (found with `jstack`) is shown below.
> ```
> "brooklyn-execmanager-WoWZ5MWt-0" daemon prio=10 tid=0x00007fc4fd1f2800 nid=0x7b3c waiting
on condition [0x00007fc50047f000]
>    java.lang.Thread.State: WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x00000000b44a3020> (a java.util.concurrent.FutureTask)
>         at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
>         at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:425)
>         at java.util.concurrent.FutureTask.get(FutureTask.java:187)
>         at com.google.common.util.concurrent.ForwardingFuture.get(ForwardingFuture.java:63)
>         at brooklyn.util.task.BasicTask.get(BasicTask.java:343)
>         at brooklyn.util.task.BasicTask.getUnchecked(BasicTask.java:352)
>         at brooklyn.location.basic.BasicMachineDetails.forSshMachineLocation(BasicMachineDetails.java:97)
>         at brooklyn.location.basic.SshMachineLocation.inferMachineDetails(SshMachineLocation.java:902)
>         at brooklyn.location.jclouds.JcloudsSshMachineLocation.inferMachineDetails(JcloudsSshMachineLocation.java:301)
>         at brooklyn.location.basic.SshMachineLocation.getMachineDetails(SshMachineLocation.java:893)
>         - locked <0x00000000c70c5ae0> (a java.lang.Object)
>         at brooklyn.location.basic.SshMachineLocation.getOsDetails(SshMachineLocation.java:883)
>         at brooklyn.location.jclouds.JcloudsSshMachineLocation.toMetadataRecord(JcloudsSshMachineLocation.java:322)
>         at brooklyn.management.internal.LocalUsageManager.recordLocationEvent(LocalUsageManager.java:237)
>         - locked <0x00000000c573b2a0> (a java.lang.Object)
>         at brooklyn.management.internal.LocalLocationManager.recordLocationEvent(LocalLocationManager.java:337)
>         at brooklyn.management.internal.LocalLocationManager.access$3(LocalLocationManager.java:335)
>         at brooklyn.management.internal.LocalLocationManager$1.apply(LocalLocationManager.java:248)
>         at brooklyn.management.internal.LocalLocationManager$1.apply(LocalLocationManager.java:1)
>         at brooklyn.management.internal.LocalLocationManager.recursively(LocalLocationManager.java:346)
>         at brooklyn.management.internal.LocalLocationManager.recursively(LocalLocationManager.java:351)
>         at brooklyn.management.internal.LocalLocationManager.manageRecursive(LocalLocationManager.java:227)
>         at brooklyn.management.internal.LocalLocationManager.manageRebindedRoot(LocalLocationManager.java:205)
>         at brooklyn.entity.rebind.RebindManagerImpl.rebindImpl(RebindManagerImpl.java:955)
>         at brooklyn.entity.rebind.RebindManagerImpl$2.call(RebindManagerImpl.java:490)
>         at brooklyn.entity.rebind.RebindManagerImpl$2.call(RebindManagerImpl.java:1)
>         at brooklyn.util.task.BasicExecutionManager$SubmissionCallable.call(BasicExecutionManager.java:469)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>         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)
> ```



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message