Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Delete subject after removing it from another study #2539

Closed
pierrehenri-dauvergne opened this issue Dec 10, 2024 · 0 comments · Fixed by #2549
Closed

Delete subject after removing it from another study #2539

pierrehenri-dauvergne opened this issue Dec 10, 2024 · 0 comments · Fixed by #2549
Assignees

Comments

@pierrehenri-dauvergne
Copy link
Collaborator

Create studyA
Create studyB
Import data in studyA with new subjectA
Copy those data in studyB
This is the situation that you have:
image

Remove subjectA from studyB
Delete subjectA from studyA:

Error is thrown:

datasets           | 2024-12-10T13:02:49.271Z  WARN 1 --- [tContainer#10-1] s.a.r.l.ConditionalRejectingErrorHandler : Execution of Rabbit message listener failed.
datasets           |
datasets           | org.springframework.amqp.rabbit.support.ListenerExecutionFailedException: Listener method 'public void org.shanoir.ng.configuration.amqp.RabbitMQDatasetsService.deleteSubject(java.lang.String) throws org.springframework.amqp.AmqpRejectAndDontRequeueException' threw exception
datasets           |    at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:286)
datasets           |    at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandlerAndProcessResult(MessagingMessageListenerAdapter.java:224)
datasets           |    at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.onMessage(MessagingMessageListenerAdapter.java:149)
datasets           |    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:1682)
datasets           |    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.actualInvokeListener(AbstractMessageListenerContainer.java:1604)
datasets           |    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:1592)
datasets           |    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:1583)
datasets           |    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.executeListenerAndHandleException(AbstractMessageListenerContainer.java:1528)
datasets           |    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.lambda$executeListener$8(AbstractMessageListenerContainer.java:1506)
datasets           |    at io.micrometer.observation.Observation.observe(Observation.java:499)
datasets           |    at org.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:1506)
datasets           |    at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.doReceiveAndExecute(SimpleMessageListenerContainer.java:1042)
datasets           |    at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer.receiveAndExecute(SimpleMessageListenerContainer.java:989)
datasets           |    at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.mainLoop(SimpleMessageListenerContainer.java:1377)
datasets           |    at org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer$AsyncMessageProcessingConsumer.run(SimpleMessageListenerContainer.java:1279)
datasets           |    at java.base/java.lang.Thread.run(Unknown Source)
datasets           | Caused by: org.springframework.transaction.TransactionSystemException: Could not commit JPA transaction
datasets           |    at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:570)
datasets           |    at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:794)
datasets           |    at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:757)
datasets           |    at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:669)
datasets           |    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:419)
datasets           |    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
datasets           |    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
datasets           |    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765)
datasets           |    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:717)
datasets           |    at org.shanoir.ng.configuration.amqp.RabbitMQDatasetsService$$SpringCGLIB$$0.deleteSubject(<generated>)
datasets           |    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)
datasets           |    at java.base/java.lang.reflect.Method.invoke(Unknown Source)
datasets           |    at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:169)
datasets           |    at org.springframework.amqp.rabbit.listener.adapter.KotlinAwareInvocableHandlerMethod.doInvoke(KotlinAwareInvocableHandlerMethod.java:45)
datasets           |    at org.springframework.messaging.handler.invocation.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:119)
datasets           |    at org.springframework.amqp.rabbit.listener.adapter.HandlerAdapter.invoke(HandlerAdapter.java:75)
datasets           |    at org.springframework.amqp.rabbit.listener.adapter.MessagingMessageListenerAdapter.invokeHandler(MessagingMessageListenerAdapter.java:277)
datasets           |    ... 15 common frames omitted
datasets           | Caused by: jakarta.persistence.RollbackException: Error while committing the transaction
datasets           |    at org.hibernate.internal.ExceptionConverterImpl.convertCommitException(ExceptionConverterImpl.java:67)
datasets           |    at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:104)
datasets           |    at org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:561)
datasets           |    ... 31 common frames omitted
datasets           | Caused by: jakarta.validation.ConstraintViolationException: Validation failed for classes [org.shanoir.ng.datasetacquisition.model.mr.MrDatasetAcquisition] during update time for groups [jakarta.validation.groups.Default, ]
datasets           | List of constraint violations:[
datasets           |    ConstraintViolationImpl{interpolatedMessage='Some datasets have not same modality type than acquisition.', propertyPath=, rootBeanClass=class org.shanoir.ng.datasetacquisition.model.mr.MrDatasetAcquisition, messageTemplate='Some datasets have not same modality type than acquisition.'}
datasets           | ]
datasets           |    at org.hibernate.boot.beanvalidation.BeanValidationEventListener.validate(BeanValidationEventListener.java:151)
datasets           |    at org.hibernate.boot.beanvalidation.BeanValidationEventListener.onPreUpdate(BeanValidationEventListener.java:92)
datasets           |    at org.hibernate.action.internal.EntityUpdateAction.preUpdate(EntityUpdateAction.java:351)
datasets           |    at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:161)
datasets           |    at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:632)
datasets           |    at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:499)
datasets           |    at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:363)
datasets           |    at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:41)
datasets           |    at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:127)
datasets           |    at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1423)
datasets           |    at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:504)
datasets           |    at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:2339)
datasets           |    at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:1996)
datasets           |    at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:439)
datasets           |    at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:169)
datasets           |    at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:267)
datasets           |    at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:101)
datasets           |    ... 32 common frames omitted
datasets

I'm not sure but it appears that solr is trying to remove the data but can't do it because of the error and it keeps trying. I have this error looping with some solr logs indefinitely.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant