title: Siddhi I don't get any response from aggregate query
body: <p>I have a simple query like this:</p>
  
  <pre><code>define stream myEventStream (userId string, price int);  
  define stream outputStream (avgPrice double, userId string);  
  
  @info(name = 'aQuery')  
  from myEventStream#window.time(5000)  
  select avg(price) as avgPrice, userId group by userId  
  insert into outputStream;
  </code></pre>
  
  <p>When I add the query callback I don't get any response from it.</p>
  
  <pre><code>    runtime.addCallback("aQuery", new QueryCallback() {
          @Override
          public void receive(long timeStamp, Event[] inEvents,  Event[] removeEvents) {
              EventPrinter.print(timeStamp, inEvents, removeEvents);
          }
      });
  </code></pre>
  
  <p>I'm producing messages in another thread:</p>
  
  <pre><code>    final AtomicInteger counter = new AtomicInteger(0);
      final Random rnd = new Random(System.currentTimeMillis());
      ExecutorService executor = Executors.newSingleThreadExecutor();
      executor.submit(() -&gt; {
         while (counter.getAndIncrement() &lt; 100) {
             try {
                 handler.send(new Object[]{"user1", rnd.nextInt(100)});
                 handler.send(new Object[]{"user2", rnd.nextInt(100)});
                 handler.send(new Object[]{"user3", rnd.nextInt(100)});
                 System.out.println("Sent: " + counter.get());
                 Thread.sleep(1000);
             } catch (InterruptedException e) {
                 Thread.currentThread().interrupt();
                 throw new RuntimeException(e);
             }
         }
      });
  </code></pre>
  
  <p>I'm expecting result each 5 seconds. What am I missing here? Please help.
  Thank you.</p>