Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeUsing DNN Platf...Using DNN Platf...Administration ...Administration ...Taxonomy IssueTaxonomy Issue
Previous
 
Next
New Post
2/6/2015 11:24 PM
 

We use a taxonomy to apply terms to pages on our site.  The terms on Page A, for example, indicate which other pages should have a reference to Page A, and there is a module that does this.  This is administered by adding terms to the Taxonomy page settings on each page.

Today my client reported that he had removed some extraneous page meta-tags from several pages and, after updating the page settings, noticed that the taxonomy terms attached to those pages had changed.  I found that hard to believe, but ...

At the time he reported making the page settings changes, I found three items in the site's EventLog.  Here they are, with some editing to obscure the site's actual url:

------------------------------------------

2/6/2015 1:45:23 PMGeneral Exception admin Company X.  AssemblyVersion 7.3.4 PortalID 0 PortalName Company X UserID 2  

AssemblyVersion:7.3.4

PortalID:0

PortalName:Company X.

UserID:2

UserName:admin

ActiveTabID:41

ActiveTabName:Pages

RawURL:/Admin/Pages

AbsoluteURL:/Default.aspx

AbsoluteURLReferrer:http://test2.com/Admin/Pages

UserAgent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18

DefaultDataProvider:DotNetNuke.Data.SqlDataProvider, DotNetNuke

ExceptionGUID:d5cf3de0-03a3-46a2-bda6-297b0c69478d

InnerException:Unhandled Error:

FileName:

FileLineNumber:0

FileColumnNumber:0

Method:System.Data.SqlClient.SqlConnection.

StackTrace:

Message:

System.Exception: Unhandled Error:  ---> DotNetNuke.Services.Exceptions.PageLoadException: Cannot insert duplicate key row in object 'dbo.ContentItems_Tags' with unique index 'IX_ContentItems_Tags'. The duplicate key value is (603, 56).

The statement has been terminated. ---> System.Data.SqlClient.SqlException: Cannot insert duplicate key row in object 'dbo.ContentItems_Tags' with unique index 'IX_ContentItems_Tags'. The duplicate key value is (603, 56).

The statement has been terminated.

   at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

   at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)

   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)

   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)

   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)

   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)

   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)

   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()

   at PetaPoco.Database.Execute(String sql, Object[] args)

   at DotNetNuke.Data.PetaPoco.PetaPocoHelper.ExecuteNonQuery(String connectionString, CommandType type, Int32 timeout, String sql, Object[] args)

   at DotNetNuke.Data.SqlDataProvider.ExecuteNonQuery(String procedureName, Object[] commandParameters)

   at DotNetNuke.Entities.Content.Data.DataService.AddTermToContent(Term term, ContentItem contentItem)

   at DotNetNuke.Entities.Content.Taxonomy.TermController.AddTermToContent(Term term, ContentItem contentItem)

   at DotNetNuke.Entities.Tabs.TabController.UpdateTab(TabInfo updatedTab)

   at DesktopModules.Admin.Tabs.View.CmdUpdateClick(Object sender, EventArgs e) in c:\inetpub\vhosts\test2.com\httpdocs\DesktopModules\Admin\Tabs\Tabs.ascx.cs:line 699

   at System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e)

   at System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument)

   at System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)

   at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)

   at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)

   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

   --- End of inner exception stack trace ---

   at DotNetNuke.Services.Exceptions.Exceptions.ProcessPageLoadException(Exception exc, String URL)

   at DotNetNuke.Framework.PageBase. (EventArgs e)

   at System.Web.UI.Page.HandleError(Exception e)

   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

   at System.Web.UI.Page.ProcessRequest()

   at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)

   at System.Web.UI.Page.ProcessRequest(HttpContext context)

   at ASP.default_aspx.ProcessRequest(HttpContext context) in c:\windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\db4b2c8b\606fe52e\App_Web_koidbhvm.4.cs:line 0

   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

   --- End of inner exception stack trace ---

Source:

Server Name: GENERIC223

 

 

 

2/6/2015 1:45:08 PMGeneral Exception admin Company X.  AssemblyVersion 7.3.4 PortalID 0 PortalName Company X UserID 2  

AssemblyVersion:7.3.4

