Identity Broker Forum

Welcome to the community forum for Identity 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
Not a bug

Multivalue Group tranform didn't update field when source field was updated

Adrian Corston 3 years ago in UNIFYBroker Service updated by Matthew Davis (Technical Product Manager) 3 years ago 6

I have two MV Group transforms in an adapter:

Image 6088

The MemberUPNs field updated correctly, but MemberAzureIDs did not.  There are six values in MemberUPNs, but only two in MemberAzureIDs.  Manual validation confirms that the matching values in the second transform's connector are present and correct.  I do not know what the old value of MemberUPNs was.

I believe the change occurred on 30/6/21 some time in the hour or two prior to 8am, but unfortunately the corresponding log file has already been deleted.

Answer

Closing this item as it appears to be a misdiagnosis. Feel free to re-open if the issue surfaces again and presents the same way.

0
Answered

Error on Techone SMS staff Connector - TechOne SMS Staff failed with reason The key has been duplicated

Abhishek S 3 years ago in UNIFYBroker Service updated by Matthew Davis (Technical Product Manager) 3 years ago 1

Hi,
Below is from the IDB Logs; I cannot find the duplicate value for the user accounts. Could you please let me know what could be another issue here?
Thank you


Connector Processing page 1 for connector TechOne SMS Staff failed with reason The key CARLSSOS has been duplicated.. Duration: 00:00:00.9687755.

Error details:

System.ArgumentException: The key CARLSSOS has been duplicated.

at Unify.Product.IdentityBroker.EntityRepositoryExtensions.DuplicateKeyBase(MultiKeyValue arg1)

at Unify.Framework.Collections.EnumerableExtensions.ToDictionaryWithKeyClashError[TKey,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, IEntityChangesReportGenerator`2 reportGenerator)

at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.<>c__DisplayClass3.b__0(IEnumerable`1 page)

at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.ThreadsafeItemEvaluator.Evaluate()",Normal

20210704,15:30:57,UNIFY Identity Broker,Connector Processor,Information,"Connector Processing started.

Connector Processing started for connector TechOne SMS Staff (page 2)",Normal

20210704,15:30:58,UNIFY Identity Broker,Connector Processor,Information,"Connector processing failed.

Connector Processing page 2 for connector TechOne SMS Staff failed with reason The key GOODMANN has been duplicated.. Duration: 00:00:01.4374637.

Error details:

System.ArgumentException: The key GOODMANN has been duplicated.

at Unify.Product.IdentityBroker.EntityRepositoryExtensions.DuplicateKeyBase(MultiKeyValue arg1)

at Unify.Framework.Collections.EnumerableExtensions.ToDictionaryWithKeyClashError[TKey,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, IEntityChangesReportGenerator`2 reportGenerator)

at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.<>c__DisplayClass3.b__0(IEnumerable`1 page)

at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.ThreadsafeItemEvaluator.Evaluate()",Normal

20210704,15:31:23,UNIFY Identity Broker,Connector Processor,Information,"Connector Processing started.

Connector Processing started for connector TechOne SMS Staff (page 3)",Normal

20210704,15:31:25,UNIFY Identity Broker,Connector Processor,Information,"Connector processing failed.

Connector Processing page 3 for connector TechOne SMS Staff failed with reason The key ANDREWE has been duplicated.. Duration: 00:00:01.9218138.

Error details:

System.ArgumentException: The key ANDREWE has been duplicated.

at Unify.Product.IdentityBroker.EntityRepositoryExtensions.DuplicateKeyBase(MultiKeyValue arg1)

at Unify.Framework.Collections.EnumerableExtensions.ToDictionaryWithKeyClashError[TKey,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, IEntityChangesReportGenerator`2 reportGenerator)

at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.<>c__DisplayClass3.b__0(IEnumerable`1 page)

at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.ThreadsafeItemEvaluator.Evaluate()",Normal

Answer

Hi Abhishek,

