Feat/update det comp registration#1890
Conversation
jrobble
left a comment
There was a problem hiding this comment.
Reviewed 24 of 24 files at r1, all commit messages.
Reviewable status: all files reviewed, 4 unresolved discussions (waiting on @brosenberg42)
a discussion (no related file):
I started a Docker deployment, stopped it, then started it again. I saw this in the WFM log:
2025-07-08 20:20:29,032 WARN [Camel (camelContext) thread #3 - JmsConsumer[MPF.DETECTION_COMPONENT_REGISTRATION]] o.m.m.w.s.c.AddComponentServiceImpl - An existing descriptor for the "SphinxSpeechDetection" component was not found. The newly received descriptor will be used.
However, I saw this in the Sphinx log:
2025-07-08 20:20:29,128 INFO [main] o.m.m.c.e.d.ComponentRegistration - Successfully registered component. Response from server: Updated existing component.
Same situation for the Python East component and C++ Ocv YOLO component.
How come the WFM says an existing descriptor wasn't found for a component that was previously registered? That's a bit strange.
I'm not sure if this behavior pre-existed your recent changes or not.
a discussion (no related file):
Nitpick: This subject tracking component log line is redundant "with signal". If this is not a quick / easy fix, don't worry about it:
[INFO tini (1)] Main child exited with signal (with signal 'Terminated')
trunk/detection/executor/cpp/batch/BatchExecutorUtil.h line 47 at r1 (raw file):
/** Wrapper around std::unique_ptr constructor that adds template type inference. */ template <typename T>
Nice refactor.
trunk/workflow-manager/src/main/java/org/mitre/mpf/wfm/camel/routes/DetectionComponentRegistrationRouteBuilder.java line 56 at r1 (raw file):
DetectionComponentRegistrationRouteBuilder( ObjectMapper objectMapper, ComponentStateService componentState,
componentState isn't used.
trunk/workflow-manager/src/main/java/org/mitre/mpf/wfm/camel/routes/BaseComponentRegistrationRouteBuilder.java line 85 at r1 (raw file):
catch (IOException | WfmProcessingException | ComponentRegistrationException e) { response.setHeader("success", false); response.setHeader("detail", "Failed to register due to: " + e);
I modified the descriptor files used by the East and ortools components by changing the name field of the first algorithm property to namebad.
The East component failed gracefully, From the East log:
2025-07-09 14:50:05,206 INFO [org.mitre.mpf.detection:0] - Starting component registration.
2025-07-09 14:50:07,122 FATAL [org.mitre.mpf.detection:0] - An error occurred while trying to load component: Registration failed with response: Failed to register due to: org.mitre.mpf.wfm.service.component.InvalidComponentDescriptorException: There were errors in the following fields:
algorithm.providesCollection.properties[0].name="null": may not be empty
Executor exit code = 38
From the WFM log:
2025-07-09 15:01:35,217 INFO [main] o.m.m.Application - Started Application in 11.896 seconds (JVM running for 12.669)
2025-07-09 15:01:35,259 ERROR [Camel (camelContext) thread #3 - JmsConsumer[MPF.DETECTION_COMPONENT_REGISTRATION]] o.m.m.w.c.r.BaseComponentRegistrationRouteBuilder - An error occurred while trying to register component: org.mitre.mpf.wfm.service.component.InvalidComponentDescriptorException: There were errors in the following fields:
algorithm.providesCollection.properties[0].name="null": may not be empty
org.mitre.mpf.wfm.service.component.InvalidComponentDescriptorException: There were errors in the following fields:
algorithm.providesCollection.properties[0].name="null": may not be empty
at org.mitre.mpf.wfm.service.ConstraintValidationService.validateInternal(ConstraintValidationService.java:82) ~[classes/:?]
at org.mitre.mpf.wfm.service.ConstraintValidationService.validate(ConstraintValidationService.java:72) ~[classes/:?]
at org.mitre.mpf.wfm.service.component.AddComponentServiceImpl.registerDeployedComponent(AddComponentServiceImpl.java:178) ~[classes/:?]
at org.mitre.mpf.wfm.service.component.AddComponentServiceImpl.registerUnmanagedComponent(AddComponentServiceImpl.java:265) ~[classes/:?]
at org.mitre.mpf.wfm.camel.routes.DetectionComponentRegistrationRouteBuilder.registerComponent(DetectionComponentRegistrationRouteBuilder.java:71) ~[classes/:?]
at org.mitre.mpf.wfm.camel.routes.DetectionComponentRegistrationRouteBuilder.registerComponent(DetectionComponentRegistrationRouteBuilder.java:41) ~[classes/:?]
at org.mitre.mpf.wfm.camel.routes.BaseComponentRegistrationRouteBuilder.processRequest(BaseComponentRegistrationRouteBuilder.java:79) ~[classes/:?]
at org.apache.camel.processor.DelegateSyncProcessor.process(DelegateSyncProcessor.java:63) ~[camel-core-2.24.0.jar:2.24.0]
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) ~[camel-core-2.24.0.jar:2.24.0]
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) ~[camel-core-2.24.0.jar:2.24.0]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) ~[camel-core-2.24.0.jar:2.24.0]
at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) ~[camel-core-2.24.0.jar:2.24.0]
at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) ~[camel-core-2.24.0.jar:2.24.0]
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:97) ~[camel-core-2.24.0.jar:2.24.0]
at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:113) ~[camel-jms-2.24.0.jar:2.24.0]
at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:736) ~[spring-jms-5.3.31.jar:5.3.31]
at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:696) ~[spring-jms-5.3.31.jar:5.3.31]
at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:674) ~[spring-jms-5.3.31.jar:5.3.31]
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:331) ~[spring-jms-5.3.31.jar:5.3.31]
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:270) ~[spring-jms-5.3.31.jar:5.3.31]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1237) ~[spring-jms-5.3.31.jar:5.3.31]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1127) ~[spring-jms-5.3.31.jar:5.3.31]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?]
at java.lang.Thread.run(Thread.java:840) ~[?:?]
That's all fine. (I performed a similar test with Sphinx and that worked fine.) The problem is with the ortools registration.
The last output in the ortools component log doesn't indicate an error:
2025-07-09 14:50:01,314 INFO [org.mitre.mpf.subject] - Connection was successful. Resetting disconnect count.
2025-07-09 14:50:01,314 INFO [proton] - Connected to workflow-manager
2025-07-09 14:50:01,315 INFO [org.mitre.mpf.subject] - Sending component registration request.
Yet, the WFM log shows repeated lines like this:
2025-07-09 15:03:14,983 INFO [Camel (camelContext) thread #20 - JmsConsumer[MPF.SUBJECT_COMPONENT_REGISTRATION]] o.m.m.w.c.r.SubjectComponentRegistrationRouteBuilder - Received subject component registration request for "ORTOOLSSUBJECTCOMPONENT".
2025-07-09 15:03:14,989 INFO [Camel (camelContext) thread #20 - JmsConsumer[MPF.SUBJECT_COMPONENT_REGISTRATION]] o.m.m.w.s.c.s.SubjectComponentService - Registration attempt for ORTOOLSSUBJECTCOMPONENT resulted in: A new component was registered.
2025-07-09 15:03:14,993 ERROR [Camel (camelContext) thread #20 - JmsConsumer[MPF.SUBJECT_COMPONENT_REGISTRATION]] o.h.e.j.b.i.BatchingBatch - HHH000315: Exception executing batch [java.sql.BatchUpdateException: Batch entry 0 insert into subject_component_property (default_value, description, properties_key, type, component_name, name) values (('0.03'), ('Minimum required intersection over union for two tracks to be associated.'), (NULL), ('FLOAT'), ('ORTOOLSSUBJECTCOMPONENT'), (NULL)) was aborted: ERROR: null value in column "name" of relation "subject_component_property" violates not-null constraint
Detail: Failing row contains (null, 0.03, Minimum required intersection over union for two tracks to be as..., null, FLOAT, ORTOOLSSUBJECTCOMPONENT). Call getNextException to see other errors in the batch.], SQL: insert into subject_component_property (default_value, description, properties_key, type, component_name, name) values (?, ?, ?, ?, ?, ?)
2025-07-09 15:03:14,993 WARN [Camel (camelContext) thread #20 - JmsConsumer[MPF.SUBJECT_COMPONENT_REGISTRATION]] o.h.e.j.s.SqlExceptionHelper - SQL Error: 0, SQLState: 23502
2025-07-09 15:03:14,993 ERROR [Camel (camelContext) thread #20 - JmsConsumer[MPF.SUBJECT_COMPONENT_REGISTRATION]] o.h.e.j.s.SqlExceptionHelper - Batch entry 0 insert into subject_component_property (default_value, description, properties_key, type, component_name, name) values (('0.03'), ('Minimum required intersection over union for two tracks to be associated.'), (NULL), ('FLOAT'), ('ORTOOLSSUBJECTCOMPONENT'), (NULL)) was aborted: ERROR: null value in column "name" of relation "subject_component_property" violates not-null constraint
Detail: Failing row contains (null, 0.03, Minimum required intersection over union for two tracks to be as..., null, FLOAT, ORTOOLSSUBJECTCOMPONENT). Call getNextException to see other errors in the batch.
2025-07-09 15:03:14,993 ERROR [Camel (camelContext) thread #20 - JmsConsumer[MPF.SUBJECT_COMPONENT_REGISTRATION]] o.h.e.j.s.SqlExceptionHelper - ERROR: null value in column "name" of relation "subject_component_property" violates not-null constraint
Detail: Failing row contains (null, 0.03, Minimum required intersection over union for two tracks to be as..., null, FLOAT, ORTOOLSSUBJECTCOMPONENT).
2025-07-09 15:03:14,995 ERROR [Camel (camelContext) thread #20 - JmsConsumer[MPF.SUBJECT_COMPONENT_REGISTRATION]] o.a.c.p.DefaultErrorHandler - Failed delivery for (MessageId: ID-b530dfb278e2-1752073386209-0-11 on ExchangeId: ID-b530dfb278e2-1752073386209-0-10). Exhausted after delivery attempt: 1 caught: org.springframework.dao.DataIntegrityViolationException: could not execute batch; SQL [insert into subject_component_property (default_value, description, properties_key, type, component_name, name) values (?, ?, ?, ?, ?, ?)]; constraint [name" of relation "subject_component_property]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute batch
Message History
---------------------------------------------------------------------------------------------------------------------------------------
RouteId ProcessorId Processor Elapsed (ms)
[Subject Tracking C] [Subject Tracking C] [activemq://MPF.SUBJECT_COMPONENT_REGISTRATION?concurrentConsumers=1&maxConcurr] [ 13]
[Subject Tracking C] [setExchangePattern] [setExchangePattern[InOut] ] [ 0]
[Subject Tracking C] [process21 ] [Processor@0x210e7009 ] [ 12]
Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------
org.springframework.dao.DataIntegrityViolationException: could not execute batch; SQL [insert into subject_component_property (default_value, description, properties_key, type, component_name, name) values (?, ?, ?, ?, ?, ?)]; constraint [name" of relation "subject_component_property]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute batch
at org.springframework.orm.hibernate5.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:212) ~[spring-orm-5.3.31.jar:5.3.31]
at org.springframework.orm.hibernate5.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:785) ~[spring-orm-5.3.31.jar:5.3.31]
at org.springframework.orm.hibernate5.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:657) ~[spring-orm-5.3.31.jar:5.3.31]
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:743) ~[spring-tx-5.3.31.jar:5.3.31]
brosenberg42
left a comment
There was a problem hiding this comment.
Reviewable status: 21 of 24 files reviewed, 4 unresolved discussions (waiting on @jrobble)
a discussion (no related file):
Previously, jrobble (Jeff Robble) wrote…
I started a Docker deployment, stopped it, then started it again. I saw this in the WFM log:
2025-07-08 20:20:29,032 WARN [Camel (camelContext) thread #3 - JmsConsumer[MPF.DETECTION_COMPONENT_REGISTRATION]] o.m.m.w.s.c.AddComponentServiceImpl - An existing descriptor for the "SphinxSpeechDetection" component was not found. The newly received descriptor will be used.However, I saw this in the Sphinx log:
2025-07-08 20:20:29,128 INFO [main] o.m.m.c.e.d.ComponentRegistration - Successfully registered component. Response from server: Updated existing component.Same situation for the Python East component and C++ Ocv YOLO component.
How come the WFM says an existing descriptor wasn't found for a component that was previously registered? That's a bit strange.
I'm not sure if this behavior pre-existed your recent changes or not.
Unmanaged component registration has always been transient. If someone brings down a stack, then removes some components, and then starts the stack again, users will be able to create jobs using the defunct components. Those jobs will just sit at 0% forever.
a discussion (no related file):
Previously, jrobble (Jeff Robble) wrote…
Nitpick: This subject tracking component log line is redundant "with signal". If this is not a quick / easy fix, don't worry about it:
[INFO tini (1)] Main child exited with signal (with signal 'Terminated')
It is telling you that it exited due to a signal rather than a normal exit and what signal caused the exit. There are signals other than SIGTERM that will cause a program to exit. They could have phrased it better, but it is useful information. This is another example of tini's INFO logging: [INFO tini (1)] Main child exited normally (with status '38')
trunk/workflow-manager/src/main/java/org/mitre/mpf/wfm/camel/routes/BaseComponentRegistrationRouteBuilder.java line 85 at r1 (raw file):
Previously, jrobble (Jeff Robble) wrote…
I modified the descriptor files used by the East and ortools components by changing the
namefield of the first algorithm property tonamebad.The East component failed gracefully, From the East log:
2025-07-09 14:50:05,206 INFO [org.mitre.mpf.detection:0] - Starting component registration. 2025-07-09 14:50:07,122 FATAL [org.mitre.mpf.detection:0] - An error occurred while trying to load component: Registration failed with response: Failed to register due to: org.mitre.mpf.wfm.service.component.InvalidComponentDescriptorException: There were errors in the following fields: algorithm.providesCollection.properties[0].name="null": may not be empty Executor exit code = 38From the WFM log:
2025-07-09 15:01:35,217 INFO [main] o.m.m.Application - Started Application in 11.896 seconds (JVM running for 12.669) 2025-07-09 15:01:35,259 ERROR [Camel (camelContext) thread #3 - JmsConsumer[MPF.DETECTION_COMPONENT_REGISTRATION]] o.m.m.w.c.r.BaseComponentRegistrationRouteBuilder - An error occurred while trying to register component: org.mitre.mpf.wfm.service.component.InvalidComponentDescriptorException: There were errors in the following fields: algorithm.providesCollection.properties[0].name="null": may not be empty org.mitre.mpf.wfm.service.component.InvalidComponentDescriptorException: There were errors in the following fields: algorithm.providesCollection.properties[0].name="null": may not be empty at org.mitre.mpf.wfm.service.ConstraintValidationService.validateInternal(ConstraintValidationService.java:82) ~[classes/:?] at org.mitre.mpf.wfm.service.ConstraintValidationService.validate(ConstraintValidationService.java:72) ~[classes/:?] at org.mitre.mpf.wfm.service.component.AddComponentServiceImpl.registerDeployedComponent(AddComponentServiceImpl.java:178) ~[classes/:?] at org.mitre.mpf.wfm.service.component.AddComponentServiceImpl.registerUnmanagedComponent(AddComponentServiceImpl.java:265) ~[classes/:?] at org.mitre.mpf.wfm.camel.routes.DetectionComponentRegistrationRouteBuilder.registerComponent(DetectionComponentRegistrationRouteBuilder.java:71) ~[classes/:?] at org.mitre.mpf.wfm.camel.routes.DetectionComponentRegistrationRouteBuilder.registerComponent(DetectionComponentRegistrationRouteBuilder.java:41) ~[classes/:?] at org.mitre.mpf.wfm.camel.routes.BaseComponentRegistrationRouteBuilder.processRequest(BaseComponentRegistrationRouteBuilder.java:79) ~[classes/:?] at org.apache.camel.processor.DelegateSyncProcessor.process(DelegateSyncProcessor.java:63) ~[camel-core-2.24.0.jar:2.24.0] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:548) ~[camel-core-2.24.0.jar:2.24.0] at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) ~[camel-core-2.24.0.jar:2.24.0] at org.apache.camel.processor.Pipeline.process(Pipeline.java:138) ~[camel-core-2.24.0.jar:2.24.0] at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) ~[camel-core-2.24.0.jar:2.24.0] at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:201) ~[camel-core-2.24.0.jar:2.24.0] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:97) ~[camel-core-2.24.0.jar:2.24.0] at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:113) ~[camel-jms-2.24.0.jar:2.24.0] at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:736) ~[spring-jms-5.3.31.jar:5.3.31] at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:696) ~[spring-jms-5.3.31.jar:5.3.31] at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:674) ~[spring-jms-5.3.31.jar:5.3.31] at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:331) ~[spring-jms-5.3.31.jar:5.3.31] at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:270) ~[spring-jms-5.3.31.jar:5.3.31] at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1237) ~[spring-jms-5.3.31.jar:5.3.31] at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:1127) ~[spring-jms-5.3.31.jar:5.3.31] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[?:?] at java.lang.Thread.run(Thread.java:840) ~[?:?]That's all fine. (I performed a similar test with Sphinx and that worked fine.) The problem is with the ortools registration.
The last output in the ortools component log doesn't indicate an error:
2025-07-09 14:50:01,314 INFO [org.mitre.mpf.subject] - Connection was successful. Resetting disconnect count. 2025-07-09 14:50:01,314 INFO [proton] - Connected to workflow-manager 2025-07-09 14:50:01,315 INFO [org.mitre.mpf.subject] - Sending component registration request.Yet, the WFM log shows repeated lines like this:
2025-07-09 15:03:14,983 INFO [Camel (camelContext) thread #20 - JmsConsumer[MPF.SUBJECT_COMPONENT_REGISTRATION]] o.m.m.w.c.r.SubjectComponentRegistrationRouteBuilder - Received subject component registration request for "ORTOOLSSUBJECTCOMPONENT". 2025-07-09 15:03:14,989 INFO [Camel (camelContext) thread #20 - JmsConsumer[MPF.SUBJECT_COMPONENT_REGISTRATION]] o.m.m.w.s.c.s.SubjectComponentService - Registration attempt for ORTOOLSSUBJECTCOMPONENT resulted in: A new component was registered. 2025-07-09 15:03:14,993 ERROR [Camel (camelContext) thread #20 - JmsConsumer[MPF.SUBJECT_COMPONENT_REGISTRATION]] o.h.e.j.b.i.BatchingBatch - HHH000315: Exception executing batch [java.sql.BatchUpdateException: Batch entry 0 insert into subject_component_property (default_value, description, properties_key, type, component_name, name) values (('0.03'), ('Minimum required intersection over union for two tracks to be associated.'), (NULL), ('FLOAT'), ('ORTOOLSSUBJECTCOMPONENT'), (NULL)) was aborted: ERROR: null value in column "name" of relation "subject_component_property" violates not-null constraint Detail: Failing row contains (null, 0.03, Minimum required intersection over union for two tracks to be as..., null, FLOAT, ORTOOLSSUBJECTCOMPONENT). Call getNextException to see other errors in the batch.], SQL: insert into subject_component_property (default_value, description, properties_key, type, component_name, name) values (?, ?, ?, ?, ?, ?) 2025-07-09 15:03:14,993 WARN [Camel (camelContext) thread #20 - JmsConsumer[MPF.SUBJECT_COMPONENT_REGISTRATION]] o.h.e.j.s.SqlExceptionHelper - SQL Error: 0, SQLState: 23502 2025-07-09 15:03:14,993 ERROR [Camel (camelContext) thread #20 - JmsConsumer[MPF.SUBJECT_COMPONENT_REGISTRATION]] o.h.e.j.s.SqlExceptionHelper - Batch entry 0 insert into subject_component_property (default_value, description, properties_key, type, component_name, name) values (('0.03'), ('Minimum required intersection over union for two tracks to be associated.'), (NULL), ('FLOAT'), ('ORTOOLSSUBJECTCOMPONENT'), (NULL)) was aborted: ERROR: null value in column "name" of relation "subject_component_property" violates not-null constraint Detail: Failing row contains (null, 0.03, Minimum required intersection over union for two tracks to be as..., null, FLOAT, ORTOOLSSUBJECTCOMPONENT). Call getNextException to see other errors in the batch. 2025-07-09 15:03:14,993 ERROR [Camel (camelContext) thread #20 - JmsConsumer[MPF.SUBJECT_COMPONENT_REGISTRATION]] o.h.e.j.s.SqlExceptionHelper - ERROR: null value in column "name" of relation "subject_component_property" violates not-null constraint Detail: Failing row contains (null, 0.03, Minimum required intersection over union for two tracks to be as..., null, FLOAT, ORTOOLSSUBJECTCOMPONENT). 2025-07-09 15:03:14,995 ERROR [Camel (camelContext) thread #20 - JmsConsumer[MPF.SUBJECT_COMPONENT_REGISTRATION]] o.a.c.p.DefaultErrorHandler - Failed delivery for (MessageId: ID-b530dfb278e2-1752073386209-0-11 on ExchangeId: ID-b530dfb278e2-1752073386209-0-10). Exhausted after delivery attempt: 1 caught: org.springframework.dao.DataIntegrityViolationException: could not execute batch; SQL [insert into subject_component_property (default_value, description, properties_key, type, component_name, name) values (?, ?, ?, ?, ?, ?)]; constraint [name" of relation "subject_component_property]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute batch Message History --------------------------------------------------------------------------------------------------------------------------------------- RouteId ProcessorId Processor Elapsed (ms) [Subject Tracking C] [Subject Tracking C] [activemq://MPF.SUBJECT_COMPONENT_REGISTRATION?concurrentConsumers=1&maxConcurr] [ 13] [Subject Tracking C] [setExchangePattern] [setExchangePattern[InOut] ] [ 0] [Subject Tracking C] [process21 ] [Processor@0x210e7009 ] [ 12] Stacktrace --------------------------------------------------------------------------------------------------------------------------------------- org.springframework.dao.DataIntegrityViolationException: could not execute batch; SQL [insert into subject_component_property (default_value, description, properties_key, type, component_name, name) values (?, ?, ?, ?, ?, ?)]; constraint [name" of relation "subject_component_property]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute batch at org.springframework.orm.hibernate5.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:212) ~[spring-orm-5.3.31.jar:5.3.31] at org.springframework.orm.hibernate5.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:785) ~[spring-orm-5.3.31.jar:5.3.31] at org.springframework.orm.hibernate5.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:657) ~[spring-orm-5.3.31.jar:5.3.31] at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:743) ~[spring-tx-5.3.31.jar:5.3.31]
Done.
trunk/workflow-manager/src/main/java/org/mitre/mpf/wfm/camel/routes/DetectionComponentRegistrationRouteBuilder.java line 56 at r1 (raw file):
Previously, jrobble (Jeff Robble) wrote…
componentStateisn't used.
Done.
jrobble
left a comment
There was a problem hiding this comment.
Reviewed 3 of 3 files at r2, all commit messages.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on @brosenberg42)
Issues:
Related PRs:
This change is