You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Eddie Epstein (JIRA)" <ui...@incubator.apache.org> on 2008/08/11 17:13:44 UTC

[jira] Created: (UIMA-1140) Embedded broker should be eliminated

Embedded broker should be eliminated
------------------------------------

                 Key: UIMA-1140
                 URL: https://issues.apache.org/jira/browse/UIMA-1140
             Project: UIMA
          Issue Type: Improvement
          Components: Async Scaleout
            Reporter: Eddie Epstein
            Assignee: Jerry Cwiklik


When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (UIMA-1140) Embedded broker should be eliminated

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12635784#action_12635784 ] 

Marshall Schor commented on UIMA-1140:
--------------------------------------

I put this change in (to set lazy-init) and Jerry tried it and it didn't help.  I'm taking it out, as it seems this isn't the issue (Jerry agrees).  

Jerry found another problem - 

Generated bean below refers to a non-existent bean
aggregate_return_metaMsgHandler_TopLevelTaeQueue_1
which is a bean reference for the messageHandler property. The bean for JmsInputChannel
is required in this case. This input channel is for processing replies
from a remote primitve delegate. This input channel needs the 
message handler chain.


   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
   <!-- JMS msg listener for return queue for: -->
   <!--    rmtRtrnQ_TopLevelTaeQueue_1_NoOp    -->
   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
   <bean id="asAggr_return_q_listenerID_TopLevelTaeQueue_1_NoOp"
         class="org.apache.uima.adapter.jms.activemq.JmsInputChannel">
      <property name="messageHandler" ref="aggregate_return_metaMsgHandler_TopLevelTaeQueue_1"/>
      <property name="endpointName" value=""/>
      <property name="controller" ref="asAggr_ctlr_TopLevelTaeQueue_1"/>
   </bean>

Working on fixing this...

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Marshall Schor
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (UIMA-1140) Embedded broker should be eliminated

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12634888#action_12634888 ] 

Marshall Schor commented on UIMA-1140:
--------------------------------------

Ok - found a logic problem and fixed this.  Please test :-) .

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Marshall Schor
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (UIMA-1140) Embedded broker should be eliminated

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12634628#action_12634628 ] 

Marshall Schor commented on UIMA-1140:
--------------------------------------

Jerry tested the above fix, and found a couple of issues:

dd2spring doesnt generate the ThreadPoolTaskExecutor bean in the Primitive Top Level sping xml, which should look like:

   <!-- ThreadPool Task Executor -->
   <bean id="pooling_NoOpAnnotatorQueue2_1"
         class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
      <property name="corePoolSize" value="1"/>
      <property name="maxPoolSize" value="1"/>
      <property name="queueCapacity" value="1"/>
   </bean>


This bean is required by the top level message listener. 

   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   <!-- JMS msg listener container for input queue for:  -->
   <!--         top_level_input_queue_service_1          -->
   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   <bean id="primitive_input_msgLsnrCntnr_NoOpAnnotatorQueue_1"
         class="org.apache.uima.adapter.jms.activemq.UimaDefaultMessageListenerContainer">

     <!-- Connect to pooling task executor for primitive -->
     <property name="taskExecutor" ref="pooling_NoOpAnnotatorQueue2_1"/>

     <!-- Define number of JMS Consumers -->
     <property name="concurrentConsumers" value="1"/>

     <!--    input Queue     -->
     <property name="destination" ref="top_level_input_queue_service_1"/>

     <!-- POJO to delegate JMS Messages to -->
     <property name="messageListener" ref="primitive_input_q_listenerID_NoOpAnnotatorQueue_1"/>
      <property name="connectionFactory" ref="qBroker_tcp_c__ss_localhost_c_8118"/>
      <property name="messageSelector" value="Command=2000 OR Command=2002"/>
   </bean>


If there is a listener there should also be a corresponding ThreadPoolTaskExecutor for it.

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Marshall Schor
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (UIMA-1140) Embedded broker should be eliminated

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12634293#action_12634293 ] 

Marshall Schor commented on UIMA-1140:
--------------------------------------

1) I found that dd2spring was generating a message handler chain for reply queues that was including the handlers for the out-going getMeta and process calls - I removed these.

