bugfix for #887

bugfix for #887, that is cannot query multi partitions of one datasource on realtime node. I dont know if line 139's Executors.newSingleThreadExecutor() is the right way to do it, let me know if i'm wrong, thanks!

@gianm 
I think the easiest thing to do is to create a more unique key in the map, for example, datasource_shardSpecPartitionNumber