Repository: cloudstack
Updated Branches:
  refs/heads/4.5 8b7c1d7c5 -> 03e63a67e


CLOUDSTACK-7902: Account creation results in exception in logs
Event publish code was wrapped in transaction, moved it out


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/03e63a67
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/03e63a67
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/03e63a67

Branch: refs/heads/4.5
Commit: 03e63a67e0d23e53f37711959c726b9576b2ed37
Parents: 8b7c1d7
Author: Koushik Das <[email protected]>
Authored: Thu Nov 13 14:41:33 2014 +0530
Committer: Koushik Das <[email protected]>
Committed: Thu Nov 13 14:41:33 2014 +0530

----------------------------------------------------------------------
 .../src/com/cloud/user/AccountManagerImpl.java   | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/03e63a67/server/src/com/cloud/user/AccountManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/user/AccountManagerImpl.java 
b/server/src/com/cloud/user/AccountManagerImpl.java
index 60836a5..3c00f91 100755
--- a/server/src/com/cloud/user/AccountManagerImpl.java
+++ b/server/src/com/cloud/user/AccountManagerImpl.java
@@ -977,9 +977,8 @@ public class AccountManagerImpl extends ManagerBase 
implements AccountManager, M
         @ActionEvent(eventType = EventTypes.EVENT_USER_CREATE, 
eventDescription = "creating User")
     })
     public UserAccount createUserAccount(final String userName, final String 
password, final String firstName, final String lastName, final String email,
-        final String timezone, String accountName,
-        final short accountType,
-                                         Long domainId, final String 
networkDomain, final Map<String, String> details, String accountUUID, final 
String userUUID) {
+        final String timezone, String accountName, final short accountType, 
Long domainId, final String networkDomain, final Map<String, String> details,
+        String accountUUID, final String userUUID) {
 
         if (accountName == null) {
             accountName = userName;
@@ -1045,13 +1044,6 @@ public class AccountManagerImpl extends ManagerBase 
implements AccountManager, M
                     user.setRegistrationToken(registrationToken);
                 }
 
-                // create correct account and group association based on 
accountType
-                if (accountType != Account.ACCOUNT_TYPE_PROJECT) {
-                    Map<Long, Long> accountGroupMap = new HashMap<Long, 
Long>();
-                    accountGroupMap.put(accountId, new Long(accountType + 1));
-                    _messageBus.publish(_name, MESSAGE_ADD_ACCOUNT_EVENT, 
PublishScope.LOCAL, accountGroupMap);
-                }
-
                 return new Pair<Long, Account>(user.getId(), account);
             }
         });
@@ -1059,6 +1051,13 @@ public class AccountManagerImpl extends ManagerBase 
implements AccountManager, M
         long userId = pair.first();
         Account account = pair.second();
 
+        // create correct account and group association based on accountType
+        if (accountType != Account.ACCOUNT_TYPE_PROJECT) {
+            Map<Long, Long> accountGroupMap = new HashMap<Long, Long>();
+            accountGroupMap.put(account.getId(), new Long(accountType + 1));
+            _messageBus.publish(_name, MESSAGE_ADD_ACCOUNT_EVENT, 
PublishScope.LOCAL, accountGroupMap);
+        }
+
         CallContext.current().putContextParameter(Account.class, 
account.getUuid());
 
         // check success

Reply via email to