-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/25996/
-----------------------------------------------------------

(Updated Sept. 24, 2014, 6:04 p.m.)


Review request for drill, Aditya Kishore and Jacques Nadeau.


Repository: drill-git


Description (updated)
-------

Mongo storage plugin support. The features which we implemented as part of this 
is as follows.
1) Support for sharded(chunk wise), shared-replicated(chunk wise), replicated, 
stand-alone
2) Predicate pushdown 
3) Mongo PStore 

MongoRecordReader uses JsonReaderWithState in the case of non-star queries. 


Diffs
-----

  contrib/pom.xml 728038a 
  contrib/storage-mongo/pom.xml PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/DrillMongoConstants.java
 PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoCnxnManager.java
 PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoCompareFunctionProcessor.java
 PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoFilterBuilder.java
 PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoGroupScan.java
 PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoPushDownFilterForScan.java
 PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoRecordReader.java
 PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoScanBatchCreator.java
 PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoScanSpec.java
 PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoStoragePlugin.java
 PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoStoragePluginConfig.java
 PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoSubScan.java
 PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/MongoUtils.java
 PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/common/ChunkInfo.java
 PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/common/MongoCompareOp.java
 PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/config/MongoPStore.java
 PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/config/MongoPStoreProvider.java
 PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/schema/MongoDatabaseSchema.java
 PRE-CREATION 
  
contrib/storage-mongo/src/main/java/org/apache/drill/exec/store/mongo/schema/MongoSchemaFactory.java
 PRE-CREATION 
  contrib/storage-mongo/src/main/resources/bootstrap-storage-plugins.json 
PRE-CREATION 
  contrib/storage-mongo/src/main/resources/drill-module.conf PRE-CREATION 
  
contrib/storage-mongo/src/test/java/org/apache/drill/exec/store/mongo/TestMongoChunkAssignment.java
 PRE-CREATION 
  distribution/pom.xml cd5df0d 
  distribution/src/assemble/bin.xml 86e3802 
  exec/java-exec/src/main/java/org/apache/drill/exec/ExecConstants.java 933bfbe 
  
exec/java-exec/src/main/java/org/apache/drill/exec/server/options/SystemOptionManager.java
 4fa61e1 
  
exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/fn/JsonReader.java
 4e12b8b 
  
exec/java-exec/src/main/java/org/apache/drill/exec/vector/complex/fn/JsonReaderWithState.java
 ef995f8 

Diff: https://reviews.apache.org/r/25996/diff/


Testing (updated)
-------

1) Tested various set of queries on sharded, replicated and stand-alone modes.

2) Test Environment details: We created mongo cluster with 2 shards with a 
collections consists of 35 chunks(18 chunks are one shard and remaining chunks 
on on other shard). Below are the few queries which we tested in all the 
environments.

    a) SELECT * FROM mongo.employee.`empinfo` limit 10;

        b) SELECT first_name, last_name FROM mongo.employee.`empinfo` limit 10;

        c) SELECT first_name, last_name FROM mongo.employee.`empinfo` where 
employee_id = 1111;

        d) SELECT * FROM mongo.employee.`empinfo` where full_name = 'Phil 
Munoz';

        e) SELECT first_name, last_name, position_id FROM 
mongo.employee.`empinfo` where employee_id = 1111  OR position_id = 16;

        g) SELECT first_name, last_name FROM mongo.employee.`empinfo` where 
isFTE = true;

        h) SELECT first_name, last_name, position_id FROM 
mongo.employee.`empinfo` where employee_id = 1107  AND position_id = 17 AND 
last_name = 'Yonce';


3) PStore functionality not fully tested.


Thanks,

Anil Kumar B

Reply via email to