This means that while importing data from the system (TechOne SMS Staff), there are duplicate keys coming through. UNIFYBroker can't process the data if the primary key is not unique.

Check the system that the data is being imported from to see if there are records with duplicated keys.

0
Not a bug

Inexplicable 'Source entity shared a join target with another source entity'

Adrian Corston 3 years ago in UNIFYBroker/Plus updated by Matthew Davis (Technical Product Manager) 2 years ago 6

I am seeing this familiar error:

Image 6066

(Baseline synchronization failed with the message "Source entity '93fe60b9-05ba-4b92-b167-80738bdad66a' shares a join target with another source entity: '695411ab-e878-4ae2-9e39-f04267ac6767'. Cannot proceed with join.". See logs for more details.)

I can't see why this is the case - the join criteria is on source field 'EmployeeNumber' and those two source entities have different values:

93fe60b9-05ba-4b92-b167-80738bdad66a EmployeeNumber=145627
695411ab-e878-4ae2-9e39-f04267ac6767 EmployeeNumber=145158

Could you please look at the joins in the database and tell me what's going on internally to see if that sheds light on how this has happened?

The environment has been running for months now, untouched from an administrative perspective.

Because I can see 66 pending incoming updates on that link that aren't being processed it seems like this failure is either (a) blocking all subsequent mappings for that link, or (b) happening for 66 different joins.  The customer reported that their upstream changes are not flowing through to AD.

Answer

Not enough detail to properly investigate/replicate this issue. Happy to be reopened if the issue resurfaces

0
Answered

Unify Identity Broker- The transaction has aborted Error

Abhishek S 4 years ago in UNIFYBroker Service updated 3 years ago 4

Hi,

We are using Unify identity Broker version v4.1.1 Revision #1 and one of the Connector is having below error  

Import All Run

Change detection engine import all items for connector Aurion Staging Staff Details Connector failed with reason The transaction has aborted.. Duration: 00:12:00.6306978

Based on my understanding, Connector is timing out if it's runs more than 10mins and I'm unable to find the set timeout threshold field limit in Identity broker. Can you please confirm where it could be set  or is there option to set the version we have.

Thank you

Below is from the logs

Direct communicator
Exception occured after [00:10:18.3617284] duration.

System.Transactions.TransactionAbortedException: The transaction has aborted. ---> System.TimeoutException: Transaction Timeout
--- End of inner exception stack trace ---
at System.Transactions.TransactionStateAborted.BeginCommit(InternalTransaction tx, Boolean asyncCommit, AsyncCallback asyncCallback, Object asyncState)
at System.Transactions.CommittableTransaction.Commit()
at System.Transactions.TransactionScope.InternalDispose()
at System.Transactions.TransactionScope.Dispose()
at Unify.Framework.Data.AdoNetDataControl.ExecuteDataSetQuery(DataSet resultSet, String commandText, IEnumerable`1 parameters, String[] tableNames, CommandType commandType)
at Unify.Framework.Data.AdoNetDataControl.ReturnDataSetQuery[T](String commandText, IEnumerable`1 parameters, String[] tableNames, CommandType commandType)
at Unify.Product.IdentityBroker.DirectCommunicatorBase`1.GetAllEntitiesDataTable()
at Unify.Product.IdentityBroker.DirectCommunicatorBase`1.GetAllEntities()
Answer

Hi Abhishek,

The timeout for the database connector can be set on the agent that is used for that connector. In this case that appears to be the SQL server agent, which has a configuration setting for Operation Timeout.

You can find details on that configuration here: SQL Server Database Agent / UNIFYBroker knowledge / UNIFY Solutions

0
Declined

Understand change detection better

Adrian Corston 4 years ago in UNIFYBroker Service updated by Matthew Davis (Technical Product Manager) 3 years ago 2

I have these adapter transforms set up:

Image 6016

