This is an automated email from the ASF dual-hosted git repository.

heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git

commit 3aca98993e029878efe770fbc06110820ecf68f5
Author: Alex Heneveld <alex.henev...@cloudsoftcorp.com>
AuthorDate: Sat Aug 14 05:19:44 2021 +0100

    fix occasional race condition on teardown
---
 .../org/apache/brooklyn/core/mgmt/internal/LocalEntityManager.java | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalEntityManager.java
 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalEntityManager.java
index 8257c48..47936ac 100644
--- 
a/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalEntityManager.java
+++ 
b/core/src/main/java/org/apache/brooklyn/core/mgmt/internal/LocalEntityManager.java
@@ -845,8 +845,9 @@ public class LocalEntityManager implements 
EntityManagerInternal {
          * this is happening? Should abstractEntity.onManagementStopped or 
some such remove the entity
          * from its groups?
          */
-        
-        if (!getLastManagementTransitionMode(e.getId()).isReadOnly()) {
+
+        ManagementTransitionMode lastTM = 
getLastManagementTransitionMode(e.getId());
+        if (lastTM!=null && !lastTM.isReadOnly()) {
             e.clearParent();
             for (Group group : e.groups()) {
                 if (!Entities.isNoLongerManaged(group)) group.removeMember(e);
@@ -858,7 +859,7 @@ public class LocalEntityManager implements 
EntityManagerInternal {
                 }
             }
         } else {
-            log.debug("No relations being updated on unmanage of read only 
{}", e);
+            log.debug("No relations being updated on unmanage of read only {} 
(mode {})", e, lastTM);
         }
 
         unmanageOwnedLocations(e);

Reply via email to