Symptoms
While deploying a change to production (updating a sql view) I noticed that the sql server service was timing out on the refresh. So I modified the command timeout of the service broker to be 900 instead of 30. Then I restarted the K2 service. The K2 Service fails to restart.
I have attached the server log. It looks like the event bus is failing to start. I am afraid I did something to the hostserver config.
Diagnoses
We had the following error show in host server logs after attempting to start the service:
"30079583","2016-12-02 00:22:58","Error","EventBus","7506","Initializing","ScheduleProcessing.InitializeConfigSettings","7506 Unable to initialize configuration settings: System.TypeInitializationException: The type initializer for 'SourceCode.EventBus.Utils.Config' threw an exception. ---> System.Configuration.ConfigurationErrorsException: Unrecognized attribute 'assemblytyperessolver'. Note that attribute names are case-sensitive. (C:Program Files (x86)K2 blackpearlHost ServerBinK2HostServer.exe.Config line 38)
at System.Configuration.BaseConfigurationRecord.EvaluateOne(Stringn] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult)
at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Objectand result, Objectand resultRuntimeObject)
at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Objectand result, Objectand resultRuntimeObject)
at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Objectand result, Objectand resultRuntimeObject)
at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Objectand result, Objectand resultRuntimeObject)
at System.Configuration.BaseConfigurationRecord.GetSection(String configKey)
at System.Configuration.ConfigurationManager.GetSection(String sectionName)
at SourceCode.EventBus.Utils.Config..cctor()
--- End of inner exception stack trace ---
at SourceCode.EventBus.Utils.Config.get_EventBusConfiguration()
at SourceCode.EventBus.Scheduler.Server.ScheduleProcessing.InitializeConfigSettings()","anonymous","0.0.0.0","USASWLEWI0024:C:Program Files (x86)K2 blackpearlHost ServerBin","30079583","d804e54c26844176acd3a488d550ae2b",""
Customer noticed that the part of the error "Unrecognized attribute 'assemblytyperessolver'." has an extra 's' in assemblytyperesolver.
Resolution
We edited the K2Hostserver.exe.config and removing the extra s from that attribute in the config file. Saved this file and then attempted to restart the service again. This time the service started with no issue.
The extra 's' was most likely added on accident by the customer. I was able to get the same behavior if I added in an extra s to that assemblytyperesolver string in the K2hostserver.exe.config file. I also tried manipulating the SQL service instance as customer did to see if that might for some reason cause the config file to be malformed. I did not see any errors with starting the service after changing Command Timeout Service Key to 900 from default 30.