Clone
 

abhishek ravi <abhi.ravi@gmail.com> in drill

DRILL-6855: Do not load schema if there is an IOException

closes #1626

DRILL-6918: Skip ensureAtLeastOneField when there are no records

If none of the project / filter columns, exist in the vector, ensureAtLeastOneField (or the Scan operator) adds at least one field as nullable integer (or nullable varchar if `allTextmode` is enabled).

The downstream Filter operator would then go on to fail with `NumberFormatException` because it tries to convert empty fields to integers.

Since ensureAtLeastOneField is called after reading all the messages in a batch, it can be skipped if the batch is empty.

closes #1595

DRILL-6625: Intermittent failures in Kafka unit tests Unit test changes to fix intermittent kafka producer and consumer errors.

- Increase the value of REQUEST_TIMEOUT_MS_CONFIG to accomadate slower systems.

- Increase the value of producer RETRIES_CONFIG to 3 (from 0).

- Prevent producer to send duplicate messages due to retries by enabling Idempotent producer.

- Increase consumer poll timeout (from 200 ms).

- The design of `TestKafkaSuit` is very similar to design of `MongoTestSuit` and hence would require changes similar to the ones made in [storage-mongo/pom.xml](https://github.com/apache/drill/pull/923/commits/f5dfa56f33a46b92e2f9de153d82a16a77642ddf#diff-e110e2cbfd77d27e85d5121529c612bfR83).

- Current behavior is surefire runs test classes twice - once as a part of `TestKafkaSuit` and the other by directly running classes. To prevent the latter from happening, changes were made in `pom.xml` for `storage-mongo` plugin.

closes #1463

DRILL-5977: Implement Filter Pushdown in Drill-Kafka plugin

closes #1272