Hiran Haun
Hiran Haun

Reputation: 11

WSO2 dropped events

I would like to know more information about discarded events. The server is probably receiving incorrectly formatted events and would like to know more about these events to send an alert to our partners.

 [2021-02-11 16:28:16,317] ERROR {org.wso2.carbon.databridge.core.internal.queue.QueueWorker} - Dropping wrongly formatted event sent org.wso2.carbon.databridge.core.exception.EventConversionException: Error when converting event.test.example:1.0.0 of event bundle with events 1
        at org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.createEventList(ThriftEventConverter.java:188)
        at org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.toEventList(ThriftEventConverter.java:90)
        at org.wso2.carbon.databridge.core.internal.queue.QueueWorker.run(QueueWorker.java:80)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
        at java.util.ArrayList.rangeCheck(ArrayList.java:657)
        at java.util.ArrayList.get(ArrayList.java:433)
        at org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.toObjectArray(ThriftEventConverter.java:49)
        at org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.createEventList(ThriftEventConverter.java:177)
        ... 7 more

Does anyone know how I can get more information about them?

thanks

Upvotes: 1

Views: 336

Answers (1)

The general details you need to know regarding the Dropping wrongly formatted event sent are as follows.

The "Dropping wrongly formatted event sent" error can be thrown when there is an incompatibility between the streams of the receiver(analytics) and publisher or GW. The issue can happen when there are no compatible receivers or stream definitions in the analytics server. This may occur when you publish events to WSO2 DAS/analytics before the server startup of DAS/analytics is completed.

For example, this can happen when the APIM server has started and publishing events, but the analytics server is still starting but hasn't deployed the relevant carbon application(.car) file.

In order to prevent the analytics server from receiving events before event streams are deployed, we can add configurable delay to starting up the thrift server. This will allow you to have a grace period and let the streams get deployed.

In order to add a delay, we can use following property to the configuration in the <ANALYTICS_SERVER>/repository/conf/data-bridge/data-bridge-config.xml file.

<config name="waitingTimeInMilliSeconds">{waitingTime}</config>

You need to restart the DAS server after adding this configuration for it to be effective. For more details please refer to the official documentation.

Upvotes: 1

Related Questions