Are you running with debug mode in logging? And can you constantly
reproduce this? Or it's intermittent?

Please provide the publisher and receiver side configs to test this and
see. As I have already tested more than 10M records, I'm not sure what is
the case here.

Thanks,
Sinthuja.

On Monday, August 31, 2015, Maninda Edirisooriya <[email protected]> wrote:

> Hi,
>
> When I started a 10M load test from Smart Home sample in DAS it runs for
> some time and stops receiving events suddenly.
> But publisher in client was running in higher CPU usage when DAS was
> running with very low CPU.
> When another data agent was spawned it started to publish correctly which
> was confirming that the issue is with the client side.
> We analyzed the thread dump and found the highest using thread is with the
> following stack traces when we analyzed it twice.
>
> 1.
> "main" prio=10 tid=0x00007f85ec00a800 nid=0x7843 runnable
> [0x00007f85f250f000]
>    java.lang.Thread.State: RUNNABLE
>     at
> org.wso2.carbon.databridge.agent.endpoint.DataEndpointGroup$EventQueue.put(DataEndpointGroup.java:148)
>     at
> org.wso2.carbon.databridge.agent.endpoint.DataEndpointGroup$EventQueue.access$300(DataEndpointGroup.java:97)
>     at
> org.wso2.carbon.databridge.agent.endpoint.DataEndpointGroup.publish(DataEndpointGroup.java:94)
>     at
> org.wso2.carbon.databridge.agent.DataPublisher.publish(DataPublisher.java:183)
>     at
> org.wso2.carbon.das.smarthome.sample.SmartHomeAgent.publishLogEvents(Unknown
> Source)
>     at org.wso2.carbon.das.smarthome.sample.SmartHomeAgent.main(Unknown
> Source)
>
> 2.
> "main" prio=10 tid=0x00007f85ec00a800 nid=0x7843 runnable
> [0x00007f85f250f000]
>    java.lang.Thread.State: RUNNABLE
>         at org.apache.log4j.Category.callAppenders(Category.java:202)
>         at org.apache.log4j.Category.forcedLog(Category.java:391)
>         at org.apache.log4j.Category.log(Category.java:856)
>         at
> org.apache.commons.logging.impl.Log4JLogger.debug(Log4JLogger.java:177)
>         at
> org.wso2.carbon.databridge.agent.endpoint.DataEndpointGroup.isActiveDataEndpointExists(DataEndpointGroup.java:264)
>         at
> org.wso2.carbon.databridge.agent.endpoint.DataEndpointGroup.access$400(DataEndpointGroup.java:46)
>         at
> org.wso2.carbon.databridge.agent.endpoint.DataEndpointGroup$EventQueue.put(DataEndpointGroup.java:155)
>         at
> org.wso2.carbon.databridge.agent.endpoint.DataEndpointGroup$EventQueue.access$300(DataEndpointGroup.java:97)
>         at
> org.wso2.carbon.databridge.agent.endpoint.DataEndpointGroup.publish(DataEndpointGroup.java:94)
>         at
> org.wso2.carbon.databridge.agent.DataPublisher.publish(DataPublisher.java:183)
>         at
> org.wso2.carbon.das.smarthome.sample.SmartHomeAgent.publishLogEvents(Unknown
> Source)
>         at
> org.wso2.carbon.das.smarthome.sample.SmartHomeAgent.main(Unknown Source)
>
>
> We suspect that *isActiveDataEndpointExists()* method is called in
> *org.wso2.carbon.analytics.eventsink.internal.queue.DataEndpointGroup*
> class repeatedly because the disruptor ring buffer is filled in client
> side. Not sure why this happens.
>
>
> *Maninda Edirisooriya*
> Senior Software Engineer
>
> *WSO2, Inc.*lean.enterprise.middleware.
>
> *Blog* : http://maninda.blogspot.com/
> *E-mail* : [email protected]
> <javascript:_e(%7B%7D,'cvml','[email protected]');>
> *Skype* : @manindae
> *Twitter* : @maninda
>


-- 
Sent from iPhone
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to