mskcc / smile-server

2 stars 4 forks source link

DB exception for some TEMPO event imports #1199

Closed ao508 closed 3 months ago

ao508 commented 3 months ago

Status as of Friday, 6/21 2:30pm: Waiting for TEMPO events to get published again now that new logging and flexible NATS message handler is in place. (docker image for smile-server in use: cmometadb/smile-server:mapper-flexreader-logging7)

Preceding logs (unrelated)

2024-06-20 18:01:48.186  WARN 1 --- [pool-6-thread-3] o.m.s.service.impl.SampleServiceImpl     : There is no TEMPO data for sample: 10100_B_24
2024-06-20 18:02:15.060  WARN 1 --- [pool-6-thread-3] o.m.s.service.impl.SampleServiceImpl     : There is no TEMPO data for sample: 09371_D_19
2024-06-20 18:02:44.074  WARN 1 --- [pool-6-thread-3] o.m.s.service.impl.SampleServiceImpl     : There is no TEMPO data for sample: 08236_AQ_2
2024-06-20 18:02:46.033  WARN 1 --- [pool-6-thread-3] o.m.s.service.impl.SampleServiceImpl     : There is no TEMPO data for sample: 08236_AQ_1
2024-06-20 18:02:46.097 ERROR 1 --- [pool-6-thread-3] .m.s.s.i.TempoMessageHandlingServiceImpl : Error during handling of MAF complete event

Stack trace

2024-06-20 16:01:24.835 ERROR 1 --- [pool-6-thread-3] .m.s.s.i.TempoMessageHandlingServiceImpl : Error during handling of MAF complete event

org.springframework.dao.IncorrectResultSizeDataAccessException: Incorrect result size: expected at most 1
    at org.springframework.data.neo4j.repository.query.GraphQueryExecution$SingleEntityExecution.execute(GraphQueryExecution.java:73) ~[spring-data-neo4j-5.3.3.RELEASE.jar!/:5.3.3.RELEASE]
    at org.springframework.data.neo4j.repository.query.GraphRepositoryQuery.doExecute(GraphRepositoryQuery.java:76) ~[spring-data-neo4j-5.3.3.RELEASE.jar!/:5.3.3.RELEASE]
    at org.springframework.data.neo4j.repository.query.AbstractGraphRepositoryQuery.execute(AbstractGraphRepositoryQuery.java:57) ~[spring-data-neo4j-5.3.3.RELEASE.jar!/:5.3.3.RELEASE]
    at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor$QueryMethodInvoker.invoke(QueryExecutorMethodInterceptor.java:195) ~[spring-data-commons-2.3.3.RELEASE.jar!/:2.3.3.RELEASE]
    at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.doInvoke(QueryExecutorMethodInterceptor.java:152) ~[spring-data-commons-2.3.3.RELEASE.jar!/:2.3.3.RELEASE]
    at org.springframework.data.repository.core.support.QueryExecutorMethodInterceptor.invoke(QueryExecutorMethodInterceptor.java:130) ~[spring-data-commons-2.3.3.RELEASE.jar!/:2.3.3.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:367) ~[spring-tx-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:118) ~[spring-tx-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:139) ~[spring-tx-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:95) ~[spring-aop-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) ~[spring-aop-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at com.sun.proxy.$Proxy113.findTempoBySamplePrimaryId(Unknown Source) ~[na:na]
    at org.mskcc.smile.service.impl.TempoServiceImpl.getTempoDataBySamplePrimaryId(TempoServiceImpl.java:68) ~[service-0.1.0.jar!/:0.1.0]
    at org.mskcc.smile.service.impl.TempoServiceImpl$$FastClassBySpringCGLIB$$bee97256.invoke(<generated>) ~[service-0.1.0.jar!/:0.1.0]
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:687) ~[spring-aop-5.2.8.RELEASE.jar!/:5.2.8.RELEASE]
    at org.mskcc.smile.service.impl.TempoServiceImpl$$EnhancerBySpringCGLIB$$ba225ad7.getTempoDataBySamplePrimaryId(<generated>) ~[service-0.1.0.jar!/:0.1.0]
    at org.mskcc.smile.service.impl.TempoMessageHandlingServiceImpl$MafCompleteHandler.run(TempoMessageHandlingServiceImpl.java:224) ~[service-0.1.0.jar!/:0.1.0]
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na]
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na]
    at java.base/java.lang.Thread.run(Thread.java:829) ~[na:na]

Example data

Subject:MDB_STREAM.server.tempo.wes.maf-complete
Payload:b'{"primaryId": "13422_AN_5", "normalPrimaryId": "13422_AN_6", "date": "2024-05-04 07:42", "status": "PASS"}'
Headers:{'Nats-Msg-Subject': 'MDB_STREAM.server.tempo.wes.maf-complete', 'Nats-Msg-Id': '13422_AN_5'}

Issue currently in production.. will try to replicate in dev