MIM Event Broker Forum

Welcome to the community forum for MIM Event Broker.

Browse the knowledge base, ask questions directly to the product group, or leverage the community to get answers. Leave ideas for new features and vote for the features or bug fixes you want most.

0
Published

AD Operations fail due to a COMException

Beau Harrison (Senior Product Software Engineer) 8 years ago updated by anonymous 8 years ago 1

Description

Attempting to run an AD Changes or AD Sync Changes Operation fails. Examining the logs shows that this was due to a COMException.

Affected Software

  • FIM Event Broker

Symptom

A COMException such as the following appears in the Event Broker logs:

System.Runtime.InteropServices.COMException(0x8007200A): The specified directory service attribute or value does not exist.

Resolution

This error can be caused due to a number of reasons:

  • The target AD instance does not exist or cannot be found
  • The account being used does not have adequate permissions to access the target AD instance

It is recommended that you use an application such as ADSI Edit or LDP.exe from the same machine as the Event Broker instance to ensure that aliases are properly resolving, the LDAP filter is correct, and the account in question has correct permissions.

0
Published

Active Directory operations fail with 'More data is available'

Beau Harrison (Senior Product Software Engineer) 8 years ago updated by anonymous 8 years ago 1

Description

Attempting to run an Active Directory operation fails. Examining the logs shows DirectoryServicesCOMException.

Affected Software

  • FIM Event Broker

Symptom

A DirectoryServicesCOMException such as the following appears in the Event Broker logs:

System.DirectoryServices.DirectoryServicesCOMException (0x800700EA): More data is available.
at System.DirectoryServices.SearchResultCollection.ResultsEnumerator.MoveNext()
at System.DirectoryServices.SearchResultCollection.get_InnerList()
at System.DirectoryServices.SearchResultCollection.get_Count()
at Unify.Product.EventBroker.ADSyncChangesPlugIn.GetChanges(DirectorySearcher searcher)
at Unify.Product.EventBroker.ADChangesPlugInBase.Check()
at Unify.Product.EventBroker.OperationListExecutorBase.RunCheck(ICheckOperationFactoryInformation checkOperation)

Resolution

Locate the *.exe.config in the Event Broker services directory, for an x64 installation this will be (by default):

C:\Program Files\UNIFY Solutions\Event Broker\Services\Unify.Service.Event.exe.config

and for an x86 installation this will be (by default):

C:\Program Files\UNIFY Solutions\Event Broker\Services\Unify.Service.Event32.exe.config

Add the following to the *.exe.config of the Event Broker services directory, inside the <configuration> element:

<configSections>
    <section name="system.directoryservices" type="System.DirectoryServices.SearchWaitHandler, System.DirectoryServices, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </configSections>
  <system.directoryservices>
    <DirectorySearcher waitForPagedSearchData="true" />
  </system.directoryservices>
TIP: This fixes a known issue with directory services paging.
0
Published

Active Directory operations do not detect changes correctly

Beau Harrison (Senior Product Software Engineer) 8 years ago updated by anonymous 8 years ago 1

Description

The Active Directory operations do not retrieve changes from the target instances correctly.

Affected Software

  • FIM Event Broker
  • Active Directory
  • Active Directory Domain Services
  • ADAM and ADLDS

Symptom

Following changes to the Active Directory instance or target organizational unit, the operation fails to detect a change.

Resolution

There are a number of reasons that Active Directory operations may not detect changes correctly:

  • The specified account does not have complete permissions to retrieve changes, and the Active Directory query returns no objects rather than an error message in some cases. Refer to Active Directory Changes and Active Directory Sync Changes for information on specific account requirements for each operation.
  • The target organizational unit or LDAP filter is incorrect, or does not contain the expected change. Ensure that the operation is configured correctly. Note that the AD Sync Changes operation cannot target a specific organizational unit.
  • Changes have not yet been replicated across domain controllers.
CHECK: Outcomes of queries may be determined by using a tool such as ADSI Edit or LDP.exe.
WARNING: Changes should always be detected by the first check of a new Active Directory operation.

Refer to an Active Directory expert or the Microsoft documentation for more information on specific configurations and instances.

0
Fixed

The async result is invalid

Bob Bradley 8 years ago updated by anonymous 8 years ago 10

Using

  • UNIFY FIM Event Broker v3.2.1 RTM x64

The following was written to the Event Broker logs last night:

System.DirectoryServices.Protocols:
System.ArgumentException: The async result is invalid.
   at System.DirectoryServices.Protocols.LdapPartialResultsProcessor.GetPartialResults(LdapPartialAsyncResult asyncResult)
   at Unify.Product.EventBroker.OpenLDAPListenPlugIn.ResultsCallback(IAsyncResult result)

The error was thrown by the AD listener for the AU.QBE.PRI forest in Production.

Related JIRA issue here.

Answer
anonymous 8 years ago

What's the recycle timeout on the operation? It wouldn't happen to be 1 day (the default), would it?

I have a fair idea of what's causing it - the listen operation gets reattached/recycled, and then a result comes in for the previous request. GetPartialResults doesn't like this, so throws the exception. It's safe to ignore.

I'll make the change, and it'll be available in v4.0.

Thanks.

0
Not a bug

System.DirectoryServices.DirectoryServicesCOMException raised by Event Broker changes plugin

Bob Bradley 8 years ago updated by anonymous 7 years ago 2

Using

  • MIM Event Broker v3.2.1 Rev #3

Following exception logged:

