----------------------------------------------------------- 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
