Heya,
We autogenerate a graph and use the Clover engine to run it as part of our application. We are testing an upgrade of Clover from version 3.0.1 to 3.3.0 and we’re having an issue with one of our smoke tests. The attached graph works fine with Clover 3.0.1, but crashes in Clover 3.3.0 with the following stack trace:
[2013-03-04 16:14:34,166] ERROR - Graph execution finished with error
[2013-03-04 16:14:34,166] ERROR - Node JOIN_3 finished with status: ERROR caused by: Data input 0 is not sorted in ascending order. Record #51: Key fields=“FIELD_CMERGE_Prep_Key_Prep_Parcel:FIELD_CMERGE_Prep_Key_SECNBR:FIELD_CMERGE_Prep_Key_BLD_ID”. Current=“FIELD_CMERGE_Prep_Key_Prep_Parcel:0100036 FIELD_CMERGE_Prep_Key_SECNBR:000 FIELD_CMERGE_Prep_Key_BLD_ID:1”; Previous=“FIELD_CMERGE_Prep_Key_Prep_Parcel:0100036 FIELD_CMERGE_Prep_Key_SECNBR:000 FIELD_CMERGE_Prep_Key_BLD_ID:2”.
[2013-03-04 16:14:34,166] ERROR - Node JOIN_3 error details:
java.lang.IllegalStateException: Data input 0 is not sorted in ascending order. Record #51: Key fields=“FIELD_CMERGE_Prep_Key_Prep_Parcel:FIELD_CMERGE_Prep_Key_SECNBR:FIELD_CMERGE_Prep_Key_BLD_ID”. Current=“FIELD_CMERGE_Prep_Key_Prep_Parcel:0100036 FIELD_CMERGE_Prep_Key_SECNBR:000 FIELD_CMERGE_Prep_Key_BLD_ID:1”; Previous=“FIELD_CMERGE_Prep_Key_Prep_Parcel:0100036 FIELD_CMERGE_Prep_Key_SECNBR:000 FIELD_CMERGE_Prep_Key_BLD_ID:2”.
at org.jetel.component.MergeJoin.loadNext(MergeJoin.java:305)
at org.jetel.component.MergeJoin.execute(MergeJoin.java:439)
at org.jetel.graph.Node.run(Node.java:465)
at java.lang.Thread.run(Thread.java:662)
[2013-03-04 16:14:34,194] ERROR - 588: thread forcibly aborted
java.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at org.jetel.graph.DirectEdge.fillReadBuffer(DirectEdge.java:216)
at org.jetel.graph.DirectEdge.readRecordDirect(DirectEdge.java:182)
at org.jetel.graph.Edge.readRecordDirect(Edge.java:377)
at org.jetel.component.Trash$InputReader.run(Trash.java:494)
.
.
[2013-03-04 16:14:36,213] ERROR - !!! Phase finished with error - stopping graph run !!!
[2013-03-04 16:14:36,808] ERROR - Execution of graph failed !
I’ve verified that the graph looks the same up to the point where this exception is thrown. Looking the the graph, SORT_71 (which goes into JOIN_0:1) is sorting it by the correct fields, and then nothing is resorting on the port 0 path before it hits JOIN_3:0. Do you know of anything that might’ve changed that could cause the records to get out-of-order? With this upgrade we did do some changes in our custom nodes, so I’m investigating if something we did might cause this, but thought I’d ask if there anything that springs up as obvious from the Clover side.
Thanks,
Anna