Clone Tools
  • last updated 15 mins ago
Constraints: committers
Constraints: files
Constraints: dates
DRILL-3581: Upgrade to Guava 18.0

- Replace Stopwatch constructors with .createStarted() or .createUnstarted()

- Stop using InputSupplier and Closeables.closeQuietly

- Clean up quiet closes to log or (preferably) propagate.

- Add log4j to enforcer exclusions.

- Update HBaseTestSuite to add patching of Closeables.closeQuietly() and Stopwatch legacy methods. Only needed when running HBaseMiniCluster.

- Remove log4j from HBase's pom to provide exception logging.

- Remove log4j from Hive's shaded pom.

- Update Catastrophic failures to use the same pattern to ensure reporting.

- Update test framework to avoid trying IPv6 resolution. (This removes 90s pause from HBase startup in my tests)

This closes #361.

This closes #157.

  1. … 64 more files in changeset.
DRILL-1942-readers: - add extends AutoCloseable to RecordReader, and rename cleanup() to close(). - fix many warnings - formatting fixes


- renamed cleanup() to close in the new JdbcRecordReader

Close apache/drill#154

  1. … 15 more files in changeset.
DRILL-4028: Update Drill to leverage latest version of Parquet library.

- Remove references to the shaded version of a Jackson @JsonCreator annotation from parquet, replace with proper fasterxml version.

- Fixing imports using the wrong parquet packages after rebase.

- Fixing issues with Drill parquet read a write path after merging the Drill parquet fork back into mainline.

- Fixed the issue with the writer, needed to flush the RecordConsumer in the ParquetRecordWriter.

- Consolidate page reading code

- Added some test to print out some additional context when an ordered comparison of two datasets fails in a test.

- Fix up parquet API usage in Hive Module.

- Adding unit test to read a write all types in parquet, the decimal types and interval year have some issues.

- Use direct codec factory from new package in the parquet library now that it has been moved.

- Moving the test for Direct Codec Factory out of the Drill source as the class itself has been moved.

- Small fix after consolidating two different ByteBuffer based implementations of BytesInput.

- Small fixes to accommodate interface changes.

- Small changes to remove direct references to DirectCodecFactory, this class is not accessible outside of parquet, but an instance with the same contract is now accessible with a new factory method on CodecFactory.

- Fixed failing test using miniDFS when reading a larger parquet file.

This closes #236

  1. … 55 more files in changeset.
DRILL-3621: Fix incorrect result if HBase filter contains row_key "or" filter or in list filter

Add unit test for row_key "or" filter and row_key in list filter.

Modify expected results for couple of existing unit tests, by specifying more strict regex pattern.

Add one row in Hbase test table, per review comment.

  1. … 4 more files in changeset.
DRILL-3492: Add support for encoding/decoding of to/from OrderedBytes format


This change allows encoding/decoding of data from/to 'double', 'float',

'bigint', 'int' and 'utf8' data types to/from OrderedBytes format.

It also allows for OrderedByte encoded row-keys to be stored in

ascending as well as descending order.

The following JIRA added the OrderedBytes encoding to HBase:

This encoding scheme will preserve the sort-order of the native

data-type when it is stored as sorted byte arrays on disk.

Thus, it will help the HBase storage plugin if the row-keys have been

encoded in OrderedBytes format.

This functionality allows us to prune the scan ranges, thus reading much

lesser data from the server.

Testing Done:

Added a new unit-test class which

derives from class.

Also add new test cases to TestHBaseFilterPushDown class that will test

if we were able to push-down filters correctly and if the results are


DRILL-3492 - * Remove repeated allocations of byte arrays and PositionedByteRange objects

on heap(as suggested by Jason).

* Remove OrderedBytes encode/decode operations on UTF8 types.

Reasons -

1. These operations are slow and incur a lot of heap allocations

2. UTF8 types maintain their natural sort order when stored as binary arrays.

DRILL-3492 - Remove test code that creates test tables with UTF8 OrderedByte encoding.

  1. … 5 more files in changeset.
DRILL-3364: Prune scan range if the filter is on the leading field with byte comparable encoding

The change adds support to perform row-key range pruning when the row-key prefix


UINT8_BE encoded.

Testing Done: Added a unit-tests for the new feature, also ran all existing

unit-tests to make sure there is no regression.

  1. … 11 more files in changeset.
