Clone Tools
  • last updated 17 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
DRILL-3742: Classpath scanning and build improvement

Makes the classpath scanning a build time class discovery

Makes the fmpp generation incremental

Removes some slowness in DrillBit closing

Reduces the build time by 30%

This closes #148

  1. … 143 more files in changeset.
DRILL-2726: Add Drill version, from Manifest, same as SqlLine in the sys.version.

This closes #198

    • -0
    • +58
    ./DrillVersionInfo.java
  1. … 1 more file in changeset.
DRILL-3822: Have PathScanner use own, not thread-context, class loader.

this closes #166

DRILL-3778: Add missed part of DRILL-3160 (making JDBC Javadoc available).

This closes #158

Main:

Configured Javadoc generation (title, package groups, version in headers).

Added link to JDBC page in Drill documentation site.

Edited/fixed some JDBC Javadoc comments.

Added explicit SQLConversionOverflowException to throws clauses for Javadoc

effect.

Added some imports for Javadoc references.

Misc.:

Fixed a couple Javadoc syntax errors.

Fixed POM indentation.

  1. … 11 more files in changeset.
DRILL-3589: Update JDBC driver to shade and minimize dependencies.

Update build process to use shading, stop using Proguard.

Add simple integration test that verifies that the JDBC driver works

correctly with a clean classpath.

  1. … 9 more files in changeset.
DRILL-3496: Updates from review comments

DRILL-3496: Update: Multiple log msgs. -> single, aligned multi-line message.

Main: Changed avoidance of original single hard-to-read list from

first draft's multiple single-item log calls (resulting in multiple log

calls/entries) to single log call with aligned multi-line message.

Also revised message wording, etc.

DRILL-3496: Update 2: Some DEBUG -> INFO; another single multi-line msg.

- logger.debug(...) -> logger.info(...) for config. file messages

- changed drill-module.conf to single multi-line message like

scanForImplementations cases

DRILL-3496: Update 3: Various review comment responses.

- Removed isTraceEnabled/etc. guards.

- Simplified logging line break/indentation code.

- Added some more "final".

