CMDBuild Forum

Task Manager : Can not delete taks

Hello,

 

for my previous post in installed cmdbuild demo on my laptop.

 

I created 2 events in task manager : 

  • Asynchronous Event
  • Synchronous Event 
They both have mail notification in the end.
 
But when I try to delete these events, I got a java error : 
 
Call: services/json/schema/taskmanager/event/asynchronous/delete
-----------------------------------------------------------------
Error: org.springframework.jdbc.UncategorizedSQLException: CallableStatementCallback; uncategorized SQLException for SQL [{call cm_delete_card(?, ?)}]; SQL state [P0001]; error code [0]; ERREUR: CM_RESTRICT_VIOLATION
  Où : instruction SQL � SELECT _cm_restrict(OLD."Id", TableId, AttributeName) �
fonction PL/pgsql _cm_trigger_restrict(), ligne 8 � PERFORM
instruction SQL � UPDATE "_Task" SET "Status" = 'N' WHERE "Id" = 1910 �
fonction PL/pgsql cm_delete_card(integer,oid), ligne 11 � instruction EXECUTE; nested exception is org.postgresql.util.PSQLException: ERREUR: CM_RESTRICT_VIOLATION
  Où : instruction SQL � SELECT _cm_restrict(OLD."Id", TableId, AttributeName) �
fonction PL/pgsql _cm_trigger_restrict(), ligne 8 � PERFORM
instruction SQL � UPDATE "_Task" SET "Status" = 'N' WHERE "Id" = 1910 �
fonction PL/pgsql cm_delete_card(integer,oid), ligne 11 � instruction EXECUTE
 
 
 
 

Sorry for the username, thank to chrome for saving input for every form… :wink:

Unfortunatly we are not able to reproduce the issue. Are you able to post the content of tables "_Task" and "_TaskParameter" that refer to those tasks?
 
Best regards.
 
-- CMDBuild Team
 
Previously Task Manager : Can't delete connector wrote:

Hello,

 

for my previous post in installed cmdbuild demo on my laptop.

 

I created 2 events in task manager : 

  • Asynchronous Event
  • Synchronous Event 
They both have mail notification in the end.
 
But when I try to delete these events, I got a java error : 
 
Call: services/json/schema/taskmanager/event/asynchronous/delete
-----------------------------------------------------------------
Error: org.springframework.jdbc.UncategorizedSQLException: CallableStatementCallback; uncategorized SQLException for SQL [{call cm_delete_card(?, ?)}]; SQL state [P0001]; error code [0]; ERREUR: CM_RESTRICT_VIOLATION
  Où : instruction SQL � SELECT _cm_restrict(OLD."Id", TableId, AttributeName) �
fonction PL/pgsql _cm_trigger_restrict(), ligne 8 � PERFORM
instruction SQL � UPDATE "_Task" SET "Status" = 'N' WHERE "Id" = 1910 �
fonction PL/pgsql cm_delete_card(integer,oid), ligne 11 � instruction EXECUTE; nested exception is org.postgresql.util.PSQLException: ERREUR: CM_RESTRICT_VIOLATION
  Où : instruction SQL � SELECT _cm_restrict(OLD."Id", TableId, AttributeName) �
fonction PL/pgsql _cm_trigger_restrict(), ligne 8 � PERFORM
instruction SQL � UPDATE "_Task" SET "Status" = 'N' WHERE "Id" = 1910 �
fonction PL/pgsql cm_delete_card(integer,oid), ligne 11 � instruction EXECUTE
 
 
 
 

 

Hello,

 
I will explain how to create this bug. I also have it on my production server
 
I created a new cmdbuild instance on my laptot just now (empty database)
 
  • I created a cmdbuild class called : test_class
  • I added on card inside (Code : 1, Description test_description)
  • I created a new email account with my smtp server
  • I created a new email template for this account
  • I created a new Asynchronous event, screenshots : 
1 : http://hpics.li/2d7249f
2: http://hpics.li/3879184
3: http://hpics.li/98ecd80
4: http://hpics.li/0707cce
 
  • I start the event and I wait one minute (at least the event need to be executed one time)
  • After one minute, stop the even, and try to delete it. You will get a java error
 
Like you asked, here is the content of tables _Task and _TaskParameter : 
 
_Task : http://hpics.li/3655ae1
_TaskParameter : http://hpics.li/2ebba9e
 
Hop it can help
 
 
Fixed, it will be available since next release.
 
-- CMDBuild Team
 
Previously Quentinv wrote:
Hello,
 
I will explain how to create this bug. I also have it on my production server
 
I created a new cmdbuild instance on my laptot just now (empty database)
 
  • I created a cmdbuild class called : test_class
  • I added on card inside (Code : 1, Description test_description)
  • I created a new email account with my smtp server
  • I created a new email template for this account
  • I created a new Asynchronous event, screenshots : 
 
  • I start the event and I wait one minute (at least the event need to be executed one time)
  • After one minute, stop the even, and try to delete it. You will get a java error
 
