It is impossible to remove node tags from multiple nodes at the same time.

Document ID : KB000085749
Last Modified Date : 30/04/2018
Show Technical Document Details
Issue:
Error Message :
Error message in the uvserver.log:
################################
| 2013-09-19 00:03:15 |ERROR| request-worker-9 | com.orsyp.request.AbstractRequestHandler | Failed processing request. 
org.springframework.dao.DataIntegrityViolationException: Could not execute JDBC batch update; SQL [update UNI_UV_NODE_TAGS set NODE_ID=null where NODE_ID=? and ID=?]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
    at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:641)
    at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:104)
    at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:516)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
    at com.orsyp.central.aspect.DAOServiceCheckerAspect.endTransaction(DAOServiceCheckerAspect.java:223)
    at com.orsyp.central.aspect.DAOServiceCheckerAspect.executeServiceInternal(DAOServiceCheckerAspect.java:114)
    at com.orsyp.central.aspect.DAOServiceCheckerAspect$4.call(DAOServiceCheckerAspect.java:79)
    at com.orsyp.central.DbAccessContext.executeQuery(DbAccessContext.java:30)
    at com.orsyp.central.aspect.DAOServiceCheckerAspect.executeService(DAOServiceCheckerAspect.java:77)
    at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
    at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:65)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:622)
    at com.orsyp.central.service.NetworkNodeService$$EnhancerByCGLIB$$740c2502.updateTagsOnNodes(<generated>)
    at com.orsyp.request.networknode.NodesTagsAssociationHandler.execute(NodesTagsAssociationHandler.java:34)
    at com.orsyp.request.networknode.NodesTagsAssociationHandler.execute(NodesTagsAssociationHandler.java:25)
    at com.orsyp.request.AbstractRequestHandler.handle(AbstractRequestHandler.java:180)
    at com.orsyp.central.server.DispatchHandler.handleRequest(DispatchHandler.java:269)
    at com.orsyp.central.server.DispatchHandler.dispatch(DispatchHandler.java:132)
    at com.orsyp.central.server.UniWorker.dispatch(UniWorker.java:217)
    at com.orsyp.central.server.UniWorker$2.run(UniWorker.java:193)
    at com.orsyp.central.server.UniWorker$2.run(UniWorker.java:191)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:454)
    at com.orsyp.central.server.UniWorker.doWork(UniWorker.java:191)
    at com.orsyp.central.server.CentralServerAdapter$1.run(CentralServerAdapter.java:270)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
Caused by: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
    at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:96)
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
    at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:275)
    at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
    at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:182)
    at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
    at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
    at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1206)
    at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:375)
    at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:137)
    at org.hibernate.ejb.TransactionImpl.commit(TransactionImpl.java:76)
    at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:512)
    ... 35 more
Caused by: java.sql.BatchUpdateException: Violation of UNIQUE KEY constraint 'UNIQUE_NODE_TAGS'. Cannot insert duplicate key in object 'dbo.UNI_UV_NODE_TAGS'. The duplicate key value is (<NULL>, LINUX_PATCH).
    at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeBatch(SQLServerPreparedStatement.java:1178)
    at org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
    at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
    at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
    ... 44 more
################################ 

Patch level detected:Univiewer Management Server 6.2.00
Product Version: Dollar.Universe 6.2.0
 
Environment:
OS: All
Cause:
Cause type:
Defect
Root Cause: This issue concerns the Univiewer Management Server installations with external Database ( ex: SQL SERVER)
Resolution:
Update to the fix version listed below or a newer version if available.

Fix Status: Released

Fix Version(s):
Component: Univiewer.Management.Server
Version: Dollar.Universe 6.2.0
Additional Information:
Workaround :
N/A