DRILL-1651: Push filter past project with ITEM operator into HBase scan.

  1. … 1 more file in changeset.
DRILL-3500: Add OptimizerRulesContext which exposes information needed by storage plugin specific optimizer rules Add FunctionLookupContext to enable materializing function calls without having access to the entire function registry

  1. … 15 more files in changeset.
DRILL-2006: Updated Text reader. Increases variations of text files Drill can work with.

Text reader is heavily inspired by uniVocity parser although it is now byte based and customized for Drill's memory representations.

Also updated the RecordReader interface so that OperatorContext is presented at setup time rather than being a separate call.

  1. … 43 more files in changeset.
DRILL-2848: Provide option to disable decimal data type Disable casting to decimal Disable reading decimal from Parquet Disable reading decimal from Hive Add unit tests Modify existing tests to enable decimal data type

  1. … 38 more files in changeset.
DRILL-2826: Simplify and centralize Operator Cleanup

- Remove cleanup method from RecordBatch interface

- Make OperatorContext creation and closing the management of FragmentContext

- Make OperatorContext an abstract class and the impl only available to FragmentContext

- Make RecordBatch closing the responsibility of the RootExec

- Make all closes be suppresing closes to maximize memory release in failure

- Add new CloseableRecordBatch interface used by RootExec

- Make RootExec AutoCloseable

- Update RecordBatchCreator to return CloseableRecordBatches so that RootExec can maintain list

- Generate list of operators through change in ImplCreator

  1. … 95 more files in changeset.
DRILL-2567: CONVERT_FROM in where clause cause the query to fail in planning phase

Set the writeIndex of ByteBuf returned by Unpooled.wrappedBuffer() to 0.

+ Added a unit test to exercise the code path.

  1. … 1 more file in changeset.
DRILL-2567: CONVERT_FROM in where clause cause the query to fail in planning phase

Set the writeIndex of ByteBuf returned by Unpooled.wrappedBuffer() to 0.

+ Added a unit test to exercise the code path.

  1. … 1 more file in changeset.
DRILL-2514: Add support for impersonation in FileSystem storage plugin.

  1. … 66 more files in changeset.
DRILL-2413: FileSystemPlugin refactoring: avoid sharing DrillFileSystem across schemas

  1. … 32 more files in changeset.
DRILL-1690: Issue with using HBase plugin to access row_key only

DRILL-2173: Partition queries to drive dynamic pruning

Adds new interface on the QueryContext as well as individual schemas for exploring partitions of tables.

Adds injectable type for partition explorer for use in UDFs. This is hooked into both to expression

materialization and interpreted evaluation. The FragmentContext throws an exception to tell users to turn on

constant folding if a UDF that uses the PartitionExplorer makes it past planning.

2173 update -Address Chris' review comments.

Change the PartitionExplorer to return an Iterable<String> instead of String[]

Add interface level description to PartitionExplorer and StoragePluginPartitionExplorer.

New inner class in FileSystemPlugin to fulfill the new Iterable interface for partitions.

Formatting/cleanup fixes

Clean up error reporting code in MaxDir UDF. Remove method to get a string from a DrillBuf, as it was already defined in StringFunctionHelpers. Add new utility method to specifically convert a VarCharHolder to a string to remove some boilerplate.

Fixed an errant copy paste in a comment and removed unused imports.

Fix docs in FileSystemPlugin, belongs with the 2173 changes.

Fix references in Javadoc to properly use @link instead of @see.

2173 fixes, correctly return an empty list of sub-partitions if the path requested in the partition explorer interface is a file. Fix a few docs.

More 2173, finishing Chris' comments

2173 update - Add validation for PartitionExplorer injectable in UdfUtiltiers.

small change to fix refactored unit tests.

cleanup for 2173

Fix maxdir UDF so it can compile in runtime generated code as well as the interpreted expression system (needed to fully qualify classes and interfaces). It still fails to execute, as we prevent requesting a schema from a non-root fragment. We do not expect these types of functions to ever be used without constant folding so this should not be an issue.

Update error message in the case where the partition explorer is being used outside of planning.

Adding free marker generated maxdir, imaxdir, mindir and imindir

remove import that violates build checks, fix typo in new test class name

Separate out SubDirectoryList from FileSystemSchemaFactory.

Fix unit test to correctly test all four functions.

