You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by Jesús Camacho Rodríguez <jc...@hortonworks.com> on 2018/01/04 23:54:47 UTC

Re: Review Request 64490: HIVE-14498


> On Dec. 22, 2017, 11:22 p.m., Ashutosh Chauhan wrote:
> > common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
> > Lines 1140 (patched)
> > <https://reviews.apache.org/r/64490/diff/4/?file=1918792#file1918792line1140>
> >
> >     I think non 0 default will better suit users. Almost all DB systems have notion of staleness for materialized views, so users are aware that creating a materialized view may get them stale result set. So, we might as well give them perf benefits. 
> >     Although, I am not sure what value shall we pick :) 
> >     24 hours?

I have doubts about this one... Multiple databases also do eager maintenance and keep MVs up-to-date by default, e.g., when an update happens on the table, the change is propagated automatically to the MV.

I think setting this value to other than zero by default, might create some confusion as user might start getting incorrect results (I am not even thinking about the typical BI case, but maybe even for ETL queries?). Since user will have to do some configuration to set up the rebuild of the MVs, i.e., setup a cron job that is executed for instance every evening, I would suggest we keep this as zero and in the documentation we describe the kind of configuration that needs to be done so MVs can always be used with a guarantee that they will be outdated by a maximum time window. What do you think?


> On Dec. 22, 2017, 11:22 p.m., Ashutosh Chauhan wrote:
> > metastore/scripts/upgrade/postgres/046-HIVE-14498.postgres.sql
> > Lines 9-17 (patched)
> > <https://reviews.apache.org/r/64490/diff/4/?file=1918818#file1918818line9>
> >
> >     Instead of this strategy of backing up and restoring. How about following sequence:
> >     1. alter table COMPLETED_TXN_COMPONENTS add column CTC_TIMESTAMP timestamp default CURRENT_TIMETAMP
> >     2. update table COMPLETED_TXN_COMPONENTS where CTC_TIMESTAMP IS NULL set CTC_TIMETAMP = CURRENT_TIMESTAMP
> >     3. alter table COMPLETE_TXN_COMPONENTS add constraint CTC_TIMESTAMP NOT NULL
> >     
> >     Advantage of this is COMPLETED_TXN_COMPONENTS table is always available.
> >     
> >     Same comment applies to upgrade scripts of other DBs as well.

That is a good idea for CTC_TIMESTAMP, but the tricky one is the CTC_ID, which is also a new column. Since it is autoincremented, the only option I saw was to bulk insert from old table into the new one.


> On Dec. 22, 2017, 11:22 p.m., Ashutosh Chauhan wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
> > Lines 5154 (patched)
> > <https://reviews.apache.org/r/64490/diff/4/?file=1918823#file1918823line5182>
> >
> >     We can make metastore call outside of for loop to get all info in a single call.

I have changed the code to create a single call (observe that _names[0], names[1]_ was derived from _fullyQualifiedName_, thus now we need a second loop).


> On Dec. 22, 2017, 11:22 p.m., Ashutosh Chauhan wrote:
> > ql/src/java/org/apache/hadoop/hive/ql/hooks/MaterializedViewRegistryUpdateHook.java
> > Lines 80 (patched)
> > <https://reviews.apache.org/r/64490/diff/4/?file=1918824#file1918824line83>
> >
> >     Do we need to make a metastore call to determine if rewrite is enabled or not? I would assume createViewDesc() will contain that info.

For the createMV, you need it because of the interaction with stats info, which might be updated by the Stats task and hence the createViewDesc-based Table might be outdated (that is why the code was moved originally here).
For the alterMV, if you are enabling rewriting, you need it because you will add it to the cache and you do not have the Table object from the metastore.
For the alterMV, if you are disabling rewriting, you do not need the table object from metastore, thus I have changed it accordingly.


> On Dec. 22, 2017, 11:22 p.m., Ashutosh Chauhan wrote:
> > standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MaterializationInvalidationInfo.java
> > Lines 56 (patched)
> > <https://reviews.apache.org/r/64490/diff/4/?file=1918949#file1918949line56>
> >
> >     You may get rid of this method altogether.