2) after some discussion with Jerry, I changed the logic in dd2spring for message handler chains, input channels, and listeners as follows:
* Top level has "input" versions of these; co-located inner components do not
* If any delegates are remote, then those remotes have individual instances of input channels and listeners for "return/replies", but share the message handler chain for returning messages.
** If no delegate is remote, then no "return" input channles, listeners, or message handler chains are made.
* Doing #11 above - change references to this output channel to null (actually, remove the <property ...> element referring to it


> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Marshall Schor
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (UIMA-1140) Embedded broker should be eliminated

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik updated UIMA-1140:
--------------------------------

    Attachment: uimaj-as-jms-UIMA-1140-patch.txt
                uimaj-as-core-UIMA-1140-patch.txt
                uimaj-as-activemq-UIMA-1140-patch.txt

Forgot to update and resolve the merge. All files attached here have been generated after an update was done

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Jerry Cwiklik
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (UIMA-1140) Embedded broker should be eliminated

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12636142#action_12636142 ] 

Jerry Cwiklik commented on UIMA-1140:
-------------------------------------

Another problem with dd2spring. A message handler chain for an aggregate does not contain handler for processing requests coming from a remote delegate Cas Multiplier. When a CM receives an input CAS, it generates new CASes from it. These new CASes are sent to the client (aggregate) in a *Request* message. An InputChannel for handling messages from a remote Cas Multiplier must include the following handlers:

1) ProcessResponse Handler - processing Process reply msgs from the remote ( Needed for both Remote CM and Non-CM). This handler handles Input CASes returned from the delegate
2) ProcessRequest Handler - processing  requests msgs from the remote (Only for Remote Cas Multipliers). This handler handles *New* CASes sent by the remote delegate CM.
3) GetMetaResponse Handler - processing GetMete reply msgs from the remote ( Needed for both Remote CM and Non-CM)

Currently only 1 and 3 are added by dd2spring. Need #2 as well.



> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Marshall Schor
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (UIMA-1140) Embedded broker should be eliminated

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik updated UIMA-1140:
--------------------------------

    Attachment:     (was: uimaj-as-core-UIMA-1140-patch.txt)

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Jerry Cwiklik
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (UIMA-1140) Embedded broker should be eliminated

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12633911#action_12633911 ] 

Marshall Schor commented on UIMA-1140:
--------------------------------------

In the first comment, change "java's TaskExecutor framework" to "Spring's TaskExecutor framework" - I believe it's an interface in Spring, and there is no class/interface called this in Java 5 or 6.

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Marshall Schor
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (UIMA-1140) Embedded broker should be eliminated

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik updated UIMA-1140:
--------------------------------

    Attachment: uimaj-as-core-UIMA-1140-patch.txt
                uimaj-as-jms-UIMA-1140-patch.txt
                uimaj-as-activemq-UIMA-1140-patch.txt

Provided an alternate mechanism for messaging between colocated Uima As services. Instead of using jms based queues the internal messaging is done via java queues. The new messaging implementation uses java's TaskExecutor framework which provides necessary synchronization and threading. Each Uima As service uses a new UimaDispatcher component to send outbound messages and a UimaListener component for receiving incoming messages. Each incoming message is processed in a separate thread provided by the TaskExecutor. The number of threads used by the TaskExecutor depends on the value of the "inputQueueScaleout" attribute for  incoming messages  and the "internalReplyQueueScaleout" attribute for outgoing messages. Both of these attributes are configured in the deployment descriptor. 

*******************************************************************************************************************************
NOTE: The default messaging mechanism is *still* JMS using internal Broker. To enable java queue's for internal messaging use -DUseVmTransport=true system property. 
*******************************************************************************************************************************

Fixed Uima As controller code to enable support for colocated Aggregate Cas Multiplier.

Merged Delta Cas changes

Added new 2 testcases 

Added new API to the testcase base code to enable a testcase to pass exceptions it wants to ignore. This prevents the Exceptions from being printed on the stdout. 



> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Jerry Cwiklik
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (UIMA-1140) Embedded broker should be eliminated

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marshall Schor closed UIMA-1140.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 2.3AS