Operation 1d3f5988-7166-4e06-9596-ee0c58dc2823 failed in operation list with id 4e8908b6-3e19-494a-a50e-55ac8680124a <span class="code-keyword">for</span> the following reason. This is retry number 0: <span class="code-object">System</span>.DirectoryServices.DirectoryServicesCOMException (0x800700EA): More data is available.
   at <span class="code-object">System</span>.DirectoryServices.SearchResultCollection.ResultsEnumerator.MoveNext()
   at <span class="code-object">System</span>.DirectoryServices.SearchResultCollection.get_InnerList()
   at <span class="code-object">System</span>.DirectoryServices.SearchResultCollection.get_Count()
   at Unify.Product.EventBroker.ADSyncChangesPlugIn.GetChanges(DirectorySearcher searcher)
   at Unify.Product.EventBroker.ADChangesPlugInBase.Check()
   at Unify.Product.EventBroker.OperationListExecutorBase.RunCheck(ICheckOperationFactoryInformation checkOperation)
Answer
anonymous 7 years ago

No response.

0
Fixed

Error in stored values engine attempting to write to storage

Bob Bradley 8 years ago updated by anonymous 8 years ago 1

Using

  • Event Broker v3.2.1 Revision #3

The following was written this morning to the PROD EvB logs:

Operation 40266ccd-1acf-4960-b463-f466bb664eed failed in operation list with id 31bb88cc-a29d-40e7-8911-af6870f8b173 for the following reason. This is retry number 0: Unify.Framework.UnifyEngineException: Error in stored values engine attempting to write to storage, see the inner exception. ---> System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.Collections.Generic.Dictionary`2.Enumerator.MoveNext()
   at WriteArrayOfKeyValueOfGroupedNameValueCollectionKeyanyType70DdoCVIToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , CollectionDataContract )
   at System.Runtime.Serialization.CollectionDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeAndVerifyType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, Boolean verifyKnownType, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithXsiType(XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle objectTypeHandle, Type objectType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerializeReference(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at WriteStoredValueCollectionToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , ClassDataContract )
   at System.Runtime.Serialization.ClassDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   at System.Runtime.Serialization.DataContractSerializer.InternalWriteObjectContent(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.DataContractSerializer.InternalWriteObject(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.XmlObjectSerializer.WriteObjectHandleExceptions(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.XmlObjectSerializer.WriteObject(XmlDictionaryWriter writer, Object graph)
   at System.Runtime.Serialization.XmlObjectSerializer.WriteObject(Stream stream, Object graph)
   at Unify.Framework.StoredValues.IsolatedStoredValuesEngineBase.<>c__DisplayClass14_0.<SaveStoredValuesCollection>b__0()
   at Unify.Framework.ExtensionMethods.WaitOnMutex(Mutex mutex, Action work)
   at Unify.Framework.StoredValues.IsolatedStoredValuesEngineBase.SaveStoredValuesCollection(IStoredValueCollection storedValueCollection)
   --- End of inner exception stack trace ---
   at Unify.Framework.StoredValues.IsolatedStoredValuesEngineBase.SaveStoredValuesCollection(IStoredValueCollection storedValueCollection)
   at Unify.Product.EventBroker.ADSyncChangesPlugIn.GetChanges(DirectorySearcher searcher)
   at Unify.Product.EventBroker.ADChangesPlugInBase.Check()
   at Unify.Product.EventBroker.OperationListExecutorBase.RunCheck(ICheckOperationFactoryInformation checkOperation)

See related issue QBE-67 - possibly related to similar problem also occurring with Identity Broker where loss of data is an issue. In this case the obvious impact is re-reading the same changes multiple times - however there may be other more significant outcomes.

0
Declined

EB: Clear Run History enhancement

Tomasz Zukowski 8 years ago updated by anonymous 7 years ago 20

This question pertains to: https://unifysolutions.jira.com/wiki/display/EB32/Clear+Run+History

The HTML files created provide a list of the Run Profiles that have been executed for a specific period of time. The HTML file also contains what appears to be a hypertext link at the end of each row.

These hypertext links don't do anything - all the rows tell us is whether a Run Profile's status was a success, warning or failure - but it does not drill down into any of the details of the status.

Wouldn't it be more useful if the hypertext link revealed more information pertaining to the status of the specific Run Profile? This would be very useful for historical purposes and troubleshooting.

Otherwise, it's kind of a useless HTML file?

Is there a way to include more detail in the HTML file?

Thanks

Answer
anonymous 7 years ago

Closed due to inactivity.

0
Answered

Can MIM Event Broker determine when a PowerShell script has stopped running

André van der Westhuizen 8 years ago updated 8 years ago 4

We're setting up scheduled SSIS or PowerShell tasks, but need to ensure that they are executed sequentially. Are PowerShell operations executed synchronously?

Answer
anonymous 8 years ago

Hi Andre,

Unless otherwise stated, operations are executed synchronously. This is to ensure that the result of the operation can be used for branching. Currently the only operation that is asynchronous (optionally) is the Operation List Execute.

Thanks.

0
Completed

Operation Run Statistics

Phil Whipps 8 years ago updated by anonymous 7 years ago 2

It would be nice to have the Last run statistics on the Operation list have the last Operation Begin / End. Currently you can only see when the check was last run not the actual Operation.

Answer
anonymous 7 years ago

Thanks for the feedback Phil. At the moment, the Last run statistics represents the last time the operation list itself was executed, not the operations contained in it, which is why they update even when the check fails. We are looking at making improvements to the Event Broker dashboard in the future, so I'll make sure your feedback is considered as part of that.

0
Declined

Identity Broker Adapter Check operation should list Adapters

Andrew Silcock 8 years ago updated by anonymous 7 years ago 2

The Identity Broker Adapter check operation in EB 3.2 requires that you enter the Adapter ID, I would have thought EB could query IDB and display a list of Adapter names rather than having to find and enter the Adapter ID manually.

Answer
anonymous 7 years ago

Closing as no further information provided and not reproduced.