Like you asked, here is the content of tables _Task and _TaskParameter : 
 
_TaskParameter : http://hpics.li/2ebba9e
 
Hop it can help
 
 

 

Perfect, 

 
Thank you ! 

Hello,

 
I just tried the version 2.3.4 and I still have the problem.
 
Do you have any information ?
 
Thank you

On my test server (copy of my production), version 2.3.4 when I delete a synchronous event : 

 
 
Call: services/json/schema/taskmanager/event/synchronous/delete
----------------------------------------------------------------
Error: org.springframework.jdbc.UncategorizedSQLException: CallableStatementCallback; uncategorized SQLException for SQL [{call cm_delete_card(?, ?, ?)}]; SQL state [P0001]; error code [0]; ERREUR: CM_RESTRICT_VIOLATION
  Où : instruction SQL � SELECT _cm_restrict(OLD."Id", TableId, AttributeName) �
fonction PL/pgsql _cm_trigger_restrict(), ligne 8 � PERFORM
instruction SQL � UPDATE "_Task" SET "User" = 'system', "Status" = 'N' WHERE "Id" = 370063 �
fonction PL/pgsql cm_delete_card(integer,oid,text), ligne 11 � instruction EXECUTE; nested exception is org.postgresql.util.PSQLException: ERREUR: CM_RESTRICT_VIOLATION
  Où : instruction SQL � SELECT _cm_restrict(OLD."Id", TableId, AttributeName) �
fonction PL/pgsql _cm_trigger_restrict(), ligne 8 � PERFORM
instruction SQL � UPDATE "_Task" SET "User" = 'system', "Status" = 'N' WHERE "Id" = 370063 �
fonction PL/pgsql cm_delete_card(integer,oid,text), ligne 11 � instruction EXECUTE
	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:1036)
	at org.springframework.jdbc.core.JdbcTemplate.call(JdbcTemplate.java:1070)
	at org.springframework.jdbc.core.simple.AbstractJdbcCall.executeCallInternal(AbstractJdbcCall.java:387)
	at org.springframework.jdbc.core.simple.AbstractJdbcCall.doExecute(AbstractJdbcCall.java:350)
	at org.springframework.jdbc.core.simple.SimpleJdbcCall.execute(SimpleJdbcCall.java:181)
	at org.cmdbuild.dao.driver.postgres.EntryDeleteCommand.execute(EntryDeleteCommand.java:24)
	at org.cmdbuild.dao.driver.postgres.PostgresDriver.delete(PostgresDriver.java:178)
	at org.cmdbuild.dao.view.DBDataView.delete(DBDataView.java:411)
	at org.cmdbuild.dao.view.ForwardingDataView.delete(ForwardingDataView.java:135)
	at org.cmdbuild.dao.view.ForwardingDataView.delete(ForwardingDataView.java:135)
	at org.cmdbuild.services.errors.management.CustomExceptionHandlerDataView.delete(CustomExceptionHandlerDataView.java:43)
	at org.cmdbuild.data.store.dao.DataViewStore.delete(DataViewStore.java:251)
	at org.cmdbuild.data.store.task.DefaultTaskStore$Delete.execute(DefaultTaskStore.java:362)
	at org.cmdbuild.data.store.task.DefaultTaskStore$Delete.execute(DefaultTaskStore.java:338)
	at org.cmdbuild.data.store.task.DefaultTaskStore.execute(DefaultTaskStore.java:497)
	at org.cmdbuild.data.store.task.DefaultTaskStore.delete(DefaultTaskStore.java:448)
	at org.cmdbuild.logic.taskmanager.DefaultTaskManagerLogic$Delete.execute(DefaultTaskManagerLogic.java:311)
	at org.cmdbuild.logic.taskmanager.DefaultTaskManagerLogic$Delete.execute(DefaultTaskManagerLogic.java:288)
	at org.cmdbuild.logic.taskmanager.DefaultTaskManagerLogic.execute(DefaultTaskManagerLogic.java:595)
	at org.cmdbuild.logic.taskmanager.DefaultTaskManagerLogic.delete(DefaultTaskManagerLogic.java:543)
	at org.cmdbuild.logic.taskmanager.ForwardingTaskManagerLogic.delete(ForwardingTaskManagerLogic.java:43)
	at org.cmdbuild.logic.taskmanager.TransactionalTaskManagerLogic.delete(TransactionalTaskManagerLogic.java:33)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:96)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:260)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:94)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
	at $Proxy293.delete(Unknown Source)
	at org.cmdbuild.servlets.json.schema.taskmanager.event.Synchronous.delete(Synchronous.java:283)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.cmdbuild.servlets.JSONDispatcher.dispatch(JSONDispatcher.java:107)
	at org.cmdbuild.servlets.JSONDispatcher.doPost(JSONDispatcher.java:67)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.cmdbuild.filters.AuthFilter.doFilter(AuthFilter.java:158)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.cmdbuild.filters.PatchManagerFilter.doFilter(PatchManagerFilter.java:48)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.cmdbuild.filters.ConfCheckFilter.doFilter(ConfCheckFilter.java:31)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.cmdbuild.filters.TranslationFilter.doFilter(TranslationFilter.java:52)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.cmdbuild.filters.LocalizationFilter.doFilter(LocalizationFilter.java:127)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Unknown Source)
