GetUserByUserID returns NULL for UserID provided by lstUserID parameter of onUserJoin callback

Description
In “onUserJoin” callback, we are using the passed “lstUserID” param to get the list of UserIDs of users who have joined and use those UserIDs to fetch individual user details by calling GetUserByUserID of ParticipantController for each UserID. However, sometimes, intermittently, for one of the UserID the function GetUserByUserID returns NULL when calling the function from inside “onUserJoin” to fetch individual user details.

Which version?
v4.4.56616.1028

To Reproduce(If applicable)
Occurs Intermittently. I faced it once when I was admitting users from Waiting Room one by one.

Additional context
The Code we are using
void ZoomController::onUserJoin(IList<unsigned int >* lstUserID, const wchar_t* strUserList) { int count = lstUserID->GetCount(); int userId; Json::Value userArrayJson; Json::Value participants; userArrayJson = Json::arrayValue; participants = Json::arrayValue; for (int i = 0; i < count; ++i) { userId = lstUserID->GetItem(i); IMeetingParticipantsController *participantsController = meetingService->GetMeetingParticipantsController(); IUserInfo* user = participantsController->GetUserByUserID(userId); if (user) { userArrayJson.append(convertToJson(user)); participants.append(convertToJsonV2(user)); Json::Value logJson; logJson["userJoin"]["id"] = userId; logJson["userJoin"]["email"] = userArrayJson[i]["email"]; logJson["userJoin"]["name"] = userArrayJson[i]["name"]; LOG_INFO(TAG) << Utility::jsonToString(logJson); } else { LOG_WARNING(TAG) << "Participant join user id: " << userId << " does not exist"; } } }
Sent the SDK logs of a meeting where we faced this issue to @Carson_Chen through personal message

Hi Rishi_Sharma,

Thanks for the post and the log. I have forwarded this to the engineering team for investigation, will get back to you asap.

Thanks!

Hi @Carson_Chen, is there any response from engineering team, as our production system is being affected by this issue ?

Hi Rishi_Sharma,

Thanks for the reply and thanks again for the log files. We are able to identify an issue with this interface and we will fix it in the next release, which will be out very soon. Pardon the inconvenience caused by this.

Thanks!

Has the issue been fixed in the latest release v4.6.15798.0403 ?

Thanks!

Hi Rishi_Sharma,

Thanks for the reply. Yes, this issue has been addressed in this release. Please have a try.

Thanks!

I am using that exact version and I am getting NULLs returned
on all interface methods that I attempt to call.
please help anybody?

Hi mues,

Thansk for the reply. Are you using v4.6.15798.0403? Could you name some of the interfaces that you are getting NULL with? Could you provide the SDK log so that we could further investigate?

Thanks!

Hi @Carson_Chen,

I seem to be again getting the same issue of IUserInfo being returned NULL by IMeetingParticipantsController::GetUserByUserID when being called for userID (say xyz) received in plstActiveAudio parameter of IMeetingAudioCtrlEvent::onUserActiveAudioChange callback.
Also, IMeetingParticipantsCtrlEvent::onUserJoin callback was not received for the same xyz userID, but IMeetingAudioCtrlEvent::onUserActiveAudioChange callback was received.
Sending the SDK logs to you separately through personal message.

Thanks !

@Carson_Chen I’ve shared the SDK logs over the email with you as I was unable to find the option to send personal message

Hi @Rishi_Sharma,

Thank you very much and I have received the log. I will pass them to the engineering team for further investigation. Will get back to you as soon as I heard back from the team.

Thanks!

Hi Carson,

Has there been any reply from engineering team ?

Thank You,
Rishi Sharma

Hi @Rishi_Sharma,

Thanks for the follow-up. The engineering team would need some additional help from you if possible:

When the IMeetingParticipantsController::GetUserByUserID returns NULL, could you help to record the userID that is being used? It would also be helpful if you could record the time when you receive the callback.

Thanks!

Hi @Carson_Chen,

The UserId for which it returned NULL was 16785408.
These are the UTC timestamps when the GetUserByUserID returned NULL for above-mentioned userId:
2020-06-03 19:00:52.292337
2020-06-03 19:00:52.291847

Thanks @Rishi_Sharma. Are these userIDs from the meeting in the log? Or another meeting?

@Carson_Chen Yes, these userIDs are from the meeting in the log provided

Thank you! I will forwarded this to the engineering team for investigation. Will get back to you shortly.