PortalID:0

PortalName:Company X.

UserID:2

UserName:admin

ActiveTabID:41

ActiveTabName:Pages

RawURL:/Admin/Pages

AbsoluteURL:/Default.aspx

AbsoluteURLReferrer:http://test2.com/Admin/Pages

UserAgent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18

DefaultDataProvider:DotNetNuke.Data.SqlDataProvider, DotNetNuke

ExceptionGUID:f2caa8e3-5c2f-43c8-93d8-ca590a0a7f67

InnerException:Unhandled Error:

FileName:

FileLineNumber:0

FileColumnNumber:0

Method:System.Data.SqlClient.SqlConnection.

StackTrace:

Message:

System.Exception: Unhandled Error:  ---> DotNetNuke.Services.Exceptions.PageLoadException: Cannot insert duplicate key row in object 'dbo.ContentItems_Tags' with unique index 'IX_ContentItems_Tags'. The duplicate key value is (595, 55).

The statement has been terminated. ---> System.Data.SqlClient.SqlException: Cannot insert duplicate key row in object 'dbo.ContentItems_Tags' with unique index 'IX_ContentItems_Tags'. The duplicate key value is (595, 55).

The statement has been terminated.

   at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

   at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)

   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)

   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)

   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)

   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)

   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)

   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()

   at PetaPoco.Database.Execute(String sql, Object[] args)

   at DotNetNuke.Data.PetaPoco.PetaPocoHelper.ExecuteNonQuery(String connectionString, CommandType type, Int32 timeout, String sql, Object[] args)

   at DotNetNuke.Data.SqlDataProvider.ExecuteNonQuery(String procedureName, Object[] commandParameters)

   at DotNetNuke.Entities.Content.Data.DataService.AddTermToContent(Term term, ContentItem contentItem)

   at DotNetNuke.Entities.Content.Taxonomy.TermController.AddTermToContent(Term term, ContentItem contentItem)

   at DotNetNuke.Entities.Tabs.TabController.UpdateTab(TabInfo updatedTab)

   at DesktopModules.Admin.Tabs.View.CmdUpdateClick(Object sender, EventArgs e) in c:\inetpub\vhosts\test2.com\httpdocs\DesktopModules\Admin\Tabs\Tabs.ascx.cs:line 699

   at System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e)

   at System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument)

   at System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)

   at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)

   at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)

   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

   --- End of inner exception stack trace ---

   at DotNetNuke.Services.Exceptions.Exceptions.ProcessPageLoadException(Exception exc, String URL)

   at DotNetNuke.Framework.PageBase. (EventArgs e)

   at System.Web.UI.Page.HandleError(Exception e)

   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

   at System.Web.UI.Page.ProcessRequest()

   at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)

   at System.Web.UI.Page.ProcessRequest(HttpContext context)

   at ASP.default_aspx.ProcessRequest(HttpContext context) in c:\windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\db4b2c8b\606fe52e\App_Web_koidbhvm.4.cs:line 0

   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

   --- End of inner exception stack trace ---

Source:

Server Name: GENERIC223

 

 

2/6/2015 1:44:53 PMGeneral Exception admin Company X.  AssemblyVersion 7.3.4 PortalID 0 PortalName Company X UserID 2  

AssemblyVersion:7.3.4

PortalID:0

PortalName:Company X.

UserID:2

UserName:admin

ActiveTabID:41

ActiveTabName:Pages

RawURL:/Admin/Pages

AbsoluteURL:/Default.aspx

AbsoluteURLReferrer:http://test2.com/Admin/Pages

UserAgent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18

DefaultDataProvider:DotNetNuke.Data.SqlDataProvider, DotNetNuke

ExceptionGUID:76fc2ed7-a222-42da-8b3b-9b02cf9efbae

InnerException:Unhandled Error:

FileName:

FileLineNumber:0

FileColumnNumber:0

Method:System.Data.SqlClient.SqlConnection.

StackTrace:

Message:

System.Exception: Unhandled Error:  ---> DotNetNuke.Services.Exceptions.PageLoadException: Cannot insert duplicate key row in object 'dbo.ContentItems_Tags' with unique index 'IX_ContentItems_Tags'. The duplicate key value is (339, 54).

