sudheesh katkam <> in drill

DRILL-5431: Upgrade Netty to 4.0.47

DRILL-5387: Ignore TestBitBitKerberos and TestUserBitKerberos closes #810

DRILL-4280: CORE (revert DRILL-3242)

+ DRILL-3242 aims to provide offloading request handling to a secondary thread, but this feature is disabled by default due to concurrency issues

+ One of the implications of the feature was to ignore exceptions that were not of UserRpcException type. But exceptions must not be ignored, they should be handled properly, specially in the context of security

DRILL-4280: CORE (unit tests)

+ Modify existing tests to use new authentication configuration

+ Add TestUserBitKerberos and TestBitBitKerberos using Apache Kerby library

DRILL-4280: CORE (user to bit authentication, C++)

closes #578

    • -0
    • +49
DRILL-4280: CORE (C++ protocol)

    • -46
    • +155
    • -7
    • +126
DRILL-4280: CORE (web client)

+ Disabled web server when authentication is enabled but PLAIN mechanism

is not configured; log a warning

DRILL-4280: CORE (bit to bit authentication, data)

+ Support authentication in DataServer and DataClient

+ Add AuthenticationCommand as an initial command after handshake

and before the command that initiates a connection

+ Add DataConnectionConfig to encapsulate configuration

+ Add DataServerRequestHandler to encapsulate all handling of

requests to DataServer


DRILL-4280: CORE (bit to bit authentication, control)

+ Support authentication in ControlServer and ControlClient

+ Add AuthenticationCommand as an initial command after handshake

and before the command that initiates a connection

+ Add ControlConnectionConfig to encapsulate configuration

+ ControlMessageHandler now implements RequestHandler


  1. … 3 more files in changeset.
DRILL-4280: CORE (user to bit authentication, Java)

+ Add logic for authentication in UserClient and UserServer with

backward compatibility in both directions

+ Add abstract extension to ServerConnection and ClientConnection

+ Add concrete extensions to abstract connections:

BitToUserConnection and UserToBitConnection

+ Add ConnectionConfig interface with abstract and concrete

implementations to encapsulate configuration for server-side


+ Encapsulate all requests handled by UserServer in


+ Clear UserSession when connection is closed either by user or


+ Add DrillProperties to encapsulate all connection properties

used during connection time

DRILL-4280: CORE (security package)

+ Add AuthenticatorFactory interface

+ Kerberos implementation

+ includes SaslServer and SaslClient wrappers

+ Plain implementation

+ PlainServer implements SaslServer (unavailable in Java)

for username/password based authentication

+ retrofit user authenticator

+ add logic for backward compatibility

+ Add AuthenticatorProvider interface to provide authenticator

factories, and add two implementations:

+ DrillConfig and ScanResult based AuthenticatorProviderImpl

+ Default and system property based ClientAuthenticatorProvider

+ FastSaslServerFactory caches SaslServer factories

+ FastSaslClientFactory caches SaslClient factories

+ ServerAuthenticationHandler handles authentication on server-side

+ FailingRequestHandler to fail any message received

+ AuthenticationOutcomeListener handles authentication on client-side



+ Do not recreate DrillConfig object in PamUserAuthenticator

+ Add new factory method to CaseInsensitiveMap

+ Clean documentation

DRILL-4280: CORE (service login)

+ Support Drillbit login to KDC using Hadoop's

UserGroupInformation library

+ Set hostname in BootstrapContext

+ Use process user's short name in ImpersonationUtil

+ Add KerberosUtil class


+ Extract RemoteConnection interface, and add AbstractRemoteConnection

+ Add ServerConnection and ClientConnection interfaces

+ Add RequestHandler interface to decouple connections from how requests are handled

+ Add NonTransientRpcException

+ Remove unused classes and methods

+ Code style changes

DRILL-4280: CORE (Java protocol)

+ Define SaslStatus and SaslMessage messages in protocol

+ Add "authenticationMechanisms" field to all handshakes

+ Add "saslSupport” field to UserToBitHandshake

  1. … 6 more files in changeset.

+ Ignore files generated by IntelliJ in RAT plugin

DRILL-5218: Support optionally disabling heartbeats from C++ client

closes #726

Update version to 1.10.0-SNAPSHOT

    • -1
    • +1
  1. … 13 more files in changeset.
DRILL-5081: Lower logging level for corrupt dates message

* introduced in DRILL-4203

closes #691

[maven-release-plugin] prepare release drill-1.9.0

    • -1
    • +1
  1. … 13 more files in changeset.
Revert "DRILL-4373: Drill and Hive have incompatible timestamp representations in parquet - added sys/sess option "store.parquet.int96_as_timestamp"; - added int96 to timestamp converter for both readers; - added unit tests;"

This reverts commit 7e7214b40784668d1599f265067f789aedb6cf86.