It seems like the ActimeMQ documentation (
http://activemq.apache.org/configuring-wire-formats.html)
is wrong with respect to the default maxFrameSize being MAX_LONG. I checked
ActiveMQ source code and the default is 100 MB:

public final class OpenWireFormat implements WireFormat {    public
static final int DEFAULT_VERSION =
CommandTypes.PROTOCOL_STORE_VERSION;    public static final int
DEFAULT_WIRE_VERSION = CommandTypes.PROTOCOL_VERSION;    public static
final int *DEFAULT_MAX_FRAME_SIZE* = 100 * 1024 * 1024; //100 MB
<-------------------------------------    static final byte NULL_TYPE
= CommandTypes.NULL;    private static final int MARSHAL_CACHE_SIZE =
Short.MAX_VALUE / 2;    private static final int
MARSHAL_CACHE_FREE_SPACE = 100;


The UIMA-AS doesnt set this value so the default is being used unless
overriden. It seems to me that
either your service or a client is not overriding the default. Please check
your deployment descriptors to make sure
that you changing the default in the brokerURL.

Jerry


On Wed, Feb 12, 2014 at 9:21 AM, Mihaela M <mmihaela1...@yahoo.com> wrote:

> Hello,
>
> I have upgraded uima-as to version 2.4.2 but I still encounter an issue
> with the wireFormat.maxFrameSize setting for the ActiveMQ broker.
> 1. I have updated the configuration for transport connector in
> activemq.xml file:
> <transportConnectors>
>             <transportConnector name="openwire" uri="tcp://
> 127.0.0.1:61616?wireFormat.maxInactivityDuration=0&wireFormat.maxFrameSize=209715200&jms.useCompression=true
> "/>
> </transportConnectors>
> 2. I have set the brokerURL attribute in uima-as deployment descriptors to
> value: "tcp://
> 127.0.0.1:61616?wireFormat.maxInactivityDuration=0&wireFormat.maxFrameSize=209715200&jms.useCompression=true
> "
> 3. I have set the TRACE level for logger org.apache.activemq.transport
>
> After performing all the above settings I noticed that when I started the
> pipeline, for each remote delegate, multiple negotiations are performed
> by org.apache.activemq.transport.WireFormatNegotiator. All use the
> maxFrameSize of 200 MB that I specified, except one negotiation that is
> done using maxFrameSize of 100 MB.
> I do not understand from where does come this limitation of 100 MB. Does
> exist in the UIMA client? By default I saw that ActiveMQ is using MAX_LONG
> for maxFrameSize so I really don't know from where does come this 100 MB
> setting for maxFrameSize.
>
> Does anyone have an idea why is happening this? Could somebody tell me a
> starting point for looking in the uima code?
>
>
> On the other hand does anybody know whether there are some limitations
> when using the "binary" serializer for remote delegates instead of "xmi"
> serializer? I found in one jira issue (
> https://issues.apache.org/jira/browse/UIMA-1196) that for the "binary"
> serializer is mandatory that all uima AS services use a common type system.
> Is this still an issue in uima-as 2.4.2?
>
> Thank you!
> Mihaela
>
>
>
>
> On Monday, January 27, 2014 4:30 PM, Eddie Epstein <eaepst...@gmail.com>
> wrote:
>
> On Thu, Jan 23, 2014 at 9:28 AM, Thomas Ginter <thomas.gin...@utah.edu
> >wrote:
>
> > It is likely then that your expansion is happening after the remote
> > service is called or else is not yet big enough to be over the 100MB
> limit.
> >
>
> Also note that by default UIMA-AS [Java] services use a delta-CAS
> interface. Only changes to the CAS
> are returned from a service.
>
> Besides deleting unnecessary FS from the final CAS to be returned, another
> option to consider is to use compression on JMS messages:
> jms.useCompression=true
> This decoration can be added to the broker configuration file,
>    $UIMA_HOME/amq/conf/activemq-nojournal.xml
>
> as
>    <transportConnector name="openwire" uri="tcp://
> 0.0.0.0:61616?jms.useCompression=true"/>
> which will cause messages in all queues to be compressed.
>
> Eddie
>

Reply via email to