You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In case you set up a numeric aggregation within the same work item, this might result in an infinite loop. Normally a change of a source value should only trigger a single update of the target field thanks to the explicit check in the code to only update the target field in case the aggregated value is different than the current stored value.
However in case doubles are used you have a possible rounding issue to take into account. The code does not check on the small difference that can occur due to the internal represenation of doubles in .Net.
This results in the work item ending up in an infinite update loop and causes a lot of records in the table 'WorkItemsWere' to be created (history).
You are able to notice this after a while as opening and saving the work item will take up drastically more time due to this.
To resolve this issue you could for example modify line 52 in Aggregator.cs in the following way:
if (Math.Abs(aggregateValue - targetWorkItem.GetField(configAggregatorItem.TargetItem.Name, 0)) < 0.1)
In case you set up a numeric aggregation within the same work item, this might result in an infinite loop. Normally a change of a source value should only trigger a single update of the target field thanks to the explicit check in the code to only update the target field in case the aggregated value is different than the current stored value.
However in case doubles are used you have a possible rounding issue to take into account. The code does not check on the small difference that can occur due to the internal represenation of doubles in .Net.
This results in the work item ending up in an infinite update loop and causes a lot of records in the table 'WorkItemsWere' to be created (history).
You are able to notice this after a while as opening and saving the work item will take up drastically more time due to this.
To resolve this issue you could for example modify line 52 in Aggregator.cs in the following way:
if (Math.Abs(aggregateValue - targetWorkItem.GetField(configAggregatorItem.TargetItem.Name, 0)) < 0.1)
Source: CodePlex Issue 844
The text was updated successfully, but these errors were encountered: