Date Posted:
Product: TIBCO Spotfire®
Product: TIBCO Spotfire®
Problem:
Error "An exception occurred during a transaction and the attempt to rollback failed." when trying to apply a bookmark based on a map chart in TIBCO Spotfire
Solution:
When trying to apply bookmarks that are based on a map chart, they will fail with an error similar to below:
Could not perform action 'Bookmark name'. An exception occurred during a transaction and the attempt to rollback failed. at Spotfire.Dxp.Framework.Commands.CommandHistory.RollbackOutermostTransaction(Exception exception, Object busyProof) at Spotfire.Dxp.Framework.DocumentModel.TransactionHandle.Dispose(Boolean disposing) at Spotfire.Dxp.Framework.Commands.CommandHistory.OutermostTransactionHandle.Dispose(Boolean disposing) at Spotfire.Dxp.Framework.Commands.CommandHistory.Transaction(Executor executor, Boolean visible, Boolean sticky, Guid stickyGuid, Boolean isHighlight) at Spotfire.Dxp.Framework.Commands.CommandHistory.Transaction(String displayName, Executor executor) at Spotfire.Dxp.Application.Visuals.HtmlTextArea.InteractWithControl(String id, Action`1 interaction)
When checking the client log file, the following stack trace can be seen:
ERROR Spotfire.Dxp.Application.AnalyticItems.BookmarkManager [(null)] - Bookmark could not be applied. System.InvalidOperationException: Node 'Spotfire.Dxp.Application.Visuals.Maps.ImageLayer' has two properties named 'EditMode'. at Spotfire.Dxp.Framework.DocumentModel.DocumentNode.ValidatePropertyIsNotDuplicate(Set`1 propertyNames, PropertyName property) at Spotfire.Dxp.Framework.DocumentModel.DocumentNode.<>c__DisplayClass103_0.<ValidatePropertyDuplicates>b__1(Node node) at Spotfire.Dxp.Framework.DocumentModel.State.NodeState.<>c__DisplayClass92_0.<ForEachManagedChild>b__0(IDocumentNodeChild documentNodeChild) at Spotfire.Dxp.Framework.DocumentModel.State.NodeState.ForEachChild(List`1 children, Action`1 action) at Spotfire.Dxp.Framework.DocumentModel.DocumentNode.<>c.<ValidatePropertyDuplicates>b__103_0(DocumentNode documentNode) at Spotfire.Dxp.Framework.DocumentModel.DocumentNode.<>c__DisplayClass178_0.<ForEachNonFrozenDocumentNodeInSubTree>b__0(Node node) at Spotfire.Dxp.Framework.DocumentModel.Node.ForEachNonFrozenNodeInSubTree(Action`1 action) at Spotfire.Dxp.Framework.DocumentModel.UndoableListAvlLeaf`1.ForEachChild(Action`1 action, Boolean includeFrozen) at Spotfire.Dxp.Framework.DocumentModel.Node.ForEachNonFrozenNodeInSubTree(Action`1 action) at Spotfire.Dxp.Framework.DocumentModel.UndoableListAvlNode`1.ForEachChild(Action`1 action, Boolean includeFrozen) at Spotfire.Dxp.Framework.DocumentModel.Node.ForEachNonFrozenNodeInSubTree(Action`1 action) at Spotfire.Dxp.Framework.DocumentModel.UndoableListAvlNode`1.ForEachChild(Action`1 action, Boolean includeFrozen) at Spotfire.Dxp.Framework.DocumentModel.Node.ForEachNonFrozenNodeInSubTree(Action`1 action) at Spotfire.Dxp.Framework.DocumentModel.UndoableList`1.ForEachChild(Action`1 action, Boolean includeFrozen) at Spotfire.Dxp.Framework.DocumentModel.Node.ForEachNonFrozenNodeInSubTree(Action`1 action) at Spotfire.Dxp.Framework.DocumentModel.State.NodeState.<>c__DisplayClass92_0.<ForEachManagedChild>b__0(IDocumentNodeChild documentNodeChild) at Spotfire.Dxp.Framework.DocumentModel.State.NodeState.ForEachChild(List`1 children, Action`1 action) at Spotfire.Dxp.Framework.DocumentModel.Node.ForEachNonFrozenNodeInSubTree(Action`1 action) at Spotfire.Dxp.Framework.DocumentModel.State.NodeState.<>c__DisplayClass92_0.<ForEachManagedChild>b__0(IDocumentNodeChild documentNodeChild) at Spotfire.Dxp.Framework.DocumentModel.State.NodeState.ForEachChild(List`1 children, Action`1 action) at Spotfire.Dxp.Framework.DocumentModel.Node.ForEachNonFrozenNodeInSubTree(Action`1 action) at Spotfire.Dxp.Framework.DocumentModel.DocumentNode.ConfigureAndAttachFromNew() at Spotfire.Dxp.Framework.DocumentModel.DocumentNode.AttachSubTreeWhileExecuting(UndoableNodeBase newOwner) at Spotfire.Dxp.Framework.DocumentModel.UndoableNode.Spotfire.Dxp.Framework.DocumentModel.IUndoableNode.AttachItemToUndoableNode(Object item) at Spotfire.Dxp.Framework.DocumentModel.UndoableProperty`1.<>c__DisplayClass10_0.<set_Value>b__0() at Spotfire.Dxp.Framework.DocumentModel.Node.InternalTransaction(Executor executor, Boolean rollbackNestedInternalTransactionAtException, Boolean isStreamingProperty) at Spotfire.Dxp.Application.AnalyticItems.VisualAnalyticItem.<>c__DisplayClass22_0.<GetUpdater>b__1(VisualContent documentNode) at Spotfire.Dxp.Application.AnalyticItems.SerializedDocumentNodeAnalyticItem`1.Apply(T currentDocumentNode, Action`1 updater, BookmarkApplyContext applyContext) at Spotfire.Dxp.Application.AnalyticItems.VisualAnalyticItem.Apply(Visual visual, BookmarkApplyContext context) at Spotfire.Dxp.Application.AnalyticItems.PageConfigurationAnalyticItem.Apply(Document document, BookmarkApplyContext context) at Spotfire.Dxp.Application.AnalyticItems.Bookmark.Apply(Document document, BookmarkApplyContext context) at Spotfire.Dxp.Framework.Commands.CommandHistory.Transaction(Executor executor, Boolean visible, Boolean sticky, Guid stickyGuid, Boolean isHighlight) at Spotfire.Dxp.Framework.Commands.CommandHistory.Transaction(String displayName, Executor executor) at Spotfire.Dxp.Application.AnalyticItems.BookmarkManager.Apply(Bookmark bookmark, BookmarkApplyContext context)
This is a known issue in Spotfire 10.8.
This article will be updated once a fix is available for download. Keywords: bookmark, map chart, An exception occurred during a transaction and the attempt to rollback failed
Comments
0 comments
Article is closed for comments.