Closing this issue - if more needs to be done, maybe it would be better to open an new issue - this one has gotten rather large :-)

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Marshall Schor
>             Fix For: 2.3AS
>
>         Attachments: uimaj-as-activemq-UIMA-1140-patch-01.txt, uimaj-as-activemq-UIMA-1140-patch-02.txt, uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch-01.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (UIMA-1140) Embedded broker should be eliminated

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik updated UIMA-1140:
--------------------------------

    Attachment:     (was: uimaj-as-jms-UIMA-1140-patch.txt)

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Jerry Cwiklik
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (UIMA-1140) Embedded broker should be eliminated

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik updated UIMA-1140:
--------------------------------

    Attachment:     (was: uimaj-as-core-UIMA-1140-patch.txt)

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Jerry Cwiklik
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (UIMA-1140) Embedded broker should be eliminated

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik updated UIMA-1140:
--------------------------------

    Attachment: uimaj-as-jms-UIMA-1140-patch.txt
                uimaj-as-core-UIMA-1140-patch.txt
                uimaj-as-activemq-UIMA-1140-patch.txt

Description of the patches in the previous comment. Forgot to grant license to ASF

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Jerry Cwiklik
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (UIMA-1140) Embedded broker should be eliminated

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12636653#action_12636653 ] 

Jerry Cwiklik commented on UIMA-1140:
-------------------------------------

Need dd2spring change to add a new property to each collocated endpoint bean which specifies a  number of concurrent listener threads that will process requests. With AMQ the concurrentConsumers property was set on the MessageListener bean which is no longer present for collocated delegate. Collocated uima as services use a java queue and ThreadPoolExecutor. The latter may be configured to process messages concurrently in multiple threads. An example Endpoint bean with the new property would like this:

   <!-- ==================================== -->
   <!--         InnerTestMultiplier          -->
   <!--        ** Delegate Endpoint **       -->
   <!-- ==================================== -->
   <bean id="endpt_InnerTestMultiplier_1.1"
         class="org.apache.uima.aae.controller.Endpoint_impl">

     <!--     Broker URI     -->
     <property name="serverURI" value="vm://localhost"/>

     <!-- Delegate key name or remote queue name -->
     <property name="endpoint" value="inQ_InnerTestMultiplier_1.1"/>

     <!--      Timeouts      -->
     <property name="metadataRequestTimeout" value="0"/>
      <property name="processRequestTimeout" value="0"/>
      <property name="collectionProcessCompleteTimeout" value="0"/>

      <property name="concurrentConsumers" value="3"/>
   </bean>

The value for the above bean's concurrentConsumers should be the same value the was previously set on the Message Listener bean of the collocated service.


> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Marshall Schor
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (UIMA-1140) Embedded broker should be eliminated

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12634879#action_12634879 ] 

Jerry Cwiklik commented on UIMA-1140:
-------------------------------------

The latest dd2spring is not generating two required beans for remote delegates in the aggregate spring xml. Beans below are **not**  in the generated spring xml:

   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   <!--   JMS msg listener for return queue for:   -->
   <!-- rmtRtrnQ_InnerAggregateQueue_1_RemoteNoOp  -->
   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
   <bean id="asAggr_return_q_listenerID_InnerAggregateQueue_1_RemoteNoOp"
         class="org.apache.uima.adapter.jms.activemq.JmsInputChannel">
      <property name="messageHandler"
                ref="aggregate_return_metaMsgHandler_InnerAggregateQueue_1"/>
      <property name="endpointName" value=""/>
      <property name="controller" ref="asAggr_ctlr_InnerAggregateQueue_1"/>
   </bean>

   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
   <!-- JMS msg listener container for return queue for: -->
   <!--    rmtRtrnQ_InnerAggregateQueue_1_RemoteNoOp     -->
   <!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
   <bean id="asAggr_return_msgLsnrCntnr_InnerAggregateQueue_1_RemoteNoOp"
         class="org.apache.uima.adapter.jms.activemq.UimaDefaultMessageListenerContainer">

     <!-- Define number of JMS Consumers -->
     <property name="concurrentConsumers" value="1"/>

     <!--    return Queue    -->
     <property name="destinationResolver"
                ref="destinationResolver_InnerAggregateQueue_1_RemoteNoOp"/>
      <property name="destinationName" value=""/>
      <property name="targetEndpoint" ref="endpt_RemoteNoOp_1.2"/>

     <!-- POJO to delegate JMS Messages to -->
     <property name="messageListener"
                ref="asAggr_return_q_listenerID_InnerAggregateQueue_1_RemoteNoOp"/>
      <property name="connectionFactory" ref="qBroker_tcp_c__ss_localhost_c_8118"/>
   </bean>



> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Marshall Schor
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (UIMA-1140) Embedded broker should be eliminated

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12636053#action_12636053 ] 

Jerry Cwiklik commented on UIMA-1140:
-------------------------------------

Found another problem with dd2spring. Inner aggregate bean with remote delegate is missing an OutputChannel Bean. This bean is required to send messages to a remote delegate.

   <!--======================================-->
   <!-- Async Aggregate: MeetingDetector_1.2 -->
   <!--======================================-->
   <bean id="asAggr_ctlr_MeetingDetector_1.2"
         class="org.apache.uima.aae.controller.AggregateAnalysisEngineController_impl"
         init-method="initialize">
      <constructor-arg index="0" ref="asAggr_ctlr_TopLevelTaeQueue_1"/>
      <constructor-arg index="1" value="MeetingDetector"/>
      <constructor-arg index="2"
                       value="file:/C:/dev/workspace/apache-uima/uimaj-as-activemq/src/test/resources/descriptors/analysis_engine/../tutorial/ex4/MeetingDetectorAndNoOpTAE.xml"/>
      <constructor-arg index="3" ref="casManager"/>
      <constructor-arg index="4" ref="inProcessCache"/>
      <constructor-arg index="5" ref="delegate_map_MeetingDetector_1.2"/>
      <property name="serviceEndpointName" value="inQ_MeetingDetector_1.2"/>
      <property name="controllerBeanName" value="asAggr_ctlr_MeetingDetector_1.2"/>
      <property name="errorHandlerChain" ref="err_hdlr_chn_MeetingDetector_1.2"/>
      <property name="flowControllerDescriptor"
                value="*importByName:org.apache.uima.flow.FixedFlowController"/>
   </bean>


> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Marshall Schor
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (UIMA-1140) Embedded broker should be eliminated

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik updated UIMA-1140:
--------------------------------

    Attachment:     (was: uimaj-as-activemq-UIMA-1140-patch.txt)

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Jerry Cwiklik
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (UIMA-1140) Embedded broker should be eliminated

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik updated UIMA-1140:
--------------------------------

    Attachment:     (was: uimaj-as-activemq-UIMA-1140-patch.txt)

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Jerry Cwiklik
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (UIMA-1140) Embedded broker should be eliminated

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marshall Schor updated UIMA-1140:
---------------------------------

    Comment: was deleted

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Marshall Schor
>             Fix For: 2.3AS
>
>         Attachments: uimaj-as-activemq-UIMA-1140-patch-01.txt, uimaj-as-activemq-UIMA-1140-patch-02.txt, uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch-01.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (UIMA-1140) Embedded broker should be eliminated

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik reassigned UIMA-1140:
-----------------------------------

    Assignee: Marshall Schor  (was: Jerry Cwiklik)

Since we are removing internal broker for messaging, dd2spring needs to be modified to remove unnecessary beans. All colocated uima As services will use internal java queues for messaging. Only the aggregate spring xml will be changed. The following is a list of changes:

1) remove ActiveMQFactory for vm://localhost transport
   <bean id="controllerJmsFactory" class="org.apache.activemq.ActiveMQConnectionFactory"
         depends-on="brokerDeployerService">
      <property name="brokerURL" value="vm://localhost"/>
      <property name="prefetchPolicy" ref="prefetchPolicy"/>
   </bean> 

2) remove BrokerDeployer 
   <bean id="brokerDeployerService"
         class="org.apache.uima.adapter.jms.activemq.BrokerDeployer">
      <constructor-arg index="0" value="1048576000"/>
   </bean>

