Age | Commit message (Collapse) | Author |
|
close apache/drill#1630
|
|
ShutdownThread is no longer required when Drillbit#close() is called.
mvn install for Drill project consumed 600MiB (there were 160 shutdown hooks)
close apache/drill#1625
|
|
close apache/drill#1622
|
|
close apache/drill#1620
|
|
Modifies the column metadata and writer abstractions to allow a type conversion "shim" to be specified as part of the schema, then inserted as part of the row set writer. Allows, say, setting an Int or Date from a string, parsing the string to obtain the proper data type to store in the vector.
Type conversion not yet supported in the result set loader: some additional complexity needs to be resolved.
Adds unit tests for this functionality. Refactors some existing tests to remove rough edges.
closes #1623
|
|
Many of the early RowSet-based tests used the pattern:
new RowSetComparison(expected)
.verifyAndClearAll(result);
Revise this to use the simplified form:
RowSetUtilities.verify(expected, result);
The original form is retained when tests use additional functionality, such as the ability to perform multiple verifications on the same expected batch.
closes #1624
|
|
not complete
closes #1621
|
|
closes #1616
|
|
1. HiveTestBase data initialization moved to static block
to be initialized once for all derivatives.
2. Extracted Hive driver and storage plugin management from HiveTestDataGenerator
to HiveTestFixture class. This increased cohesion of generator and
added loose coupling between hive test configuration and data generation
tasks.
3. Replaced usage of Guava ImmutableLists with TestBaseViewSupport
helper methods by using standard JDK collections.
closes #1613
|
|
coalesce exist in a parquet file
- Updated UntypedNullVector to hold value count when vector is allocated and transfered to another one;
- Updated RecordBatchLoader and DrillCursor to handle case when only UntypedNull values are present in RecordBatch (special case when data buffer is null but actual values are present);
- Added functions to cast UntypedNull value to other types for use in UDFs;
- Moved UntypedReader, UntypedHolderReaderImpl and UntypedReaderImpl from org.apache.drill.exec.vector.complex.impl to org.apache.drill.exec.vector package.
closes #1614
|
|
closes #1600
|
|
|
|
closes #1619
|
|
instead of ValueHolder
closes #1617
|
|
|
|
closes #1609
|
|
This provides an option to order the list of query profiles based on any of the displayed fields, including total duration. This way, a user can easily identify long running queries.
In addition, the number of profiles listed per page for both, completed and running list of queries, has been made configurable with the parameter: `drill.exec.http.profiles_per_page` (default is 10,25,50,100)
closes #1594
|
|
binary table
1. Added persistence of MAP key and value types in Drill views (affects .view.drill file) for avoiding cast problems in future.
2. Preserved backward compatibility of older view files by treating untyped maps as ANY.
closes #1602
|
|
plugin when native reader is enabled
closes #1610
|
|
closes #1611
|
|
|
|
1. ColumnBuilder: setPrecisionAndScale method
2. SchemaContainer: addColumn method parameter AbstractColumnMetadata was changed to ColumnMetadata
3. MapBuilder / RepeatedListBuilder / UnionBuilder: added constructors without parent, made buildColumn method public
4. TupleMetadata: added toMetadataList method
5. Other refactoring
|
|
in filter condition
closes #1607
|
|
closes #1604
|
|
- Remove plugins usage for instantiating test databases and tables
- Replace derby with h2 database
closes #1603
|
|
option to reflect it affects JDBC connections only
closes #1601
|
|
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
|
|
|
|
|
|
|
|
Description was accidentally duplicated from `planner.parser.quoting_identifiers`
closes #1597
|
|
Currently, the WebServer side needs to process the entire set of results and stream it back to the WebClient.
Since the WebUI does paginate results, we can load a larger set for pagination on the browser client and relieve pressure off the WebServer to host all the data (most of which will never be streamed to the browser).
e.g. Fetching all rows from a 1Billion records table is impractical and can be capped at (say) 1K. Currently, the user has to explicitly specify LIMIT in the submitted query.
An option is provided in the field to allow for this entry, and can be set to selected by default for the Web UI.
The submitted query indicates that an auto-limiting wrapper was applied.
[Update #1] Updated as per comments
1. Limit Wrapping Unchecked by default
2. Full List configuration of results
[Update #2] Minor update
[Update #3] Followup
closes #1593
|
|
On query submission, a modal popup blocks further interaction until the result of the query are available.
Since the Query ID is not available at this point, the only way to cancel a running query is to navigate to it via the `/profiles` tab. For this, the modal allows a button to pop out to this tab without closing the current window which is waiting for the result-set.
[Update] Shared running query modal introduced
closes #1592
|
|
Without impersonation, the key combination did not work because a conditional block of the FTLs skipped the Javascript functions required for submitting with the key combination.
This commit fixes that by unifying the functions that are common to both approaches of submitting a query (with and without impersoination)
[Update] Changes made to isOnlyImpersonationEnabled method and onlyImpersonationEnabled variable
[Update] userName is a global var in the script
closes #1591
|
|
DrillConnectionImpl
closes #1596
|
|
1. Added DrillHiveViewTable which allows construction of DrillViewTable based
on Hive metadata
2. Added initialization of DrillHiveViewTable in HiveSchemaFactory
3. Extracted conversion of Hive data types from DrillHiveTable
to HiveToRelDataTypeConverter
4. Removed throwing of UnsupportedOperationException from HiveStoragePlugin
5. Added TestHiveViewsSupport and authorization tests
6. Added closeSilently() method to AutoCloseables
closes #1559
|
|
1. Introduced warning for non-progressive fragments. Based on a threshold (`drill.exec.http.profile.warning.progress.threshold`), if all fragments have not made progress within that time, a warning is issued. The default is 5 minutes (300 sec)
2. Introduced a warning if any of the buffered operators spill to disk.
3. Introduced a warning for operators where the longest running fragment runs beyond a minimum threshold (drill.exec.http.profile.warning.time.skew.min), and runs atleast 2 times longer than the average (drill.exec.http.profile.warning.time.skew.ratio.process). The clock symbol with a tooltip indicates the extent of the skew. For wait times, the ratio is defined by `drill.exec.http.profile.warning.time.skew.ratio.wait`
3. Introduced a warning for operators where the average wait time of a scan operator exceeds its processing time, for a minimum threshold (drill.exec.http.profile.warning.scan.wait.min). The turtle symbol with a tooltip indicates which scan operator spent more time waiting than processing.
4. TableBuilder Refactored
a. Using attribute map instead of String arguments, eg. for 'title'
b. Removed APIs that pass a hyperlink since that is never used.
closes #1572
|
|
java compile option
closes #1569
|
|
- provided JsonRecordWriter, ParquetRecordWriter and DrillTextRecordWriter with file system configuration
closes #1576
|
|
closes #1575
|
|
This commit adds the following search enhancements:
1. Addition of a clear ('x') button in the search field
2. If a filter term has been entered in the search box, on clicking the Update or Reset-to-Default button of any option, the reloaded page will re-apply the last entered filter term in the search box.
3. If the search box is empty, on clicking the Update or Reset-to-Default button of any option, the reloaded page will automatically filter out everything except the updated/reset option to show the changed value.
4. Customization of the quick search terms. (using defaults in drill-module.conf)
closes #1588
|
|
closes #1586
|
|
performance for recursive listing
closes #1590
|
|
closes #1587
|
|
TestGracefulShutdown.gracefulShutdownThreadShouldBeInitializedBeforeClosingDrillbit fails if loopback address is set in hosts
closes #1589
|
|
Moves the SchemaBuilder class out of the src/test name space into the src/main namespace. Specifically, into the existing record.metadata package.
Many files changed in this move. Corrected two minor issues: import of the wrong Arrays class and unnecessary annotations.
|
|
|
|
|
|
closes #1582
|
|
same as current value
1. Rename return result option name to `exec.query.return_result_set_for_ddl`.
2. Add check if option value is the same as current value in DrillSqlWorker before setting result set option on query level.
3. Separate Session and Query options on Web UI.
closes #1584
|