Versions Compared

Key

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

...

Sample error log
Code Block
[2017-07-10 17:34:21,372] ERROR {org.wso2.carbon.event.processor.admin.EventProcessorAdminService} -  Exception when validating execution plan
org.wso2.carbon.event.processor.core.exception.ExecutionPlanConfigurationException: Different definition same as output stream definition :StreamDefinition{id='OutputStream', attributeList=[Attribute{id='sensor_id_distinct_count', type=DOUBLE}, Attribute{id='count', type=LONG}], annotations=[]} already exist as:StreamDefinition{id='OutputStream', attributeList=[Attribute{id='sensor_id_distinct_count', type=LONG}, Attribute{id='count', type=LONG}], annotations=[Annotation{name='Export', elements=[Element{key='null', value='org.wso2.event.temperature.statistics.stream:1.0.0'}]}]} in execution plan "SensorDataAnalysis-SensorAnalytics-ssss-realtime1"
OccurrenceThis occurs when validating an execution plan or when deploying an execution plan via the file system.
Possible reasons

This exception is thrown when there are two event stream definitions with the same name and different attributes. This may have happened in one of the following ways:

  • The two streams may have been explicitly defined with the same name. 
  • A stream you defined may have been also inferred by Siddhi.
Troubleshooting options

To find the execution plan that is causing the error, you can browse the end of the ;pg entry error trace log that states the execution plan name. e.g.,: in execution plan "SensorDataAnalysis-SensorAnalytics-ssss-realtime1” is mentioned in the sample error log given above.

To find out whether both streams were explicitly defined, or whether one of them was inferred by Siddhi, you need to compare the two stream definitions printed in the log. If you read the exception carefully it prints two stream definitions within curly braces. You can extract both out and compare using a tool such as Meld and identify the issue.

Recommended action
  • If both the streams were explicitly defined with the same name, rename one stream.
  • If one stream was inferred by Siddhi, you need to delete the other stream that you explicitly defined, and click Export Stream in the Create a New Execution Plan window to export the stream inferred by Siddhi to avoid mismatches. For detailed information about exporting inferred streams, see Creating a Standalone Execution Plan - Export stream.

...