The statement has been terminated. ---> System.Data.SqlClient.SqlException: Cannot insert duplicate key row in object 'dbo.ContentItems_Tags' with unique index 'IX_ContentItems_Tags'. The duplicate key value is (339, 54).

The statement has been terminated.

   at System.Data.SqlClient.SqlConnection. (SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

   at System.Data.SqlClient.SqlInternalConnection. (SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)

   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)

   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)

   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)

   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)

   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)

   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)

   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()

   at PetaPoco.Database.Execute(String sql, Object[] args)

   at DotNetNuke.Data.PetaPoco.PetaPocoHelper.ExecuteNonQuery(String connectionString, CommandType type, Int32 timeout, String sql, Object[] args)

   at DotNetNuke.Data.SqlDataProvider.ExecuteNonQuery(String procedureName, Object[] commandParameters)

   at DotNetNuke.Entities.Content.Data.DataService.AddTermToContent(Term term, ContentItem contentItem)

   at DotNetNuke.Entities.Content.Taxonomy.TermController.AddTermToContent(Term term, ContentItem contentItem)

   at DotNetNuke.Entities.Tabs.TabController.UpdateTab(TabInfo updatedTab)

   at DesktopModules.Admin.Tabs.View.CmdUpdateClick(Object sender, EventArgs e) in c:\inetpub\vhosts\test2.com\httpdocs\DesktopModules\Admin\Tabs\Tabs.ascx.cs:line 699

   at System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e)

   at System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument)

   at System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)

   at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)

   at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)

   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

   --- End of inner exception stack trace ---

   at DotNetNuke.Services.Exceptions.Exceptions.ProcessPageLoadException(Exception exc, String URL)

   at DotNetNuke.Framework.PageBase. (EventArgs e)

   at System.Web.UI.Page.HandleError(Exception e)

   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

   at System.Web.UI.Page.ProcessRequest()

   at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)

   at System.Web.UI.Page.ProcessRequest(HttpContext context)

   at ASP.default_aspx.ProcessRequest(HttpContext context) in c:\windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\db4b2c8b\606fe52e\App_Web_koidbhvm.4.cs:line 0

   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

   --- End of inner exception stack trace ---

Source:

Server Name: GENERIC223

 

----------------------------------

"The duplicate key value is (603, 56)" appears to refer to TabId=603 and TermId=56.  This makes sense from the pages that were being worked on and the terms that were appropriate to the pages.

If this was simply a failure to insert keys, I don't understand how the terms were changed, but it's late ...

So ... is this a DNN bug, an error in the table, or something else?

Thoughts and ideas will be appreciated.

 

(Oh, and I now believe that client!)

 

Thanks!

 

 

 

 




Joe Craig
Patapsco Research Group, Ellicott City, MD
DotNetNuke Development and Services (http://patapscorg.com)
 
New Post
2/7/2015 4:59 AM
 
Joe, it sounds like a bug that the System is trying to re-add keys upon update click, but there might be a bug, if you remove a tag, the System might expect all tags to be removed and new ones added. This could be fixed by an improved stored procedure, however, it doesn't explain, why other tags get assigned. you would need to check behaviour and which keys get added (.e.g.next one, if a previous one was removed)

Cheers from Germany,
Sebastian Leupold (Microsoft MVP)

dnnWerk - The DotNetNuke Experts   German Spoken DotNetNuke User Group

Speed up your DNN Websites with TurboDNN
 
New Post
2/9/2015 6:10 AM
 
I had a similar situation, I'm not sure if it's exactly the same as yours. What I had to do was remove the current tags on the page, save the page settings, then re-add the tags.
Thanks
Mike
 
Previous
 
Next
HomeHomeUsing DNN Platf...Using DNN Platf...Administration ...Administration ...Taxonomy IssueTaxonomy Issue


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.

Content Layout

Subscribe to DNN Digest

DNN Digest is our monthly email newsletter. It highlights news and content from around the DNN ecosystem, such as new modules and themes, messages from leadership, blog posts and notable tweets. Keep your finger on the pulse of the ecosystem by subscribing.  


Copyright 2017 by DNN Corp Terms of Use Privacy
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out