[jira] Commented: (UIMA-1223) Annotators should be initialized in the same thread that their process method will later be called on
[ https://issues.apache.org/jira/browse/UIMA-1223?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12656169#action_12656169 ] Eddie Epstein commented on UIMA-1223: - Initializing an aggregate service failed with the stack below. It appears that this is due to a thread synchronization problem with the unregisteredDelegateList. Jerry, please see TODO questions associated with this change. java.lang.NullPointerException at org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl.mergeTypeSystem(AggregateAnalysisEngineController_impl.java:1995) at org.apache.uima.aae.handler.input.MetadataResponseHandler_impl.handle(MetadataResponseHandler_impl.java:76) at org.apache.uima.aae.handler.input.MetadataRequestHandler_impl.handle(MetadataRequestHandler_impl.java:84) at org.apache.uima.aae.handler.HandlerBase.delegate(HandlerBase.java:157) at org.apache.uima.aae.handler.input.ProcessResponseHandler.handle(ProcessResponseHandler.java:696) at org.apache.uima.aae.handler.HandlerBase.delegate(HandlerBase.java:157) at org.apache.uima.aae.handler.input.ProcessRequestHandler_impl.handle(ProcessRequestHandler_impl.java:880) at org.apache.uima.aae.spi.transport.vm.UimaVmMessageListener.onMessage(UimaVmMessageListener.java:99) at org.apache.uima.aae.spi.transport.vm.UimaVmMessageDispatcher$1.run(UimaVmMessageDispatcher.java:66) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) at java.lang.Thread.run(Thread.java:595) Annotators should be initialized in the same thread that their process method will later be called on - Key: UIMA-1223 URL: https://issues.apache.org/jira/browse/UIMA-1223 Project: UIMA Issue Type: Bug Components: Async Scaleout Affects Versions: 2.2.2 Reporter: Adam Lally Assignee: Jerry Cwiklik Attachments: uimaj-as-activemq-UIMA-1223-patch.txt, uimaj-as-core-UIMA-1223-patch.txt It is more convenient if an annotator is initialized on the same thread that it is later called on. Some components may use thread-local data and they won't work in UIMA-AS currently. Another advantage of doing the initialization in the processing thread is that you could initialize multiple instances of the annotator in parallel instead of sequentially, which may be faster for a multi-core machine. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (UIMA-1223) Annotators should be initialized in the same thread that their process method will later be called on
[ https://issues.apache.org/jira/browse/UIMA-1223?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12655226#action_12655226 ] Marshall Schor commented on UIMA-1223: -- Please see UIMA-1201 - should the code that waits for all threads to stop make an exception for daemon threads? Annotators should be initialized in the same thread that their process method will later be called on - Key: UIMA-1223 URL: https://issues.apache.org/jira/browse/UIMA-1223 Project: UIMA Issue Type: Bug Components: Async Scaleout Affects Versions: 2.2.2 Reporter: Adam Lally Assignee: Jerry Cwiklik Attachments: uimaj-as-activemq-UIMA-1223-patch.txt, uimaj-as-core-UIMA-1223-patch.txt It is more convenient if an annotator is initialized on the same thread that it is later called on. Some components may use thread-local data and they won't work in UIMA-AS currently. Another advantage of doing the initialization in the processing thread is that you could initialize multiple instances of the annotator in parallel instead of sequentially, which may be faster for a multi-core machine. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (UIMA-1223) Annotators should be initialized in the same thread that their process method will later be called on
[ https://issues.apache.org/jira/browse/UIMA-1223?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12655240#action_12655240 ] Adam Lally commented on UIMA-1223: -- There is a problem in this patch due to UIMA-1248, which causes concurrent initialization of AE instances sharing a ResourceManager to fail intermittently. We should work around this by synchronizing the call to UIMAFramework.produceAnalysisEngine so that only one instance can be initialized at a time, until UIMA-1248 gets fixed. Annotators should be initialized in the same thread that their process method will later be called on - Key: UIMA-1223 URL: https://issues.apache.org/jira/browse/UIMA-1223 Project: UIMA Issue Type: Bug Components: Async Scaleout Affects Versions: 2.2.2 Reporter: Adam Lally Assignee: Jerry Cwiklik Attachments: uimaj-as-activemq-UIMA-1223-patch.txt, uimaj-as-core-UIMA-1223-patch.txt It is more convenient if an annotator is initialized on the same thread that it is later called on. Some components may use thread-local data and they won't work in UIMA-AS currently. Another advantage of doing the initialization in the processing thread is that you could initialize multiple instances of the annotator in parallel instead of sequentially, which may be faster for a multi-core machine. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.