4 Replies Latest reply on Oct 11, 2016 4:39 PM by equalswql

    Node Discovery Error

    alth01

      I am currently running into an issue while running a Node Discovery via RestAPI.  I am seeing the following error in Status Description within SWQL Studio.   I have noticed is when I login into Orion and edit the Discovery Profile and click through it without modifying any settings the profile will run correctly and then the next attempted API call will work correctly without an error until the next day. 

       

      I have also included my JSON for failed discovery in the attachment. 

      (Updated information)

      Through some additional testing the following has been found.

      • Receive this error when using secondary Orion Engine's
      • Will not receive error if click through failed Job and manual start discovery via Web Page.  The next jobs will work correctly for about 20 mins and then start failing again.

       

       

       

      ERROR -

      A Network Discovery job has failed to complete.\r\nState: Failed\r\nProfile id: 59.\r\nThe Job Scheduler is reporting the following error:\r\nSolarWinds.JobEngine.WorkerProcess.JobExecutionException: System.Exception: Unable to deserialize job description. ---> System.Runtime.Serialization.SerializationException: Error in line 0 position 0. Element 'http://schemas.datacontract.org/2004/07/SolarWinds.Orion.Core.Models.Discovery:DiscoveryPluginJobDescriptionBase' contains data from a type that maps to the name 'http://schemas.solarwinds.com/2008/DeviceStudio:DeviceStudioDiscoveryPluginJobDescription'. The deserializer has no knowledge of any type that maps to this name. Consider using a DataContractResolver or add the type corresponding to 'DeviceStudioDiscoveryPluginJobDescription' to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding it to the list of known types passed to DataContractSerializer.

         at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator reader, String name, String ns, Type declaredType, DataContract& dataContract)

         at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator xmlReader, Int32 id, RuntimeTypeHandle declaredTypeHandle, String name, String ns)

         at ReadArrayOfDiscoveryPluginJobDescriptionBaseFromXml(XmlReaderDelegator , XmlObjectSerializerReadContext , XmlDictionaryString , XmlDictionaryString , CollectionDataContract )

         at System.Runtime.Serialization.CollectionDataContract.ReadXmlValue(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context)

         at System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadDataContractValue(DataContract dataContract, XmlReaderDelegator reader)

         at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator reader, String name, String ns, Type declaredType, DataContract& dataContract)

         at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator xmlReader, Int32 id, RuntimeTypeHandle declaredTypeHandle, String name, String ns)

         at ReadDiscoveryJobDescriptionFromXml(XmlReaderDelegator , XmlObjectSerializerReadContext , XmlDictionaryString[] , XmlDictionaryString[] )

         at System.Runtime.Serialization.ClassDataContract.ReadXmlValue(XmlReaderDelegator xmlReader, XmlObjectSerializerReadContext context)

         at System.Runtime.Serialization.XmlObjectSerializerReadContext.ReadDataContractValue(DataContract dataContract, XmlReaderDelegator reader)

         at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator reader, String name, String ns, Type declaredType, DataContract& dataContract)

         at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator xmlReader, Type declaredType, DataContract dataContract, String name, String ns)

         at System.Runtime.Serialization.DataContractSerializer.InternalReadObject(XmlReaderDelegator xmlReader, Boolean verifyObjectName, DataContractResolver dataContractResolver)

         at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)

         at System.Runtime.Serialization.DataContractSerializer.ReadObject(XmlReader reader, Boolean verifyObjectName)

         at SolarWinds.Orion.Common.SerializationHelper.FromXmlReader[T](XmlReader reader, Boolean verifyObjectName, IEnumerable`1 knownTypes)

         at SolarWinds.Orion.Common.SerializationHelper.FromXmlReader[T](XmlReader reader, IEnumerable`1 knownTypes)

         at SolarWinds.Orion.Discovery.Job.OrionDiscoveryJob.GetDiscoveryJobContext(String jobDetailConfiguration, IDiscoveryPluginFactory pluginFactory, List`1& plugins)

         --- End of inner exception stack trace ---

         at SolarWinds.Orion.Discovery.Job.OrionDiscoveryJob.GetDiscoveryJobContext(String jobDetailConfiguration, IDiscoveryPluginFactory pluginFactory, List`1& plugins)

         at SolarWinds.Orion.Discovery.Job.OrionDiscoveryJob.ConfigureJobContext()

         at SolarWinds.Orion.Discovery.Job.OrionDiscoveryJob.Execute(IJobExecutionHost host)

         at SolarWinds.JobEngine.WorkerProcess.Job2Adapter.Execute(IInternalJobExecutionHost host)

         at SolarWinds.JobEngine.WorkerProcess.Job2Adapter.Execute(IInternalJobExecutionHost host)

         at SolarWinds.JobEngine.WorkerProcess.JobDecorator.Execute(IInternalJobExecutionHost host)

         at SolarWinds.JobEngine.WorkerProcess.AgentDispatcher.ExecuteJobSynchronously(ActiveJob activeJob)

         at SolarWinds.JobEngine.WorkerProcess.AgentDispatcher.ExecuteJob(ActiveJob activeJob)

         at SolarWinds.JobEngine.WorkerProcess.AgentDispatcher.WorkItemDispatched(Object state)

         at SolarWinds.JobEngine.WorkerProcess.Job2Adapter.Execute(IInternalJobExecutionHost host)

         at SolarWinds.JobEngine.WorkerProcess.JobDecorator.Execute(IInternalJobExecutionHost host)

         at SolarWinds.JobEngine.WorkerProcess.AgentDispatcher.ExecuteJobSynchronously(ActiveJob activeJob)

         at SolarWinds.JobEngine.WorkerProcess.AgentDispatcher.ExecuteJob(ActiveJob activeJob)

         at SolarWinds.JobEngine.WorkerProcess.AgentDispatcher.WorkItemDispatched(Object state)

       

      Message was edited by: Shawn Stamper

        • Re: Node Discovery Error
          alth01

          Through some trouble shooting discovered the issue seems to be around starting a discovery through secondary EngineID. 

          1 of 1 people found this helpful
            • Re: Node Discovery Error
              tdanner

              When you say "I am seeing the following error in Status Description within SWQL Studio." Where exactly do you mean? I keep testing this (including with additional polling engines and with the request you posted in this thread), but I have not been able to reproduce this error.

                • Re: Node Discovery Error
                  alth01

                  When you say "I am seeing the following error in Status Description within SWQL Studio." Where exactly do you mean?  When I make a requesting not using the Primary Poller durning a Node Discovery through RestAPI. 

                   

                  I receive and Error within Orion console.  When I connect into SWIS to look at Discovery Profile ID I see the following error in Status Description.  "Network Discovery job has failed to complete.\r\nState: Failed\r\nProfile id: 59.\r\nThe Job Scheduler is reporting the following error:\r\nSolarWinds.JobEngine.WorkerProcess.JobExecutionException: System.Exception: Unable to deserialize job description. ---> System.Runtime.Serialization.SerializationException: Error in line 0 position 0. Element"

                   

                  Also there was a ticket created with support around this issue. Case 1012565 where logs where upload to.  Also I have created a video of the process we are using to add Node showing the error.

                   

                   

                   

              • Re: Node Discovery Error
                equalswql

                alth01 - Although I am not using REST api to do discoveries yet (I am hoping to get to that point of automation soon - have been leveraging the API for other tasks)

                I received nearly the same exact error message you posted above. Discoveries would hang/not complete/or cancel with error. The solution for me was to reinstall NPM package on the additional poller that the discovery was assigned to. Immediately after doing this and completing the config wiz that was part of the process of repairing - discoveries were working fine again.