Update partition explorer to take List instead of Collection. As the lists are used in parallel it should be explicit that these are expected to be ordered (which Collections do not guarantee).

Drop the extra file generated due to the header in the free marker template and fix a typo and remove an unused import.

  1. … 19 more files in changeset.
DRILL-2090: Update HBase storage plugin to support HBase 0.98

    • -10
    • +8
  1. … 6 more files in changeset.
DRILL-1960: Automatic reallocation

  1. … 64 more files in changeset.
DRILL-1947: Cache PStore/EStore instances rather than recreating on each need. As part of this, make sure that PStoreConfig doesn't use identity equality.

  1. … 17 more files in changeset.
DRILL-1917: Limit the number of results from HBasePStore.iterator() to MaxIteratorSize in BLOB_PERSISTENT mode

*** Wishing everyone a Happy New Year ***

DRILL-1900: Fix numeric overflow problem in hbase stat calculation.

DRILL-1684, DRILL-1517, DRILL-1350: Profile and cancellation updates - Remove any storage of persisted profiles. - Store a separate query info object for active queries. - Update cancellation and running profile loading to query foreman server. - Make file store support HDFS APIs - Update PStoreProvider to use configuration to decide if you want PERSISTENT, EPHEMERAL, or BLOB storage rather than separate interfaces. - Update ZkPStore's persistent mode to leverage a cache and respond to changes rather than actively probing values. - Update ZkPStore's cache to be effectively write-through. - Automatically delete deprecated or default value options from PStore.

  1. … 41 more files in changeset.
DRILL-1339: Use EStore to track running query status.

Move common code to ZkAbstractStore.

Get full profile from foreman directly.

code cleanup.

code change based on review comments.

ZK store check node exists before delete. Add error message in case of error.

Use a different profile for running queries, so that running query would have different ZK node from completed queries.

More log. Do not delete query state in EStore. In stead, modify the state in EStore.

  1. … 18 more files in changeset.
DRILL-1508: Implement pushdown for LIKE operator in HBase storage engine

    • -0
    • +165
  1. … 6 more files in changeset.
DRILL-1567 - Pushdown fails with WHERE clause with more than one AND or OR operator of same type

DRILL-1384: Part 1 - Rebase on Calcite. Change code due to Calcite package renaming/re-structure.

Optiq changed to use DATETIME_PLUS. Have to handle it in Drill.

PushFilterPastJoinRule has some issue. Temp fix for that.

Failed unit tests:

1) TestFlatten

2) TestConvertFunctions / TestComplexTypeWriter : "Concat"

3) TPCH Q16 : CanNotPlanException

Feed a RelDataTypeSystem into planner, to support decimal with precision/scale up to 38.

Remove assertion in DrillFilterRel. Optiq/Calcite could create a TRUE AND TRUE for query like WHERE col1 in (select ...) and col2 in (select ...) .

Rebase on calcite-1.1.0-drill-test-r1. Change code due to Calcite package renaming/re-structure.

Rebase on calcite : remaing with perl script. Part 1

reverse change to jdbc test.

Renaming for rebasing calcite. Part 2

Renaming for calcite rebasing. Part 3

Renaming for calcite rebasing. Part 4

Reverse change to testcase in jdbc.

Renaming for calcite rebasing. Part 5

Renaming for calcite rebasing. Part 6


WindowRel change related.

Renaming for calcite rebase. Part 7

PreprocessLogical and AggPrelBase

Renaming for calcite rebasing. Part 8. More manual change

Rebasing Calcite. Part 9

Rebasing calcite. Part 10

Rebasing API change from Calcite.

SQL parser change, due to Calcite rebasing.

Renaming change for calcite rebasing.

Renaming package due to Calcite rebasing.

Renaming package due to Calicte Rebase.

Work in progress for calcite rebasing.

Change import package names due to Calcite rebase.

Code refactor due to Calcite rebasing.

Fix bug in DistributionTraitDef.

Resolve compiler error, due to Calcite Rebasing.

Resolve compiler error after Calcite Rebasing.

minor change.

  1. … 258 more files in changeset.
DRILL-1433: Fixing Where query on HBase store when row_key doesn't exist in HBase

DRILL-1371: HBase queries fail when hbase.scan.sizecalculator.enabled is set to false

DRILL-1414: Move profile storage to DFS rather than using PStore

  1. … 12 more files in changeset.