Connector polling imports break after an update export

Matthew Clark 12 years ago updated by anonymous 9 years ago 5

After an item has been updated in a connector via an adapter, polling imports return errors saying the key has been duplicated:

Connector processing failed.
Connector Processing page 2 for connector chris21 DET failed with reason The key 100001 has been duplicated.. Duration: 00:00:00.3505859.
Error details:
System.ArgumentException: The key 100001 has been duplicated.
at Unify.Product.IdentityBroker.EntityRepositoryExtensions.DuplicateKeyBase(MultiKeyValue arg1)
at Unify.Framework.Collections.EnumerableExtensions.ToDictionaryWithKeyClashErrorTKey,TValue,TOriginal(IEnumerable`1 originalEnumerable, Func`2 keySelector, Func`2 valueSelector, Action`3 duplicateAction)
at Unify.Product.IdentityBroker.EntityRepositoryExtensions.ConvertConnectorEntitiesWithRepositoryEntities(IEnumerable`1 connectorEntities, IMultiKey`1 schemaKey, IQueryable`1 sourceEntities, Guid connectorId, IEnumerable`1 originalEntities)
at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.PerformChangeDetectionOnConnectorEntityPage(IEnumerable`1 connectorEntities, Int32 index, Int32 entitiesProcessedSoFar, Int32 totalNumberOfEntities, IEntityChangesReportGenerator`2 reportGenerator)
at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.<>c_DisplayClass4.<PerformChangeDetection>b_0(IEnumerable`1 page)
at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.ThreadsafeItemEvaluator.Evaluate()

This was done using a composite adapter.

Note that a full import succeeds. This is likely as it replaces the connector entity repository.

Matthew, are you looking at this one?

Assigned to Tony as discussed.

Changes to chris21 result in multiple changes added to the EAI file, hence the entity was being retrieved more than once on a poll. Updated the connector and Identity Broker with a distinct check. Confirmed to work locally, to be confirmed in the next build.