increasing the Time-to-Live value [1] from 1 second to about 30 seconds got rid of this issue for my scenario. This exception can only occur if the item is expired or had been rewritten within the buffer as per [2].
2 ways to properly handle this as I can think : 1. Come to a default balance between the buffer size (currently 1000) and the TTL value for each item in buffer (seconds) / make this configurable. 2. In case the producing node is attempting an over-write on the buffer, hold it until the buffer is processed. (flow control for subscriptions..) For me, the issue was reproduced by creating about 400 durable JMS topic subscriptions with a ramp time of about 2 seconds from Jmeter. [1] : http://blog.hazelcast.com/ringbuffer-data-structure/ [2] : http://docs.hazelcast.org/docs/3.5/javadoc/com/hazelcast/ringbuffer/StaleSequenceException.html On Tue, Oct 6, 2015 at 4:47 PM, Hasitha Hiranya <hasit...@wso2.com> wrote: > Hi Peter, > > We are using Hazelcast in our Message Broker project. We are getting > following exception when using a iTopic for syncing data. > > Appreciate any idea why this happen? Are we doing something wrong in our > client application? > > We found code [1] throwing the exception. > > Oct 06, 2015 4:26:44 PM > com.hazelcast.ringbuffer.impl.operations.ReadManyOperation > SEVERE: [192.168.1.50]:4000 [wso2.mb.domain] [3.5] sequence:8 is too > small. The current headSequence is:9 > com.hazelcast.ringbuffer.StaleSequenceException: sequence:8 is too small. > The current headSequence is:9 > at > com.hazelcast.ringbuffer.impl.RingbufferContainer.checkBlockableReadSequence(RingbufferContainer.java:176) > at > com.hazelcast.ringbuffer.impl.operations.ReadManyOperation.beforeRun(ReadManyOperation.java:55) > at > com.hazelcast.spi.impl.operationservice.impl.OperationRunnerImpl.run(OperationRunnerImpl.java:131) > at > com.hazelcast.spi.impl.operationexecutor.classic.OperationThread.processOperation(OperationThread.java:154) > at > com.hazelcast.spi.impl.operationexecutor.classic.OperationThread.process(OperationThread.java:110) > at > com.hazelcast.spi.impl.operationexecutor.classic.OperationThread.doRun(OperationThread.java:101) > at > com.hazelcast.spi.impl.operationexecutor.classic.OperationThread.run(OperationThread.java:76) > > > [1]. > https://github.com/hazelcast/hazelcast/blob/master/hazelcast/src/main/java/com/hazelcast/ringbuffer/impl/RingbufferContainer.java > > Thanks > > -- > *Hasitha Abeykoon* > Senior Software Engineer; WSO2, Inc.; http://wso2.com > *cell:* *+94 719363063* > *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com> > > > _______________________________________________ > Dev mailing list > Dev@wso2.org > http://wso2.org/cgi-bin/mailman/listinfo/dev > > -- Cheers, Hasitha Amal De Silva Software Engineer Mobile : 0772037426 Blog : http://devnutshell.tumblr.com/ WSO2 Inc.: http://wso2.com ( lean.enterprise.middleware. )
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev