+1, thanks for all of the details.

On Fri, Aug 9, 2019 at 3:21 PM Grant Henke <ghe...@cloudera.com> wrote:
>
> Hello Kudu developers,
>
> Recently I have started work on upgrading Kudu to use Apache Hive 3.x.
> Given this is a major upgrade it does come with some challenges. As of Kudu
> 1.10.0 we use Hive in the HMS synchronization feature. This feature
> includes a Kudu server side notification listener and HMS client. It also
> includes a Java side HMS plugin to enforce Kudu imperatives within the HMS.
> That feature is useful on its own in many ways, but is also required for
> fine grained authorization via Apache Sentry.
>
> The primary challenge is that Apache Sentry currently does not support Hive
> 3 and it will likely take a large effort to enable support. It is also
> unclear if there is anyone in the Sentry community that want's to
> contribute and release such support.
>
> I have started preliminary efforts to support Hive 3 in Kudu and the HMS
> synchronization feature. This includes 3 patches. The first patch
> <https://gerrit.cloudera.org/#/c/14018/> is changes that work in both Hive
> 2 and Hive 3 that minimize the work needed when we upgrade in the future.
> This can be committed to master when reviewed and ready. The second patch
> <https://gerrit.cloudera.org/#/c/14006> disables the sentry integration so
> I can test the changes required to support HMS synchronization on its own.
> Those changes and testing are the third patch
> <https://gerrit.cloudera.org/#/c/13256/>.
>
> Given fine grained authorization is a critical feature for many users, we
> can't remove Sentry support without providing an alternative authorization
> implementation. At the same time we have started work on authorization via
> Apache Ranger. Once that implementation exists and has been
> contributed/released we can make a decision about how to move forward.
>
> Given what we know today and the current situation here is my suggested
> plan:
>
>    1. Commit the Hive 3 preparation patch to simplify upgrading in the
>    future
>    2. Verify the feasibility of upgrading with the mentioned POC patches,
>    but do not commit them.
>       - This means we will remain on Hive 2 until step 4 or 5 below.
>    3. Start work on an Apache Ranger integration for Kudu.
>    4. If Hive 3 support is added in Sentry, consider upgrading to Hive 3
>    then.
>    5. When Ranger support is complete, consider removing Sentry support in
>    favor of Ranger and upgrade to Hive 3.
>       - This may require a migration path from Sentry to Ranger.
>
> Please let me know if you have any thoughts or feedback on the above plan.
>
> Thank you,
> Grant
> --
> Grant Henke
> Software Engineer | Cloudera
> gr...@cloudera.com | twitter.com/gchenke | linkedin.com/in/granthenke

Reply via email to