Dear all,
I am looking for help interpreting a synchronization error in the interviewer app trace log.
We are currently in the field with a survey and our interviewers are having problems synchronizing completed assignments to HQ. The issue is affecting most interviewers, but the severity is idiosyncratic: a few interviewers have 25/50 assignments that won’t sync, while for others it is only 1 or 2 completed assignments. For context, the server application is hosted on our AWS servers.
We followed the troubleshooting guidance here, which did not resolve the issue. I am now reviewing trace logs from one of the interviewers tablets and would appreciate any insights on interpreting the error code. I extracted a portion, which I think shows a failed synchronization, based on my review of this previous discussion in the forum.
17:17:18[EnumeratorAuditLogService][Info][CompleteInterview {"InterviewId":"9bc8c1b7-4f34-4036-98f1-1779ced6ecdd","InterviewKey":"38-55-49-41","Type":"CompleteInterview"}]
17:17:18[EnumeratorAuditLogService][Info][CloseInterview {"InterviewId":"9bc8c1b7-4f34-4036-98f1-1779ced6ecdd","InterviewKey":"38-55-49-41","Type":"CloseInterview"}]
17:17:23[EnumeratorAuditLogService][Info][SynchronizationStarted {"SynchronizationType":"Online","Type":"SynchronizationStarted"}]
17:17:47[InterviewerUploadInterviews][Error][Failed to synchronize interview]WB.Core.SharedKernels.Enumerator.Implementation.Services.SynchronizationException: Votre login ou mot de passe n'est pas correct ---> WB.Core.Infrastructure.HttpServices.HttpClient.RestException: Forbidden ---> WB.Core.Infrastructure.HttpServices.HttpClient.ExtendedMessageHandlerException: Request POST https://XXXXXXXXXXXXXXXX/api/interviewer/v3/interviews/c492b99d-1cd4-4399-b9b1-004032bdb3e0/image failed with status code 403 (Forbidden).
at WB.Core.Infrastructure.HttpServices.HttpClient.ExtendedMessageHandler.SendAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) [0x0011e] in <00839cd14742427b8ae84a7d9082ef48>:0
at System.Net.Http.HttpClient.FinishSendAsyncUnbuffered (System.Threading.Tasks.Task`1[TResult] sendTask, System.Net.Http.HttpRequestMessage request, System.Threading.CancellationTokenSource cts, System.Boolean disposeCts) [0x000b3] in <3ab97adc469048029b91f4dbf8384ccb>:0
at WB.Core.Infrastructure.HttpServices.Services.RestService.ExecuteRequestAsync (System.String url, System.Net.Http.HttpMethod method, System.Object queryString, System.Net.Http.HttpContent httpContent, WB.Core.Infrastructure.HttpServices.HttpClient.RestCredentials credentials, System.Boolean forceNoCache, System.Collections.Generic.Dictionary`2[TKey,TValue] customHeaders, System.Nullable`1[T] userCancellationToken) [0x003f7] in <00839cd14742427b8ae84a7d9082ef48>:0
--- End of inner exception stack trace ---
at WB.Core.Infrastructure.HttpServices.Services.RestService.ExecuteRequestAsync (System.String url, System.Net.Http.HttpMethod method, System.Object queryString, System.Net.Http.HttpContent httpContent, WB.Core.Infrastructure.HttpServices.HttpClient.RestCredentials credentials, System.Boolean forceNoCache, System.Collections.Generic.Dictionary`2[TKey,TValue] customHeaders, System.Nullable`1[T] userCancellationToken) [0x005cc] in <00839cd14742427b8ae84a7d9082ef48>:0
at WB.Core.SharedKernels.Enumerator.Implementation.Services.EnumeratorSynchronizationService.TryGetRestResponseOrThrowAsync (System.Func`1[TResult] restRequestTask) [0x00080] in <58aad36136cc47d0892eecec2cd4dcfa>:0
--- End of inner exception stack trace ---
at WB.Core.SharedKernels.Enumerator.Implementation.Services.EnumeratorSynchronizationService.TryGetRestResponseOrThrowAsync (System.Func`1[TResult] restRequestTask) [0x0008e] in <58aad36136cc47d0892eecec2cd4dcfa>:0
at WB.Core.SharedKernels.Enumerator.Implementation.Services.Synchronization.Steps.UploadInterviews.UploadImagesByInterviewAsync (WB.Core.SharedKernels.Enumerator.Views.InterviewView interview, WB.Core.SharedKernels.DataCollection.WebApi.InterviewUploadState uploadState, System.IProgress`1[T] progress, System.Threading.CancellationToken cancellationToken) [0x00266] in <58aad36136cc47d0892eecec2cd4dcfa>:0
at WB.Core.SharedKernels.Enumerator.Implementation.Services.Synchronization.Steps.UploadInterviews.ExecuteAsync () [0x003bb] in <58aad36136cc47d0892eecec2cd4dcfa>:0 |MoveNextRunner.InvokeMoveNext => <ExecuteAsync>d__8.MoveNext => NLogLogger.Error
The first [Error][Failed to synchronize interview] line states Votre login ou mot de passe n'est pas correct
, which translates to “your login or password is not correct.” There is also another portion of the line which states image failed with status code 403 (Forbidden)
.
My naïve interpretation, is that this error is either due to a password problem or a problem with a photograph, which is collected as part of the interview. I am confused by these errors, since the same interviewer had successfully synced other completed interviews and we have received pictures for other completed assignments.
Could you confirm that I have correctly identified the synchronization error in the trace log and advise me on any next steps we can take to resolve this synchronization problem? If my interpretation of the error is incorrect, what should I look for or would you like to see more information from the trace log?
Many thanks,
Anthony