- Undid logger cleanup. :-(

  1. … 7 more files in changeset.
DRILL-2815: Augment PathScanner logging; clean up code.

Added some DEBUG- and TRACE-level log calls.

Augmented/edited existing log call.

Misc. code hygiene:

- Added documentation of forResources(...).

- Renamed to clarify a number of local names.

- Made logger private.

- Added "final".

- Fixed indentation; wrapped some long lines; etc.

Conflicts:

common/src/main/java/org/apache/drill/common/util/PathScanner.java

DRILL-3483: Clarify CommonConstants' constants. [CommonConstants, DrillConfig, PathScanner]

Renamed constants.

Documented constants.

Removed extraneous "public static final" (redudant and abnormal since in interface).

Edit: Unwrapped a no-longer-long line.

closes #88

  1. … 2 more files in changeset.
DRILL-2903: General improvements to tests in TestDrillbitResilience + Added RepeatTestRule to tests that are flaky + Added Controls.Builder to create controls string in tests + Added @Ignore to failing tests (filed JIRAs)

Other fixes:

+ Added @Override to ScanBatch#close to avoid potential bugs

+ Added docs link in ProtobufLengthDecoder

+ Fixed logging issue in CountDownLatchImpl

    • -0
    • +72
    ./RepeatTestRule.java
  1. … 16 more files in changeset.
DRILL-2848: Hygiene - ParquetToDrillConverter cleanup

  1. … 1 more file in changeset.
DRILL-1385, along with some cleanup

Cleaned up option handling. This includes using finals, making member variables

private whenever possible, and some formatting.

- fixed a bug in the string formatting for the double range validator

- OptionValidator, OptionValue, and their implementations now conspire not to

allow the creation of malformed options because the OptionType has been added

to validator calls to handle OptionValues that are created on demand.

Started with updated byte code rewrite from Jacques

Fixed several problems with scalar value replacement:

- use consistent ASM api version throughout

- stop using deprecated ASM methods (actually causes bugs)

- visitMethodInsn()

- added a couple of missing super.visitEnd()s

- fixed a couple of minor FindBugs issues

- accounted for required stack size increases when replacing holders for

longs and doubles

- added accounting for frame offsets to cope with long and double local

variables and value holder members

- fixed a few minor bugs found with FindBugs

- stop using carrotlabs' hash map lget() method on shared constant data

- fixed an incorrect use of DUP2 on objectrefs when copying long or double

holder members into locals

- fixed a problem with redundant POP instructions left behind after replacement

- fixed a problem with incorrect DUPs in multiple assignment statements

- fixed a problem with DUP_X1 replacement when handling constants in multiple

assignment statements

- fixed a problem with non-replaced holder member post-decrements

- don't replace holders passed to static functions as "out" parameters

(common with Accessors on repeated value vectors)

- increased the maximum required stack size when transferring holder members to

locals

- changed the code generation block type mappings for constants for external

sorts

- fixed problems handling constant and non-constant member variables in

operator classes

- in general, if a holder is assigned to or from an operator member variable,

it can't be replaced (at least not until we replace those as well)

- Use a derived ASM Analyzer (MethodAnalyzer) and Frame

(AssignmentTrackingFrame) in order to establish relationships between

assignments of holders through chains of local variables. This effectively

back-propagates non-replaceability attributes so that if a holder variable

that can't be replaced is assigned to from another holder variable, that

second one cannot be replaced either, and so on through longer chains of

assignments.

- code for dumping generated source code

- MergeAdapter dumps before and after results of scalar replacement

(if it's on)

- fixed some problems in ReplacingBasicValue by replacing HashSet with

IdentityHashMap

- made loggers private

- added a retry strategy for scalar replacement

if a scalar replacement code rewriting fails, then this will try to

regenerate the bytecode again without the scalar replacement.

- bytecode verification is always on now (required for the retry strategy)

- use system option to determine whether scalar replacement should be used

- default option: if scalar replacement fails, retry without it

- force replacement on or off

- unit tests for the retry strategy are based on a single known failure case,

covered by DRILL-2326.

- add tests TestConvertFunctions to test the three scalar replacement options

for the failing test case (testVarCharReturnTripConvertLogical)

- made it possible to set a SYSTEM option as a java property in Drillbit

- added a command line argument to force scalar replacement to be on during

testing in the rootmost pom.xml

In the course of this, added increased checking of intermediate stages of code

rewriting, as well as logging of classes that cause failures.

- work around a bug in ASM's CheckClassAdapter that doesn't allow for checking

of inner classes

Added comments, tidied up formatting, and added "final" in a number of places.

Signed-off-by: vkorukanti <venki.korukanti@gmail.com>

  1. … 53 more files in changeset.
DRILL-2199: Fix major type returned for convert to nullable type functions

  1. … 4 more files in changeset.
DRILL-2049: NoClassDefFoundError: org/apache/commons/lang/StringEscapeUtils in JDBC Driver

+ Ban commons-lang v2 classes from being used.

  1. … 7 more files in changeset.
DRILL-1904 - Part 1: Package level docs for the common module and a few packages in exec.

Fix line wrapping on package level docs to standardize at 80 character wrap.

Patch updated to address review comments.

Patch updated again to address Sudheesh's review comments.

  1. … 28 more files in changeset.
DRILL-1402: Add check-style rules for trailing space, TABs and blocks without braces

  1. … 438 more files in changeset.
DRILL-634: Cleanup/organize Java imports and trailing whitespaces from Drill code

  1. … 765 more files in changeset.
DRILL-1281: Read into Direct Memory in Parquet Reader. Requires Hadoop 2.4 or above

  1. … 28 more files in changeset.
DRILL-1155: Add option to use JDK compiler and use it for runtime generated code over a certain threshold

+ Updating Janino to 2.7.4 (from 2.6.1).

+ Added session options `exec.java_compiler`:[DEFAULT, JDK, JANINO] and `exec.java_compiler_janino_maxsize`(256k).

+ Fix a bug in FragmentExecutor.java(125) where the root operator is not stopped in case of fragment failure.

+ Print Java stack trace of the allocator code if a TLA detects that any of the ChildAllocator is not closed.

  1. … 22 more files in changeset.
Switch to DrillBuf Add @Inject DrillBuf Move comparison functions to memory sensitive ones Add scalar replacement functionality for value holders Simplify date parsing function Add local compiled code caching

    • -0
    • +76
    ./CoreDecimalUtility.java
    • -1
    • +2
    ./DecimalScalePrecisionDivideFunction.java
    • -1
    • +2
    ./DecimalScalePrecisionModFunction.java
  1. … 210 more files in changeset.
DRILL-730: Initialize the buffer while creating sparse representation from BigDecimal

  1. … 4 more files in changeset.
DRILL-1110: Output precision of functions should always be greater or equal to input precision

    • -1
    • +4
    ./DecimalScalePrecisionDivideFunction.java
    • -0
    • +43
    ./DecimalScalePrecisionModFunction.java
  1. … 4 more files in changeset.
DRILL-861: Implement sum, avg for decimal data type.

  1. … 9 more files in changeset.
DRILL-1085: Round up while casting to int/bigint from float/double/decimal

  1. … 4 more files in changeset.
DRILL-794: Fix IOB while performing decimal subtraction

    • -0
    • +40
    ./DecimalScalePrecisionAddFunction.java
    • -12
    • +8
    ./DecimalScalePrecisionDivideFunction.java
    • -11
    • +6
    ./DecimalScalePrecisionMulFunction.java
    • -0
    • +37
    ./DrillBaseComputeScalePrecision.java
  1. … 6 more files in changeset.
DRILL-1074: Fix computation of scale for divide function.

    • -11
    • +9
    ./DecimalScalePrecisionDivideFunction.java
  1. … 1 more file in changeset.
DRILL-605: Round up decimal when truncating fractional part

  1. … 2 more files in changeset.
DRILL-836: [addendum] Drill needs to return complex types (e.g., map and array) as a JSON string

* This contains additional changes to the original patch which was merged.

+ Renamed "flatten" to "complex-to-json"

+ With the new patch, we return VARCHAR instead of VARBINARY.

+ Added test case.

+ Minor code re-factoring.

    • -0
    • +176
    ./DrillStringUtils.java
  1. … 38 more files in changeset.
DRILL-793: Fix output type's scale and precision for math functions.

    • -0
    • +65
    ./DecimalScalePrecisionDivideFunction.java
    • -0
    • +52
    ./DecimalScalePrecisionMulFunction.java
  1. … 8 more files in changeset.
DRILL-968: Use checkstyle plugin to prevent inadvertent use of shaded Guava classes

+ Disallow non-static '*' imports in handwritten code.

+ Updated the current code to be in compliance.

+ Run 'rat' plugin in 'validate' phase.

  1. … 102 more files in changeset.
DRILL-799: Use static constants instead of Math.pow() to compute powers of 10 while adjusting scale of decimal data type.

  1. … 8 more files in changeset.