This is to prevent any undesired usage of method _setInvalidationTime_ in the future, since it should not be used when we have a _MaterializationInvalidationInfo_ instance (bad things could happen).


> On Dec. 22, 2017, 11:22 p.m., Ashutosh Chauhan wrote:
> > standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MaterializationsInvalidationCache.java
> > Lines 104 (patched)
> > <https://reviews.apache.org/r/64490/diff/4/?file=1918950#file1918950line104>
> >
> >     Is intention here to load mvs from different dbs in parallel in different threads? Or just to load all MVs sequentially in a different thread.
> >     Seems like 1st one would be better, but seems like thats not happening here.

It is the second. We load the invalidation info async so we do not block bringing up the metastore. While invalidation information has not been loaded, the MV will not be used. The cache will be unique per metastore.

I could create a follow-up to parallelize this, but it might be too early to optimize that.


> On Dec. 22, 2017, 11:22 p.m., Ashutosh Chauhan wrote:
> > standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
> > Lines 1384-1388 (patched)
> > <https://reviews.apache.org/r/64490/diff/4/?file=1918952#file1918952line1394>
> >
> >     Better to do directsql here.

_rewriteEnabled_ is a boolean, which would need to be translated specifically for Derby (I checked and this is not done for any query currently, only when reading results from directSQL). Since the query is quite simple, and we specify that we only need the _tableName_ column from the result (_query.setResult("tableName")_), I would expect that JDO performance in this case will be quite similar to DirectSQL.


> On Dec. 22, 2017, 11:22 p.m., Ashutosh Chauhan wrote:
> > standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java
> > Lines 1910 (patched)
> > <https://reviews.apache.org/r/64490/diff/4/?file=1918952#file1918952line1920>
> >
> >     json is verbose protocol. Since length of this field is not limited, we shall pick some compact protocol.

Changed to TCompactProtocol.


> On Dec. 22, 2017, 11:22 p.m., Ashutosh Chauhan wrote:
> > standalone-metastore/src/main/thrift/hive_metastore.thrift
> > Lines 859 (patched)
> > <https://reviews.apache.org/r/64490/diff/4/?file=1918961#file1918961line859>
> >
> >     Can eliminate Basic from name.

There is a _TxnInfo_ that has many information that we do not need and it is used for ACID. However, we can change the name from _BasicTxnInfo_ to something else? _MinimalTxnInfo_? _CompactTxnInfo_?


> On Dec. 22, 2017, 11:22 p.m., Ashutosh Chauhan wrote:
> > standalone-metastore/src/main/thrift/hive_metastore.thrift
> > Lines 1380 (patched)
> > <https://reviews.apache.org/r/64490/diff/4/?file=1918961#file1918961line1380>
> >
> >     Better name: get_materialized_views()

This only includes materialized views with rewriting enabled, thus I think it is good to make the distinction?


- Jesús


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/64490/#review194384
-----------------------------------------------------------


