WSO2 Complex Event Processor is succeeded by WSO2 Stream Processor. To view the latest documentation for WSO2 SP, see WSO2 Stream Processor Documentation.

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The possible exceptions relating to event receivers that may occur are as follows:

Table of Contents
maxLevel3
minLevel3

Queue full exception

Sample Error log
Code Block
event for endpoint group [ ( Receiver URL : tcp://cep-1.-prod.local:7611, Authentication URL : ssl://cep-1.abc-prod.local:7711),( Receiver URL : tcp://cep-2.abc-prod.local:7611, Authentication URL : ssl://cep-2.-prod.local:7711) ], 139882 events dropped so far. {org.wso2.carbon.databridge.agent.DataPublisher}
TID: [-1] [] [2017-05-23 00:05:53,708] ERROR
{org.wso2.carbon.databridge.agent.endpoint.DataEndpoint} - Unable to send events to the endpoint. {org.wso2.carbon.databridge.agent.endpoint.DataEndpoint}
org.wso2.carbon.databridge.agent.exception.DataEndpointException: Cannot send Events
OccurrenceThis occurs on the client side when using the WSO2Event event receiver.
Possible reasons
  • The TCP connection between the databridge client and the CEP server may not be established.
  • The performance of WSO2 CEP may not be tuned to handle the event load sent by the databridge client.
  • If the database is an RDBMS database such as MySQL, this exception can occur due to limited capacity.
Troubleshooting options

To check the TCP connection, enable event tracing and event logs, and make sure that one or more events are published to WSO2 CEP.
To enable event tracing, see Event Tracer.
To enable event logging, see Logger Event Publisher.

Recommended action
  • To check the database persistence and database receiver rate, the following properties can be set when the CEP server is started:
    • -DprofileReceiver=true :This enables you to check the throughput per receiver. This creates the receiver-perf.txt file in the CEP_HOME. The throughput is calculated and published in this file for every 100000 events.
    • -DprofilePersistence=true : This allows you to check the throughput at the persistence (i.e., Data Access Layer) level. This creates the persistence-perf.txt file in the CEP_HOME .
    • -DpersistenceStatsCutoff=1000 : This property specifies the number of events for which the persistence-perf.txt file generated via the -DprofilePersistence property is updated. If this property is not set, 100000 is considered the default number.
  • NoSQL databases such as HBase are recommended for high throughput environments to avoid this exception.


Dropping incorrectly formatted events

Exception
Code Block
wso2carbon.log:114:TID: [-1234] [] [2017-03-31 00:00:01,155] ERROR {org.wso2.carbon.databridge.core.internal.queue.QueueWorker} -  Dropping wrongly formatted event sent for -1234 {org.wso2.carbon.databridge.core.internal.queue.QueueWorker}
wso2carbon.log-115-org.wso2.carbon.databridge.core.exception.EventConversionException: Error when converting 1 of event bundle with events 6
wso2carbon.log-116-	at org.wso2.carbon.databridge.receiver.thrift.converter.ThriftEventConverter.createEventList(ThriftEventConverter.java:181)
OccurrenceThis may occur when you publish events to WSO2 CEP before or after starting the CEP server.
Possible reasons
  • If this exception occurs for events that were sent before the CEP server start-up, it can be due to a delay in the deployment of one or more artifacts deployed via CAR files.
  • If this exception occurs for events that are sent after the CEP server start-up, it is because the relevant event stream is not defined or deployed in WSO2 CEP. For more information about event streams, see Understanding Event Streams and Event Tables.
Troubleshooting optionsGo to the <CEP_HOME>/repository/deployment/server/eventstreams directory and check whether the required event stream definition exists.
Recommended actionEnsure that the required event streams are defined/deployed.
Tip

Enabling debugging logs allow you to further monitor event receivers and prevent exceptions. For more information, see Debugging Event Receivers.