Index: modules/siddhi-core/src/test/java/org/wso2/siddhi/test/standard/SmartGridSampleTestCase.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- modules/siddhi-core/src/test/java/org/wso2/siddhi/test/standard/SmartGridSampleTestCase.java	(revision 186207)
+++ modules/siddhi-core/src/test/java/org/wso2/siddhi/test/standard/SmartGridSampleTestCase.java	(revision )
@@ -236,7 +236,7 @@
                 EventPrinter.print(timeStamp, inEvents, removeEvents);
                 if (inEvents != null) {
 //                    junit.framework.Assert.assertTrue("IBM".equals(getData(newEventData, 0, 0)) || "WSO2".equals(getData(newEventData, 0, 0)));
-                    eventCount++;
+                    eventCount+=inEvents.length;
                 }
                 eventArrived = true;
             }
@@ -294,7 +294,7 @@
                 EventPrinter.print(timeStamp, inEvents, removeEvents);
                 if (inEvents != null) {
 //                    junit.framework.Assert.assertTrue("IBM".equals(getData(newEventData, 0, 0)) || "WSO2".equals(getData(newEventData, 0, 0)));
-                    eventCount++;
+                    eventCount+=inEvents.length;
                 }
                 eventArrived = true;
             }
Index: modules/siddhi-core/src/test/java/org/wso2/siddhi/test/standard/table/TableJoinTestCase.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- modules/siddhi-core/src/test/java/org/wso2/siddhi/test/standard/table/TableJoinTestCase.java	(revision 186207)
+++ modules/siddhi-core/src/test/java/org/wso2/siddhi/test/standard/table/TableJoinTestCase.java	(revision )
@@ -61,7 +61,9 @@
             public void receive(long timeStamp, Event[] inEvents, Event[] removeEvents) {
                 EventPrinter.print(timeStamp, inEvents, removeEvents);
                 eventArrived = true;
-                eventCount++;
+                if(inEvents!=null){
+                    eventCount+=inEvents.length;
+                }
             }
 
         });
Index: modules/siddhi-core/src/main/java/org/wso2/siddhi/core/query/processor/join/JoinProcessor.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- modules/siddhi-core/src/main/java/org/wso2/siddhi/core/query/processor/join/JoinProcessor.java	(revision 186207)
+++ modules/siddhi-core/src/main/java/org/wso2/siddhi/core/query/processor/join/JoinProcessor.java	(revision )
@@ -115,6 +115,7 @@
         if (atomicEvent instanceof Event && triggerEventTypeCheck((Event) atomicEvent)) {
             if (triggerEvent) {
                 acquireLock();
+                ListAtomicEvent listAtomicEvent = createNewListAtomicEvent();
                 Iterator<StreamEvent> iterator = getStreamEventIterator((Event) atomicEvent);
 
                 while (iterator.hasNext()) {
@@ -125,13 +126,12 @@
                         if (isEventsWithin((Event) atomicEvent, windowStreamEvent)) {
                             StateEvent newEvent = createNewEvent((Event) atomicEvent, (Event) windowStreamEvent);
                             if (onConditionExecutor.execute(newEvent)) {
-                                querySelector.process(newEvent);
+                                listAtomicEvent.addEvent(newEvent);
                             }
                         } else {
                             break;
                         }
                     } else if (windowStreamEvent instanceof ListEvent) {
-                        ListAtomicEvent listAtomicEvent = createNewListAtomicEvent();
                         Event[] events = ((ListEvent) windowStreamEvent).getEvents();
                         for (Event event : events) {
 //                            Event newEvent = (new InComplexEvent(new Event[]{((Event) complexEvent), ((Event) events[i])}));
@@ -144,10 +144,12 @@
                                 break;
                             }
                         }
-                        sendEventList(listAtomicEvent);
                     } else {
                         //todo error Complex atomicEvent not supported
                     }
+                }
+                if(listAtomicEvent.getActiveEvents()>0){
+                    sendEventList(listAtomicEvent);
                 }
                 if (atomicEvent instanceof InStream) {
                     windowProcessor.process(atomicEvent);