On Dec. 16, 2017, 2:19 a.m., Jesús Camacho Rodríguez wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/64490/
> -----------------------------------------------------------
> 
> (Updated Dec. 16, 2017, 2:19 a.m.)
> 
> 
> Review request for hive, Ashutosh Chauhan and Eugene Koifman.
> 
> 
> Bugs: HIVE-14498
>     https://issues.apache.org/jira/browse/HIVE-14498
> 
> 
> Repository: hive-git
> 
> 
> Description
> -------
> 
> HIVE-14498
> 
> 
> Diffs
> -----
> 
>   common/src/java/org/apache/hadoop/hive/conf/HiveConf.java 711dfbdc1f05a25ffc64d297c6b1b25853d99a57 
>   data/files/ssb/customer/00000_0 PRE-CREATION 
>   data/files/ssb/date/00000_0 PRE-CREATION 
>   data/files/ssb/lineorder/00000_0 PRE-CREATION 
>   data/files/ssb/part/00000_0 PRE-CREATION 
>   data/files/ssb/supplier/00000_0 PRE-CREATION 
>   itests/hcatalog-unit/src/test/java/org/apache/hive/hcatalog/listener/DummyRawStoreFailEvent.java 62c9172ef5d9ae74b158d1b4f1b8c5c0eca4e375 
>   itests/hive-unit/src/main/java/org/hadoop/hive/jdbc/SSLTestUtils.java 6cbcf8ca7cdea8b99736b50b38634c077895f5d8 
>   itests/hive-unit/src/test/java/org/apache/hadoop/hive/metastore/TestMetaStoreEventListener.java e8031066c2dc9b1b40be570e9098ac0c55d997be 
>   itests/hive-unit/src/test/java/org/apache/hadoop/hive/ql/parse/TestReplicationScenarios.java 55acd1df3697f1742c826f1cd9648634811b915f 
>   metastore/scripts/upgrade/derby/047-HIVE-14498.derby.sql PRE-CREATION 
>   metastore/scripts/upgrade/derby/hive-schema-3.0.0.derby.sql f93d0d1d127156732a523fb45c3c2635d3ee530e 
>   metastore/scripts/upgrade/derby/hive-txn-schema-3.0.0.derby.sql 52713df30c66b34a3d5b815ca2814e7dca1e45a6 
>   metastore/scripts/upgrade/derby/upgrade-2.3.0-to-3.0.0.derby.sql 1f2647dfbf3263feda9afd98ab6767d7ea3d0557 
>   metastore/scripts/upgrade/hive/hive-schema-3.0.0.hive.sql 75891017584f93f94c55abcae10c512ad6bcb525 
>   metastore/scripts/upgrade/mssql/032-HIVE-14498.mssql.sql PRE-CREATION 
>   metastore/scripts/upgrade/mssql/hive-schema-3.0.0.mssql.sql 26c82af74c58cb097df8fa4d36a3b641602e1047 
>   metastore/scripts/upgrade/mssql/upgrade-2.3.0-to-3.0.0.mssql.sql 864a5e5bd5c06810cab9d2f09d3b968845059a7a 
>   metastore/scripts/upgrade/mysql/047-HIVE-14498.mysql.sql PRE-CREATION 
>   metastore/scripts/upgrade/mysql/hive-schema-3.0.0.mysql.sql 915af8bf4bb7864371f5b9ba8bfb8a71a064ec36 
>   metastore/scripts/upgrade/mysql/hive-txn-schema-3.0.0.mysql.sql 1df32c4b3548d385e8861b9312042cc25bdf84d7 
>   metastore/scripts/upgrade/mysql/upgrade-2.3.0-to-3.0.0.mysql.sql caa059d893635e6afadab867760cb035b3a111d4 
>   metastore/scripts/upgrade/oracle/047-HIVE-14498.oracle.sql PRE-CREATION 
>   metastore/scripts/upgrade/oracle/hive-schema-3.0.0.oracle.sql 65c72af87343d84fe6eb894c503bebfe54fe4618 
>   metastore/scripts/upgrade/oracle/hive-txn-schema-3.0.0.oracle.sql 12c24a5863e0b8382c643f0404700e0243585db0 
>   metastore/scripts/upgrade/oracle/upgrade-2.3.0-to-3.0.0.oracle.sql 33174c8a9a9bc768919ddda406324eda05aaf313 
>   metastore/scripts/upgrade/postgres/046-HIVE-14498.postgres.sql PRE-CREATION 
>   metastore/scripts/upgrade/postgres/hive-schema-3.0.0.postgres.sql 415b5e0189bee95a104e3e3d9cd5f25187260a5b 
>   metastore/scripts/upgrade/postgres/hive-txn-schema-3.0.0.postgres.sql 1fa99aff5fcbbb96ed51b9c02850dfabcd6d3d76 
>   metastore/scripts/upgrade/postgres/upgrade-2.3.0-to-3.0.0.postgres.sql 01d359e5f4c632793ac8e3fb67aa6ea5492dac54 
>   ql/src/java/org/apache/hadoop/hive/ql/Context.java 6d48783d48581fb96ea1b5ded23ce0d549dc80a6 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java 55ef8de9a5c7144931d0a6ff13224765ee737fea 
>   ql/src/java/org/apache/hadoop/hive/ql/hooks/MaterializedViewRegistryUpdateHook.java a57e4c888b204388b393bb173e2eac91c867137a 
>   ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java 50bdce89a44a8dc87a97e394d00e5dadebbbd351 
>   ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveMaterializedViewsRegistry.java f8825a27caa1391c59ac7389fbc77af6590cc9bb 
>   ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java 0debff669a5d64d87bedd1c11a856cf561e46590 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java efd5f7af151b72dacd620ad6ce94a3a2f5885906 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/DDLSemanticAnalyzer.java a09b7961c2dbc26b4d2fa912d0be7037885f63e4 
>   ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java 28e3621d3264f4f704da0d775b396f7b7764fdb6 
>   ql/src/java/org/apache/hadoop/hive/ql/plan/CreateViewDesc.java 09aa82f1f0c1a90b08669b91615f26fb1f7cd649 
>   ql/src/java/org/apache/hadoop/hive/ql/plan/ImportTableDesc.java 33e30bf10fc048fdbe2bd4a78e5d6d94bd7b04d1 
>   ql/src/java/org/apache/hadoop/hive/ql/stats/BasicStatsTask.java 69b076a08a70fcea4f262ccbf9e063733ddd25f2 
>   ql/src/test/org/apache/hadoop/hive/ql/metadata/TestHive.java bbd285d54aeae3073045b2cbbb5ac4c3f6cb6b2b 
>   ql/src/test/queries/clientnegative/materialized_view_no_transactional_rewrite.q PRE-CREATION 
>   ql/src/test/queries/clientnegative/materialized_view_no_transactional_rewrite_2.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/materialized_view_create_rewrite.q 761903fd583cbe8fce003990b8d2e9534e126f2f 
>   ql/src/test/queries/clientpositive/materialized_view_create_rewrite_2.q 9983bae7a1f4a478b10e85b18163d34be3ded3b8 
>   ql/src/test/queries/clientpositive/materialized_view_create_rewrite_3.q 6462d9a677e9662c60455a79aa8ef522cba5fe65 
>   ql/src/test/queries/clientpositive/materialized_view_create_rewrite_4.q PRE-CREATION 
>   ql/src/test/queries/clientpositive/materialized_view_create_rewrite_multi_db.q e4cdc22e3b287bdfbfd05713ba9c6b851dcc3097 
>   ql/src/test/queries/clientpositive/materialized_view_rewrite_ssb.q 00da517424445022ad1f7e624fbba18943801726 
>   ql/src/test/queries/clientpositive/materialized_view_rewrite_ssb_2.q d38641f8ff2b675ed231fcc4533876e076a6dfc2 
>   ql/src/test/queries/clientpositive/show_materialized_views.q bcd894a66eb658f6b6e1d69b28087225da4c7c2d 
>   ql/src/test/results/clientnegative/materialized_view_no_transactional_rewrite.q.out PRE-CREATION 
>   ql/src/test/results/clientnegative/materialized_view_no_transactional_rewrite_2.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/beeline/materialized_view_create_rewrite.q.out 6db992128a4d2ff5c86f9e23b18e1d611a9bcc0d 
>   ql/src/test/results/clientpositive/create_view.q.out ffe69eb8c7496f3a7892044d701e46d2cd71df60 
>   ql/src/test/results/clientpositive/create_view_partitioned.q.out 3a387573f2169d4544c098c7127323514f903274 
>   ql/src/test/results/clientpositive/cteViews.q.out 3a9bd43701e1aca00da6102359eb29ff40837153 
>   ql/src/test/results/clientpositive/llap/cbo_rp_unionDistinct_2.q.out 3b3983f89633618c46db9c5d32dea894e9fc07a3 
>   ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite.q.out 14e42c48b4a25dcd52d809613e180af46a2f89ea 
>   ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_2.q.out fb3416d2f349d4f393f43eaac46f6586a8e89380 
>   ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out 58ba9ff78172958b20a31a056e9fc693a92e67d7 
>   ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_multi_db.q.out 3c02c2bf7467f99ff19d5c36ed705030ce415c1a 
>   ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb.q.out 269f202220a9a8e7bc1898f266b097f8afbd50b9 
>   ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb_2.q.out cae4187bf599705c484208c6b866a7315795d941 
>   ql/src/test/results/clientpositive/llap/resourceplan.q.out 7f3e784457f87ff88c5f746a9fc2b74ea28c2a6e 
>   ql/src/test/results/clientpositive/llap/subquery_views.q.out af695691a77a24083d3d922e34e4c0db6ea91d11 
>   ql/src/test/results/clientpositive/llap/unionDistinct_2.q.out dc4e55478a24a874e42798b71b0facf763cba753 
>   ql/src/test/results/clientpositive/materialized_view_create_rewrite.q.out 6db992128a4d2ff5c86f9e23b18e1d611a9bcc0d 
>   ql/src/test/results/clientpositive/materialized_view_create_rewrite_2.q.out 3d3e05d489cd872cfe9cba65eab4f803c95f3286 
>   ql/src/test/results/clientpositive/materialized_view_create_rewrite_3.q.out f1cf95bd1b9f65206750ffb7abce1b48385e7efd 
>   ql/src/test/results/clientpositive/materialized_view_create_rewrite_4.q.out PRE-CREATION 
>   ql/src/test/results/clientpositive/materialized_view_create_rewrite_multi_db.q.out cc901b897ead461c0bb9d47d26be80f4be20ef51 
>   ql/src/test/results/clientpositive/materialized_view_rewrite_ssb.q.out 0148156959187b440b2cb4e9eaad4cc3155b83a4 
>   ql/src/test/results/clientpositive/materialized_view_rewrite_ssb_2.q.out 390e35b0ec2bdb0862677716a5a264eb138607ea 
>   ql/src/test/results/clientpositive/show_materialized_views.q.out 39f5807a36a1404968cf7e81bbca24c998070309 
>   ql/src/test/results/clientpositive/spark/subquery_views.q.out 9a1c25fffd9660bfe1509ade3eebb1ea93f66c69 
>   standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.h dc9540da8331a86bce904236c50c1ab70bef2add 
>   standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore.cpp dede79bd78f13c338360aeb57ab9659fffba2b44 
>   standalone-metastore/src/gen/thrift/gen-cpp/ThriftHiveMetastore_server.skeleton.cpp bf4bd7a37d5bed5e73a6f92f27f32a2ebf766c74 
>   standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.h 221981176a53001284fedee22eb75b32cfc86310 
>   standalone-metastore/src/gen/thrift/gen-cpp/hive_metastore_types.cpp 913e3ccaca9a10c62476b8d7a204c645b52da287 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AbortTxnsRequest.java 0e5dbf7ae62043f5f2e2a0bd6391d42eef864bec 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddDynamicPartitions.java dae233a123bd33eeb6afe921d6122ddd94deb243 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddForeignKeyRequest.java c1c0dbf2293e3c06405f1e3c80b85f454528b0f8 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddNotNullConstraintRequest.java 0bd85f3140b4f6a0fe2a01ba8dc819951d5c8e5d 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddPartitionsRequest.java 9119336a46c644c5fc83972101496bb32d308b72 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddPartitionsResult.java 57d4953af693b88d6e687bbedecac99c8b5cdb45 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddPrimaryKeyRequest.java 900985bb39a0088d3f12dd3c152f2da7a9a8786c 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AddUniqueConstraintRequest.java df4f54465c2ea12a8d79b4f4fe4ad55d1a4ecc22 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/AggrStats.java c38c8c6eb67c153e932513b579ffe92df7446b78 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/BasicTxnInfo.java PRE-CREATION 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ClearFileMetadataRequest.java 7773dc6355479ee5da060341d7966b1d29db55ef 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ClientCapabilities.java 194106535dbfc5c9fce877a7cba3e284950bffe3 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ColumnStatistics.java 765889e5b9efb1d1c8ce41c728c789fba6c98585 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/CompactionRequest.java 6da2b88e40d4375667ba1946d9051e1653a6f15e 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/DropPartitionsResult.java b9dc04a317f4010fbc4102c5ba96bdfcf359e225 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/EnvironmentContext.java 6829cfeec456dbf8dac3172d34ae95a404ba0d7b 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/FireEventRequest.java cbfd7ef3fa8acdf9451085b62f3272d198bfc435 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ForeignKeysResponse.java 75b2404e5a7cbfb38a8c3033a85374ef89308c30 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Function.java ca62b882c043a8971795f18b6624c0c726afaa6e 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetAllFunctionsResponse.java 16a95ad3a6016db41421dad969661982fba6a92d 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataByExprRequest.java 77262491c494f1d25c706d01dc971874f4986aad 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataByExprResult.java c26acd41edc5687bf28618ba189b8d727c2e7082 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataRequest.java 965bb75fb748bce4f3bdf6fafda84d0239304e19 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetFileMetadataResult.java 85e4a623ba52ba59fc572cc5400d803176689c5b 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetOpenTxnsInfoResponse.java ae644df9b3f7c7a8b1b9768e6a0d71067fa1044c 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetOpenTxnsResponse.java 662c093e4af4235ea3653f749f19888e944e769d 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetTablesRequest.java a20940f061252d30b7de549c52a20a025ba3be45 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/GetTablesResult.java 95c20dd6feb03133f0b5d1efc5195b6ccd440087 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/HeartbeatTxnRangeResponse.java 762f4651b7c3117dae0c04cb18e33b63a22e69c8 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Index.java 8f2af25d5edbd27fb912159b42d9cd0b9fad1ab0 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/InsertEventRequestData.java c171384e49086cd9a2f758cf11da2d665791fd48 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/LockRequest.java 6aaed5cc9f96d3781dcf5c8c57ce72aff202dd36 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Materialization.java PRE-CREATION 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/NotNullConstraintsResponse.java 8566d3da496879a577fd44f2522a96b3913495bd 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/NotificationEventResponse.java 54e09d8f7d634e15bf7989262f3659a94eadbfa3 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/OpenTxnsResponse.java ee7ae396f1a7e99c2b32e958be2ef3d6a4438eaa 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Partition.java 3a1375364774263ca23c073ae6d64cb531624ebb 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionListComposingSpec.java 186eb23a4e0e8c7452e4d1ce25b60b11fd969625 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionSpecWithSharedSD.java e7ab52afa282a2e484c5d0c1bc2d5a77fab2e65d 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionValuesRequest.java 2283c24e0cc39e3d25bb06e3edb0121d9bc04c2d 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionValuesResponse.java f551156768770ef4a90cf4f17a30f2ff2dc8fe1a 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionValuesRow.java 3f3c3b9e4dbaf2b4e4bc40efab2b14701665488a 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionWithoutSD.java ba8a7ca6166ae23a368017e092eba5e6ee504ecb 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionsByExprResult.java 3ccf5ee5cbaaecaae6e97bc3cfc2859c3c520400 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionsStatsRequest.java 9941fa56036febd90ee5bd0f53fb24d5019f4339 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PartitionsStatsResult.java 8a0e5a5e79b6c41d376b05b813bda7eeb7f8ecad 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PrimaryKeysResponse.java 43f070c126f113b8153d39c040240686655db392 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/PutFileMetadataRequest.java 42b1a1fe5aea4ea30c45f7956dc3fedbfdcbbb7d 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/RequestPartsSpec.java d1b52476e44358f42d639e0a35b2933204ee574c 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Schema.java eaae445297c7933d162d928927ef87acf9969066 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/SetPartitionsStatsRequest.java ae0fbb4c4e3d86ac2a89e23e88e3da4789120648 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ShowCompactResponse.java 5687b1958d03a785f145cf4d07b0f475a541d488 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ShowLocksResponse.java f22deb2976ea21e64c83dd2717b6db95b3e904ef 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/Table.java a4a9ed05e3835e5ca909738404d8ab3d523ba362 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/TableStatsRequest.java 69be837ef993c79cc8ba4c350958472c4c6ab35d 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/TableStatsResult.java e65166ea0e08cdb7c9891354dd7178419dbde652 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/ThriftHiveMetastore.java fc57141c7a8d7557a4f091c746662437d38134a4 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/TxnsSnapshot.java PRE-CREATION 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/UniqueConstraintsResponse.java d545e663fbcfb25c144bfeeaccbd1538aacb65c2 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMFullResourcePlan.java 1d21908d4d7e8b07751eb2f75579112774deb561 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMGetAllResourcePlanResponse.java b1603573aa2bb376fc611fa8ef2a5584d2ef1552 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMGetTriggersForResourePlanResponse.java b274250ad8f2318da882379883ac6b3078d9ba18 
>   standalone-metastore/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/metastore/api/WMValidateResourcePlanResponse.java b69cd4c99a6d7ce60d919048ffbf5b2e314cef97 
>   standalone-metastore/src/gen/thrift/gen-php/metastore/ThriftHiveMetastore.php 6ca56cb6e1d904e6e5fa15247f0d098833d94723 
>   standalone-metastore/src/gen/thrift/gen-php/metastore/Types.php e78a851c1ddd88bb7cb04961e8df0f966616667f 
>   standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore-remote 5533044e01e336389d1c11a7cecb2bb64f14b48f 
>   standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ThriftHiveMetastore.py 808ee095daa0827a2a8e99d27bbce5fd78bdf162 
>   standalone-metastore/src/gen/thrift/gen-py/hive_metastore/ttypes.py 863031d504c6895e4a28ed61261b10a321283fc5 
>   standalone-metastore/src/gen/thrift/gen-rb/hive_metastore_types.rb ec967a6c2a236bda18b8c327a4f19894828727f9 
>   standalone-metastore/src/gen/thrift/gen-rb/thrift_hive_metastore.rb 182cc372f239497b894c194504ebf0cb2c714b9b 
>   standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java 6e0da5781ed8d536852613bad1793d27dd17dfd4 
>   standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java fc254c6f5338ebcfe5a19bea847ff8141552f15f 
>   standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/IHMSHandler.java 85bdc4d96918577e709d28a1ee1dae46d27274f2 
>   standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/IMetaStoreClient.java 573ac0173dd51b81cb37902cc144983393ab1f51 
>   standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MaterializationInvalidationInfo.java PRE-CREATION 
>   standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MaterializationsInvalidationCache.java PRE-CREATION 
>   standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java 14653b404308865949f4ca236cd9d1aa7cefe03d 
>   standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/ObjectStore.java 2c92bb20561d09998e400b458036f8e4a960a469 
>   standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/RawStore.java 75fbfa23d25c589826a44be493eb84f3cd375e5e 
>   standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/Warehouse.java 421d1bee102ebeda16e0f2b5d1190424a0679972 
>   standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/cache/CachedStore.java da518ab6e337cbd5befb9f7c1df1781335bd72f4 
>   standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/model/MTable.java 3759348f54942a4681c62f9729bbb0f96ac34a44 
>   standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnDbUtil.java 756cb4cec24aa58273c3ec9495e1b84136ab625f 
>   standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java 06f49de8d22ad9c4a8c2e6d6e37bb20bdc7377e7 
>   standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnStore.java 96a7f5671540a4f2e98311fe2ce0c5667427bee9 
>   standalone-metastore/src/main/resources/package.jdo 57e75f890dbbd2d5105614aaeac04ef37131e8cd 
>   standalone-metastore/src/main/thrift/hive_metastore.thrift 1085ce566a5fba632ae2acb074ce538143bac6ed 
>   standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreControlledCommit.java 24c59f2f1b0b017cff3b26f86c3f903b498d2553 
>   standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/DummyRawStoreForJdoConnection.java 1e4fe5d973542d6b0e3ae0760ca5c06ea9888089 
>   standalone-metastore/src/test/java/org/apache/hadoop/hive/metastore/cache/TestCachedStore.java d486f7c7a93d2ac01eee1fdb6c46730772e9dade 
> 
> 
> Diff: https://reviews.apache.org/r/64490/diff/4/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Jesús Camacho Rodríguez
> 
>