apologiez, please, remove this post, I forgot that it should be asked on 
Disruptor forum

On Tuesday, September 12, 2017 at 8:10:22 AM UTC+3, [email protected] 
wrote:
>
> hi, we face some issue which happens approximately after one day after 
> running our application on Ubuntu linux. We use a disruptor and after 
> one-day messages are published into disruptor but no invocation of event 
> handler happens. 
>
> Our disruptor config
>  disruptor = new Disruptor<>(new OrderEventFactory(),
>                                     BUFFER_SIZE,
>                                     Executors.defaultThreadFactory(),
>                                     ProducerType.SINGLE,
>                                     new YieldingWaitStrategy());
>         RingBuffer<OurEvent > ringBuffer = disruptor.getRingBuffer();
>         producer = new OurEventProducer(ringBuffer);
>         disruptor.handleEventsWith(new OurEventHandler()).then((event, 
> sequence, endOfBatch) -> {
>             event.clear();
>         });
>         disruptor.start();
>
>
>
> public class OurEventProducer{
>
>     private final RingBuffer<OurEvent > ringBuffer;
>
>     public OrderEventProducer(RingBuffer<OurEvent > ringBuffer)
>     {
>         this.ringBuffer = ringBuffer;
>     }
>
>     public void onData(OurEvent wrapper)
>     {
>         long sequence = ringBuffer.next(); 
>         try
>         {
>             EventWrapper eventWrapper = ringBuffer.get(sequence); 
>             eventWrapper.setRequest(wrapper.getRequest());
>         }
>         catch(Exception e) {
>             LOGGER.error("Error publishing event with " + sequence, e);
>         }
>         finally
>         {
>             ringBuffer.publish(sequence);
>             LOGGER.info("Published event with sequence " + sequence);
>         }
>     }
> }
>
>
> Now our OurEventHandler has this log msg and logic after that, also it 
> suppresses all exceptions
>
>     @Override
>     public void onEvent(OurEvent event, long sequence, boolean endOfBatch) 
> throws Exception {
>    try {
> LOGGER.info("Incoming event " + event.getRequest());
> } catch(Exception e) {
> }
> }
>
>
> After a day of load we see a lot of msgs "Published event with sequence" 
> but no "Incoming event" messages from handler, i.e. we see that messages 
> are published, but not consumed. What is the possible reason for that? Can 
> it be that disruptor is full? If yes, why in this case it allows publishing 
> of data?
>
>
> Our disruptor buffer size is 1024 and we use Disruptor version 3.3.6.
>
>
> Thanks.
>
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to