diff --git a/server/imserver_new/cache/cachemgr.go b/server/imserver_new/cache/cachemgr.go index 2511435f..8e597312 100644 --- a/server/imserver_new/cache/cachemgr.go +++ b/server/imserver_new/cache/cachemgr.go @@ -105,13 +105,15 @@ func (this *cacheMgr) internalGetUsers(accountIds []string, cb func(int32, strin subTask.SetFail() return } - accountId := ds.GetByName("account_id") - u := this.getUser(accountId) - if u == nil { - u = newUserProfile() + if ds.Next() { + accountId := ds.GetByName("account_id") + u := this.getUser(accountId) + if u == nil { + u = newUserProfile() + } + u.loadFromDb(ds) + this.userHash[u.accountId] = u } - u.loadFromDb(ds) - this.userHash[u.accountId] = u if i + 1 < len(keys) { i++ subTask.Continue()