Configuration.Instance.GetItemConfigurations Timeout

Hi

We have MFA setup.

After the smart client logged in and the parent server/site went down completely(SQL, server, event server, except recording server), we clicked the sample plugin, Configuration.Instance.GetItemConfigurations takes a long time to timeout smart client.

The smart client is completely frozen later we get an error message

ERROR - ServiceChannelClient: Client error occured. Message: There was no endpoint listening at http://primaryrec1.domn.com/ManagementServer/SCHMessageWatchManagerOAuth.1.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.

2022-07-27 22:15:53.065-07:00 [ 94] ERROR - ServerCommandController: Exception occured.

Message: Internal error - The communication object, System.ServiceModel.ChannelFactory`1[VideoOS.Common.Proxy.Server.WCF.IServerCommandService], cannot be modified while it is in the Opening state.

Source: VideoOS.Shared

ExceptionType: VideoOS.Common.CommandApi.CommandAPIInternalException

Source: at VideoOS.Common.CommandApi.CommandService.SetCustomSettingDataUser2(Guid customSettingsId, CustomSettingData customSettingData, Boolean forceOverride)

at VideoOS.RemoteClient.Application.Controllers.ServerCommandController.SetCustomSettingDataUser2(Guid serverId, Guid customSettingsId, CustomSettingData customSettingData, Boolean forceOverride, Boolean handleException)–>

Message: The communication object, System.ServiceModel.ChannelFactory`1[VideoOS.Common.Proxy.Server.WCF.IServerCommandService], cannot be modified while it is in the Opening state.

Source: System.ServiceModel

Source: at System.ServiceModel.Channels.CommunicationObject.ThrowIfDisposedOrImmutable()

at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)

at System.ServiceModel.ChannelFactory.EnsureOpened()

at System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address, Uri via)

at System.ServiceModel.ClientBase`1.CreateChannel()

at System.ServiceModel.ClientBase`1.CreateChannelInternal()

at System.ServiceModel.ClientBase`1.get_Channel()

at VideoOS.Common.Proxy.Server.WCF.ServerCommandServiceClient.SetCustomSettingDataUser2(String token, Guid customSettingId, CustomSettingInternalData customSettingData, Boolean forceOverride)

at VideoOS.Shared.ServerAPI.WCF.ServerApiSvcDecorator.<>c__DisplayClass236_0.b__0(IServerCommandService client)

at VideoOS.WebService.Common.Framework.ManagerBase`2.CallWithRetry[TResult](Func`2 call, Func`2 manualErrorHandler)

at VideoOS.Shared.ServerAPI.WCF.ServerApiSvcDecorator.SetCustomSettingDataUser2(String token, Guid customSettingId, ICustomSettingData customSettingData, Boolean forceOverride)

at VideoOS.Common.CommandApi.CommandService.SetCustomSettingDataUser2(Guid customSettingsId, CustomSettingData customSettingData, Boolean forceOverride)

Can we set the timeout value? This makes complete smart client hang and unusable till the timeout and message pops up.

Thanks.

Vikas

I am sorry for delayed reply. I have consulted Milestone Development and they will start an investigation so let me get back to you later.

Their comment is:

-—

Looking at the post on the dev forum, it seems there is 2 issues going on.

  1. The Configuration.Instance.GetItemConfiguration call make the SC hangs.

  2. The ServiceChannel client writes an error in the SC logs.

We do not think these 2 issues are related. But they are caused by having the management server offline on both the parent and child sites.

Since the GetItemConfiguration properly calls the ManagementServer, the SC will hang if the MIP plugin sample calls GetItemConfiguration from the main UI thread. As for timeouts of the network call, without understanding what call to the server is causing SC to hang, it is impossible to know if there are any timeout value that can be changed.

Normally all network calls should be handle by a dedicated thread, as to not hang the ui. And we should not change the timeouts. So perhaps the sample should be changed to reflect this.

We will start this investigation.

Which sample are you using? You mentioned “the sample” in the question.

Serverside Carrousel sample - ServerSideCarrousel

I am very sorry for delayed reply. Milestone Development had investigated this issue for a long time, and they have fixed 1) as above developer’s comment.

As a result of this fix, Smart Client will not hang anymore and you will see appropriate error message in the error. The fix will be released on 2023 R1.