Changes to the EmployeeNumbers attribute should flow through the following other attributes in this order:

  1. MemberADUPNs (first MVG transform)
  2. MemberAzureUPNs (PowerShell transform)
  3. MemberAzureIDs (second MVG transform)

Sometimes when EmployeeNumbers values are updated I see MemberADUPNs and MemberAzureUPNs updating correctly, but MemberAzureIDs does not update with the new value like it should.

Q1. Is this because "PowerShell transforms break change detection"?  i.e. UNIFYBroker doesn't know that it needs to run the second MVG transform to update MemberAzureIDs, because it has no way to know that that MemberAzureUPNs may be updated by the PowerShell transform?

Q2. Could Beau's new "Register-Contribution" cmdlet be used in the PowerShell transform to make it so it does?

0

Flag to configure UNIFYBroker/Plus to delete adapter entities with incomplete joins

Adrian Corston 4 years ago in UNIFYBroker/Plus updated by Matthew Davis (Technical Product Manager) 3 years ago 0

If an adapter has an incomplete entity on a link (i.e. no matching locker entity for the join criteria) then currently UNIFYBroker reports a warning.  In many circumstances it would be appropriate to delete the adapter entity in this situation, to ensure the external data source was kept in sync with the locker.  Add a configuration flag to enable this functionality.

0
Planned

Add ability to recreate deleted future-dated adapter changes (Time Offset Flag etc)

Adrian Corston 4 years ago in UNIFYBroker Service updated by Matthew Davis (Technical Product Manager) 2 years ago 2

In ticket https://voice.unifysolutions.net/en/communities/6/topics/4238-time-offset-flag-didnt-re-evaluate-when-date-threshold-was-passed?redirect_to_reply=21889# Beau mentions that:

Image 5994

Add functionality to recreate deleted future-dated adapter changes to the UNIFYBroker UI (and API).

This should also be called automatically after a Clear Adapter Changes operation completes, because it is unlikely that there are any conceivable scenario where future-dated changes should not be restored, and without them UNIFYBroker does not operate sensibly (i.e. expected transforms silently fail to trigger when the configuration suggests they should).

Also, update the Clear Adapter Changes documentation in Voice to indicate that after running Clear Adapter Changes some transforms will no longer work correctly until Clear Precalculated Entities is run or all relevant date fields on all adapter entities are updated.

0
Fixed

Time Offset Flag didn't re-evaluate when date threshold was passed

Adrian Corston 4 years ago in UNIFYBroker Service updated 3 years ago 21

I have the following Time Offset Flag adapter transformation configured:

Image 5989

For the problematical entity the EndTimestampUTC field is "4/22/2021 12:00:00 PM" (i.e. midnight at the start of April 23rd in my customer's timezone - NZ), so the corresponding UTC timestamp for the threshold comparison should be "5/7/2021 12:00:00 PM" (i.e. midnight at the start of May 8th in NZ timezone).  EndTimestampUTC was changed to that value on May 7 (i.e. before UTC 5/7/2021 12:00:00 PM) but even though today is now May 10th the PostEndPlus14 field hasn't been re-evaluated to "Yes" as I would have expected (i.e. transition from the ">" case to the "<" case).

Image 5990

To allow a better chance to debug I have not run a Generate Changes on the adapter yet.

0
Answered

How soon will temporal transformations (e.g. Time Offset) be re-evaluated after the current date and time changes?

How soon will temporal transformations (e.g. Time Offset) be re-evaluated after the current date and time changes?

0
Planned

Baseline Sync calling connector entity update for all entities even when there are no value changes

Adrian Corston 4 years ago in UNIFYBroker/Plus updated by Shane Day (Chief Technology Officer) 9 months ago 3

When a Baseline Sync runs on a link the connector's update export functionality is called to update every entity, even when there are no field value changes.  This places an unnecessary load on UNIFYBroker and performs null updates against the external system for no discernible reason, and since UNIFYBroker/Plus is unable to sync any other links while this takes place can result in unnecessary processing delays while the connector is busy effectively doing nothing.