3) remove common reply queue from all of the Aggregate Services
   <bean id="asynAggr_retQ_TopLevelTaeQueue_1"
         class="org.apache.activemq.command.ActiveMQQueue">
      <constructor-arg index="0" value="asynAggr_retQ_TopLevelTaeQueue_1"/>
   </bean>

4) remove input channel  from the common reply queue (aggregate)
  <bean id="asAggr_return_q_listenerID_TopLevelTaeQueue_1"
         class="org.apache.uima.adapter.jms.activemq.JmsInputChannel">
      <property name="messageHandler" ref="aggregate_return_metaMsgHandler_TopLevelTaeQueue_1"/>
      <property name="endpointName" value="asynAggr_retQ_TopLevelTaeQueue_1"/>
      <property name="controller" ref="asAggr_ctlr_TopLevelTaeQueue_1"/>
   </bean>

5) remove listener from the common reply queue (aggregate)
   <bean id="asAggr_return_msgLsnrCntnr_TopLevelTaeQueue_1"
         class="org.apache.uima.adapter.jms.activemq.UimaDefaultMessageListenerContainer">

     -- Define number of JMS Consumers --
     <property name="concurrentConsumers" value="1"/>

     --    return Queue    --
     <property name="destination" ref="asynAggr_retQ_TopLevelTaeQueue_1"/>

     -- POJO to delegate JMS Messages to --
     <property name="messageListener" ref="asAggr_return_q_listenerID_TopLevelTaeQueue_1"/>
      <property name="connectionFactory" ref="controllerJmsFactory"/>
   </bean>

6) remove all queues for colocated (internal) services
   <bean id="inQ_TestMultiplier_1.1" class="org.apache.activemq.command.ActiveMQQueue">
      <constructor-arg index="0" value="inQ_TestMultiplier_1.1"/>
   </bean>

7) remove ThreadPool for every Listener associated with a collocated service
   <bean id="pooling_TestMultiplier_1.1"
         class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
      <property name="corePoolSize" value="1"/>
      <property name="maxPoolSize" value="1"/>
      <property name="queueCapacity" value="1"/>
   </bean>

8) remove message handlers linked with InputChannel of every collocated service
    <bean id="primitive_metaMsgHandler_TestMultiplier_1.1"
         class="org.apache.uima.aae.handler.input.MetadataRequestHandler_impl">
      <constructor-arg index="0" value="MetadataRequestHandler"/>
      <property name="controller" ref="primitive_ctlr_TestMultiplier_1.1"/>
      <property name="delegate" ref="primitive_processRequestHandler_TestMultiplier_1.1"/>
   </bean>

   <bean id="primitive_processRequestHandler_TestMultiplier_1.1"
         class="org.apache.uima.aae.handler.input.ProcessRequestHandler_impl">
      <constructor-arg index="0" value="ProcessRequestHandler"/>
      <property name="controller" ref="primitive_ctlr_TestMultiplier_1.1"/>
   </bean>

9) remove all InputChannel beans associated with collocated services
   <bean id="primitive_input_q_listenerID_TestMultiplier_1.1"
         class="org.apache.uima.adapter.jms.activemq.JmsInputChannel">
      <property name="messageHandler" ref="primitive_metaMsgHandler_TestMultiplier_1.1"/>
      <property name="endpointName" value="inQ_TestMultiplier_1.1"/>
      <property name="controller" ref="primitive_ctlr_TestMultiplier_1.1"/>
      <property name="listenerContainer" ref="primitive_input_msgLsnrCntnr_TestMultiplier_1.1"/>
   </bean>

10) remove all listener beans associated with collocated services
<bean id="primitive_input_msgLsnrCntnr_TestMultiplier_1.1"
         class="org.apache.uima.adapter.jms.activemq.UimaDefaultMessageListenerContainer">

     -- Connect to pooling task executor for primitive --
     <property name="taskExecutor" ref="pooling_TestMultiplier_1.1"/>

     -- Define number of JMS Consumers --
     <property name="concurrentConsumers" value="1"/>

     --    input Queue     -
     <property name="destination" ref="inQ_TestMultiplier_1.1"/>

     -- POJO to delegate JMS Messages to --
     <property name="messageListener" ref="primitive_input_q_listenerID_TestMultiplier_1.1"/>
      <property name="connectionFactory" ref="controllerJmsFactory"/>
      <property name="messageSelector" value="Command=2000 OR Command=2002"/>
   </bean>


