[ 
https://issues.apache.org/jira/browse/HIVE-17983?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16341373#comment-16341373
 ] 

Vihang Karajgaonkar commented on HIVE-17983:
--------------------------------------------

bq. Also on these scripts I have unrolled them so that scripts no longer invoke 
other scripts. For example, the 2.3->3.0 upgrade script now includes all the 
create table and alter table statement itself rather than calling run on the 
various 0XX-HIVE-XXXXX.rdbms.sql scripts. The main reason for this is that 
HiveSchemaTool went to a lot of work to do the unrolling on these scripts.

I think having separate patch scripts which a main upgrade scripts calls is a 
cleaner way to apply schema changes. It also helps with the backporting of the 
schema changes between branches (less conflicts and chances of errors). If it 
is possible we should probably try to maintain that in the standalone-metastore 
as well. Looks like sqlline does have {{!script}} and {{!run}} commands to run 
scripts. Can we use it for this usecase? [~ngangam] also has worked a lot on 
schema upgrade patches and he might have some thoughts as well.

Also, I agree with [~thejas] above and we should provide an upgrade path from 
atleast 2.0.0 so that it is easier for users to adopt it. Its not necessary 
that all the users will be at 2.3.0 when they want to adopt 
standalone-metastore.

bq. how Hive and the standalone metastore should be installed. Do we completely 
separate them out and require users to install the standalone metastore and 
then Hive? This is easier for devs but harder on ops and packagers. But it also 
gives users maximum flexibility. Or do we modify the Hive build process to pull 
in the standalone metastore packages and produce a distribution that includes 
the metastore? This is more work for us devs. It gives users a seamless 
experience between older and newer versions of Hive. It also matches user 
expectations (I can't think of any database that requires you to install its 
data catalog as a separate package). On the other hand it locksteps a version 
of Hive with a version of the metastore, which may not be what people want.

I think second option here is a better alternative considering we want to 
maintain backwards compatibility as much as possible and make it easier to 
migrate from current metastore to standalone-metastore. Hive is anyways in 
lockstep with metastore version and a lot of code in Hive assumes that. I am 
not sure we are there yet to have one version of hive talking to another 
version of metastore and that should be a separate effort.

> Make the standalone metastore generate tarballs etc.
> ----------------------------------------------------
>
>                 Key: HIVE-17983
>                 URL: https://issues.apache.org/jira/browse/HIVE-17983
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Standalone Metastore
>            Reporter: Alan Gates
>            Assignee: Alan Gates
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: HIVE-17983.2.patch, HIVE-17983.patch
>
>
> In order to be separately installable the standalone metastore needs its own 
> tarballs, startup scripts, etc.  All of the SQL installation and upgrade 
> scripts also need to move from metastore to standalone-metastore.
> I also plan to create Dockerfiles for different database types so that 
> developers can test the SQL installation and upgrade scripts.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to