Caused by: org.postgresql.util.PSQLException: ERREUR: CM_RESTRICT_VIOLATION
  Où : instruction SQL � SELECT _cm_restrict(OLD."Id", TableId, AttributeName) �
fonction PL/pgsql _cm_trigger_restrict(), ligne 8 � PERFORM
instruction SQL � UPDATE "_Task" SET "User" = 'system', "Status" = 'N' WHERE "Id" = 370063 �
fonction PL/pgsql cm_delete_card(integer,oid,text), ligne 11 � instruction EXECUTE
	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102)
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835)
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:381)
	at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
	at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:172)
	at org.springframework.jdbc.core.JdbcTemplate$6.doInCallableStatement(JdbcTemplate.java:1072)
	at org.springframework.jdbc.core.JdbcTemplate$6.doInCallableStatement(JdbcTemplate.java:1070)
	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:1020)
	... 83 more

 
 
Dear Quentin Varquet,
 
we checked again following exactly your steps for creating an Asynchronous event and more or less the same for a Synchronous one. Then, after an execution, we deleted them with no error.
So we are quite sure that it's no more the same cause as before but maybe another reason. Could you give us the exact steps for reproduce from scratch the error?
 
Best regards.
 
-- CMDBuild Team

Previously Quentin Varquet wrote:
Hello,
 
I just tried the version 2.3.4 and I still have the problem.
 
Do you have any information ?
 
Thank you

 

Hello, you are right, if I create a new event I can delete it without problem.

 
I just have the problem on one event I created one year ago, (we used it one time) and when I am trying to delete it I have a Java error (if I clone it I can delete the clone). I saw this error when I wanted to clean up my cmdb
 
The error is still :
 
all: services/json/schema/taskmanager/event/synchronous/delete
----------------------------------------------------------------
Error: org.springframework.jdbc.UncategorizedSQLException: CallableStatementCallback; uncategorized SQLException for SQL [{call cm_delete_card(?, ?, ?)}]; SQL state [P0001]; error code [0]; ERROR: CM_RESTRICT_VIOLATION
  Where: SQL statement "SELECT _cm_restrict(OLD."Id", TableId, AttributeName)"
PL/pgSQL function _cm_trigger_restrict() line 8 at PERFORM
SQL statement "UPDATE "_Task" SET "User" = 'system', "Status" = 'N' WHERE "Id" = 370063"
PL/pgSQL function cm_delete_card(integer,oid,text) line 11 at EXECUTE statement; nested exception is org.postgresql.util.PSQLException: ERROR: CM_RESTRICT_VIOLATION
  Where: SQL statement "SELECT _cm_restrict(OLD."Id", TableId, AttributeName)"
PL/pgSQL function _cm_trigger_restrict() line 8 at PERFORM
SQL statement "UPDATE "_Task" SET "User" = 'system', "Status" = 'N' WHERE "Id" = 370063"


I only have this problem on this old event
Unfortunatly we cannot diagnose non-standard situations without having the database.
 
-- CMDBuild Team
 
Previously Quentin Varquet wrote:
Hello, you are right, if I create a new event I can delete it without problem.
 
I just have the problem on one event I created one year ago, (we used it one time) and when I am trying to delete it I have a Java error (if I clone it I can delete the clone). I saw this error when I wanted to clean up my cmdb
 
The error is still :
 
all: services/json/schema/taskmanager/event/synchronous/delete
----------------------------------------------------------------
Error: org.springframework.jdbc.UncategorizedSQLException: CallableStatementCallback; uncategorized SQLException for SQL [{call cm_delete_card(?, ?, ?)}]; SQL state [P0001]; error code [0]; ERROR: CM_RESTRICT_VIOLATION
  Where: SQL statement "SELECT _cm_restrict(OLD."Id", TableId, AttributeName)"
PL/pgSQL function _cm_trigger_restrict() line 8 at PERFORM
SQL statement "UPDATE "_Task" SET "User" = 'system', "Status" = 'N' WHERE "Id" = 370063"
PL/pgSQL function cm_delete_card(integer,oid,text) line 11 at EXECUTE statement; nested exception is org.postgresql.util.PSQLException: ERROR: CM_RESTRICT_VIOLATION
  Where: SQL statement "SELECT _cm_restrict(OLD."Id", TableId, AttributeName)"
PL/pgSQL function _cm_trigger_restrict() line 8 at PERFORM
SQL statement "UPDATE "_Task" SET "User" = 'system', "Status" = 'N' WHERE "Id" = 370063"


I only have this problem on this old event