tree f85f23f7ba03c3c31a77ee86c351b23dbb91503b
parent 8027ca708fdc3df9a5b08d2d33d0436018154bcc
author Marco Gaido <mgaido@hortonworks.com> 1536550930 +0800
committer jerryshao <sai.sai.shao@gmail.com> 1536550930 +0800

[LIVY-491][LIVY-492][LIVY-493] Add Thriftserver module and implementation

## What changes were proposed in this pull request?

The PR contains an implementation of a JDBC API for Livy server based on the Hive Thriftserver. The implementation is based on the version 3.0 of Hive Thriftserver.

This initial PR contains the thriftserver module added to Livy and its implementation. It doesn't contain any binding for starting it, this will be added later.

Some Hive classes have been ported here because they needed come modifications in order to works properly in Livy. Long term solution is to get of them all by re-implementing the needed parts in the Livy thriftserver itself, without relying on Hive code (other than the PRC interface) anymore. Those classes/changes can be summarized in three categories:

 1. Changes to make the Hive classes easy to extend: for instance, some visibility modifiers were changes (moving from `private` or `package private` to `protected` or `public`);
 2. Changes in order to reduce the dependencies on Hive modules/classes: for instance all the classes in the `operation` package were modified in order to get rid of the usage of `HiveSession` and the `HiveServer2` was changed in order not to use `CLIService`.
 3. The UGI management which is currently performed in Livy is definitely very different from the Hive one, this required changes to the `HiveAuthFactory` in order not to interfere with the existing codebase.

## How was this patch tested?

added integration tests as UTs

Author: Marco Gaido <mgaido@hortonworks.com>

Closes #104 from mgaido91/LIVY-491.
