Hi Hasitha, Please find the comments in line for the ways of handling the issue.
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. I don't think there is an impact of the ring buffer size on the expiration of items. Increasing the TTL seems the only solution. But we did not increase this since we needed to avoid the possibility of getting old notifications in the case of a network failure or a crashed node. Making the TTL configurable seems like a good solution. 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..) This is provided by default configurations of Hazelcast 'RealiableTopic' as per [1] [1] http://docs.hazelcast.org/docs/latest-dev/manual/html/reliabletopic.html#reliable-topic-configuration Thank you On Tue, Oct 13, 2015 at 8:07 PM, Hasitha Amal De Silva <[email protected]> wrote: > 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 <[email protected]> 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 >> [email protected] >> 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. ) > -- Sasikala Kottegoda *Software Engineer* WSO2 Inc., http://wso2.com/ lean. enterprise. middleware Mobile: +94 774835928/712792401
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