11) remove all OutputChannel beans from all colocates services
<bean id="outChnl_TestMultiplier_1.1"
         class="org.apache.uima.adapter.jms.activemq.JmsOutputChannel"
         init-method="initialize">
      <property name="serviceInputEndpoint" value="inQ_TestMultiplier_1.1"/>
      <property name="controller" ref="primitive_ctlr_TestMultiplier_1.1"/>
   </bean>



> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Marshall Schor
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (UIMA-1140) Embedded broker should be eliminated

Posted by "Marshall Schor (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12637174#action_12637174 ] 

Marshall Schor commented on UIMA-1140:
--------------------------------------

a review of generated code while revising the test cases revealed that the message handlers for the aggregate-return case have an extra bean in the chain which should be removed.  It's the 1st bean:

{noformat}
<bean id="aggregate_return_metaMsgHandler_RoomNumberAnnotatorQueue_1" 
         class="org.apache.uima.aae.handler.input.MetadataRequestHandler_impl">
      <constructor-arg index="0" value="MetadataRequestHandler"/>
      <property name="controller" ref="asAggr_ctlr_RoomNumberAnnotatorQueue_1"/>
      <property name="delegate"
                ref="aggregate_return_processRequestHandler_RoomNumberAnnotatorQueue_1"/>
   </bean>
{noformat}

The reply or return Q has no need of a MetadataRequestHandler.  This been should be removed from the chain.

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Marshall Schor
>         Attachments: uimaj-as-activemq-UIMA-1140-patch-01.txt, uimaj-as-activemq-UIMA-1140-patch-02.txt, uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch-01.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (UIMA-1140) Embedded broker should be eliminated

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12634960#action_12634960 ] 

Jerry Cwiklik commented on UIMA-1140:
-------------------------------------

Marshall, the latest fix resolved the problem, but I have another one. Constructors for collocated Controllers are not being called by Spring during Spring container deployment. It took me awhile to realize that the most likely cause is the fact that Spring uses lazy initialization for beans. Changes made in dd2spring removed depenendencies which triggered Spring to initialize collocated controllers. The way to fix this is to add a new bean property for collocated controller beans ( both Primitive and Aggregate) called lazy-init="false". An example:

<bean id="primitive_ctlr_SPCM_1.2.1"
         class="org.apache.uima.aae.controller.PrimitiveAnalysisEngineController_impl"
         init-method="initialize" lazy-init="false">
...

Again this should be done only for collocated Controllers. If I am right this will force instantiation of the beans.

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Marshall Schor
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (UIMA-1140) Embedded broker should be eliminated

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12634193#action_12634193 ] 

Jerry Cwiklik commented on UIMA-1140:
-------------------------------------

Sorry for the confusion, I meant to say ThreadPoolExecutor instead of TaskExecutor. Corrected initial comment. 

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Marshall Schor
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (UIMA-1140) Embedded broker should be eliminated

Posted by "Eddie Epstein (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12633347#action_12633347 ] 

Eddie Epstein commented on UIMA-1140:
-------------------------------------

Jerry, am having problems applying the patch files. Many patches appear to be against the wrong versions.
Thanks, Eddie

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Jerry Cwiklik
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (UIMA-1140) Embedded broker should be eliminated

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik updated UIMA-1140:
--------------------------------

    Attachment:     (was: uimaj-as-jms-UIMA-1140-patch.txt)

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Jerry Cwiklik
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (UIMA-1140) Embedded broker should be eliminated

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jerry Cwiklik updated UIMA-1140:
--------------------------------

    Attachment: uimaj-as-core-UIMA-1140-patch-01.txt
                uimaj-as-activemq-UIMA-1140-patch-02.txt
                uimaj-as-activemq-UIMA-1140-patch-01.txt

Enabled default messaging between colocated components using java queues. Removed conditional 'UseVmTransport'. Enabled support for setting number of listener threads on both input and output queues for colocated components. Modified reply JMS connection to broker to always send messages asynchronously. Optimized JmsOutputChannel.java to set the Host IP once in the constructor, instead of computing it for every outgoing message. Profiler indicates that computing the Host IP is quite costly. Modified global boolean flags to be volatile to make sure that the changes made are immediately visible to other threads.

> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Marshall Schor
>         Attachments: uimaj-as-activemq-UIMA-1140-patch-01.txt, uimaj-as-activemq-UIMA-1140-patch-02.txt, uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch-01.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (UIMA-1140) Embedded broker should be eliminated

Posted by "Jerry Cwiklik (JIRA)" <ui...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/UIMA-1140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12633272#action_12633272 ] 

cwiklik edited comment on UIMA-1140 at 9/24/08 9:20 AM:
--------------------------------------------------------------

Provided an alternate mechanism for messaging between colocated Uima As services. Instead of using jms based queues the internal messaging is done via java queues. The new messaging implementation uses java's ThreadPoolExecutor framework which provides necessary synchronization and threading. Each Uima As service uses a new UimaDispatcher component to send outbound messages and a UimaListener component for receiving incoming messages. Each incoming message is processed in a separate thread provided by the ThreadPoolExecutor. The number of threads used by the ThreadPoolExecutor depends on the value of the "inputQueueScaleout" attribute for  incoming messages  and the "internalReplyQueueScaleout" attribute for outgoing messages. Both of these attributes are configured in the deployment descriptor. 

*******************************************************************************************************************************
NOTE: The default messaging mechanism is *still* JMS using internal Broker. To enable java queue's for internal messaging use -DUseVmTransport=true system property. 
*******************************************************************************************************************************

Fixed Uima As controller code to enable support for colocated Aggregate Cas Multiplier.

Merged Delta Cas changes

Added new 2 testcases 

Added new API to the testcase base code to enable a testcase to pass exceptions it wants to ignore. This prevents the Exceptions from being printed on the stdout. 



      was (Author: cwiklik):
    Provided an alternate mechanism for messaging between colocated Uima As services. Instead of using jms based queues the internal messaging is done via java queues. The new messaging implementation uses java's TaskExecutor framework which provides necessary synchronization and threading. Each Uima As service uses a new UimaDispatcher component to send outbound messages and a UimaListener component for receiving incoming messages. Each incoming message is processed in a separate thread provided by the TaskExecutor. The number of threads used by the TaskExecutor depends on the value of the "inputQueueScaleout" attribute for  incoming messages  and the "internalReplyQueueScaleout" attribute for outgoing messages. Both of these attributes are configured in the deployment descriptor. 

*******************************************************************************************************************************
NOTE: The default messaging mechanism is *still* JMS using internal Broker. To enable java queue's for internal messaging use -DUseVmTransport=true system property. 
*******************************************************************************************************************************

Fixed Uima As controller code to enable support for colocated Aggregate Cas Multiplier.

Merged Delta Cas changes

Added new 2 testcases 

Added new API to the testcase base code to enable a testcase to pass exceptions it wants to ignore. This prevents the Exceptions from being printed on the stdout. 


  
> Embedded broker should be eliminated
> ------------------------------------
>
>                 Key: UIMA-1140
>                 URL: https://issues.apache.org/jira/browse/UIMA-1140
>             Project: UIMA
>          Issue Type: Improvement
>          Components: Async Scaleout
>            Reporter: Eddie Epstein
>            Assignee: Marshall Schor
>         Attachments: uimaj-as-activemq-UIMA-1140-patch.txt, uimaj-as-core-UIMA-1140-patch.txt, uimaj-as-jms-UIMA-1140-patch.txt
>
>
> When an async aggregate is deployed, the request/reply queues for colocated delegates use an embedded broker. After UIMA-1130 is complete, all reply queues for remote delegates will be located on the same external broker hosting the delegate's request queue. At that point the function of the colocated broker can be replace with simple Java queues.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.