You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Lorenz Quack (JIRA)" <ji...@apache.org> on 2017/08/07 10:39:02 UTC

[jira] [Commented] (QPID-6960) BDB HA limits message size to je.rep.maxMessageSize (which was inadvertently lowered in qpid-java-6.0)

    [ https://issues.apache.org/jira/browse/QPID-6960?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16116407#comment-16116407 ] 

Lorenz Quack commented on QPID-6960:
------------------------------------

As long as the chunking is not in place I think we should change our documentation to advise users to set the je.rep.maxMessageSize explicitly to match their use-case and to set qpid.max_message_size to the same value to prevent this issue.

> BDB HA limits message size to je.rep.maxMessageSize (which was inadvertently lowered in qpid-java-6.0)
> ------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-6960
>                 URL: https://issues.apache.org/jira/browse/QPID-6960
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: 0.30, 0.32, qpid-java-6.0
>            Reporter: Keith Wall
>
> If I create a Java Broker BDB HA group and publish a message whose payload + overhead exceeds  {{je.rep.maxMessageSize}}, the replicas log the following exception.  On qpid-java-v6.0, the replica doesn't fail but instead slowly spins, seemingly continually retrying repeating the same log message.
> {{je.rep.maxMessageSize}} is not overridden by Qpid, so it takes its default value 0.  0 is interpreted by JE to mean {{je.maxMemory /2}}.  QPID-6751 reduced the size of {{je.maxMemory}} from 5% of JVM's heap to 2%.  This means that in qpid-java-v6.0, the default maximum message size will be 2% of default JVM heap size (0.5GB) = 10MB.   For comparison, in 0.32 with default heap of 2GB gave a maximum message size of 50MB.
> Users can work around this issue by raising {{je.rep.maxMessageSize}}.  This can be done from the Java Broker command line (-prop), or from QPID_OPTS environment variable.
> {noformat}
>  com.sleepycat.je.EnvironmentFailureException: (JE 5.0.104) Message op: Entry Body size: 32557779 is too large.  maxSizeAllowed: 21126184
> If a larger value is needed, set the 'je.rep.maxMessageSize' parameter. UNEXPECTED_STATE: Unexpected internal state, may have side effects.
>                 at com.sleepycat.je.EnvironmentFailureException.unexpectedState(EnvironmentFailureException.java:426)
>                 at com.sleepycat.je.rep.utilint.BinaryProtocol.read(BinaryProtocol.java:469)
>                 at com.sleepycat.je.rep.impl.node.Replica.doRunReplicaLoopInternalWork(Replica.java:466)
>                 at com.sleepycat.je.rep.impl.node.Replica.runReplicaLoopInternal(Replica.java:397)
>                 at com.sleepycat.je.rep.impl.node.Replica.runReplicaLoop(Replica.java:332)
>                 at com.sleepycat.je.rep.impl.node.RepNode.run(RepNode.java:1506)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org