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




metastore/src/java/org/apache/hadoop/hive/metastore/metatool/BlockRetrieverIterable.java
Lines 8 (patched)
<https://reviews.apache.org/r/59408/#comment249480>

    it seems to me that this "iterable" is not a real iterable; as it can't 
restart the iteration



metastore/src/java/org/apache/hadoop/hive/metastore/metatool/BlockRetrieverIterator.java
Lines 33 (patched)
<https://reviews.apache.org/r/59408/#comment249486>

    If committed is true - but this commitTransaction returns false...
    
    I think committed should stay true in that case



metastore/src/java/org/apache/hadoop/hive/metastore/metatool/BlockRetrieverIterator.java
Lines 42 (patched)
<https://reviews.apache.org/r/59408/#comment249494>

    nextValue belongs to the 'current' transaction; I think this code may 
probably miss the last entry's changes in every transactional block



metastore/src/java/org/apache/hadoop/hive/metastore/metatool/BlockRetrieverIterator.java
Lines 53 (patched)
<https://reviews.apache.org/r/59408/#comment249490>

    I'm not sure...but I've seen some silent mode somewhere in the options...



metastore/src/java/org/apache/hadoop/hive/metastore/metatool/EntityUpdater.java
Lines 1 (patched)
<https://reviews.apache.org/r/59408/#comment249497>

    could you add asf headers to the new files?



metastore/src/java/org/apache/hadoop/hive/metastore/metatool/EntityUpdater.java
Lines 16 (patched)
<https://reviews.apache.org/r/59408/#comment249488>

    RetrieverIterable's iterablity is only used here for a 'for' loop...I think 
the interface and the iterable just makes it a bit more trickier...standard 
hasNext() would be simpler



metastore/src/java/org/apache/hadoop/hive/metastore/metatool/EntityUpdater.java
Lines 25 (patched)
<https://reviews.apache.org/r/59408/#comment249483>

    if an error have happend..an exception is going out at this point...why 
should it be marked on the locationupdater? I mean...the exception already 
describes the situation
    
    It seems like errorHappened only controls a log message - or I might have 
missed something



metastore/src/test/org/apache/hadoop/hive/metastore/metatool/EntityUpdaterTest.java
Lines 1 (patched)
<https://reviews.apache.org/r/59408/#comment249482>

    I think tests ending with 'Test' are also executed...however there is a 
note in the contribution guide about starting the name with Test  :)
    
https://cwiki.apache.org/confluence/display/Hive/HowToContribute#HowToContribute-JavaUnitTest



metastore/src/test/org/apache/hadoop/hive/metastore/tools/HiveMetaToolTest.java
Lines 124 (patched)
<https://reviews.apache.org/r/59408/#comment249481>

    there might be an alternative to this check by using Set<String>'s instead 
of the List...and use assertEquals


I'm not sure...but it might probably be less trickier to try with a 
dataProvider.runVisit(myLocationUpdater) pattern, this might be probably fit as 
objectStore.run??Visit() or not...and by doing it that way you may probably be 
able control the dry-run behaviour by just not committing the changes in the 
visit runner...

I think it would be ok to run a dry-run prior to executing the real thing...I 
know it's double work; but it may probably reduce the chance of data 
corruption..

- Zoltan Haindrich


On May 19, 2017, 5:05 p.m., Zsolt Fekete wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/59408/
> -----------------------------------------------------------
> 
> (Updated May 19, 2017, 5:05 p.m.)
> 
> 
> Review request for hive.
> 
> 
> Repository: hive-git
> 
> 
> Description
> -------
> 
> Currently HiveMetaTool reads full tables (as DataNucleus entities) into 
> memory by calling PersistenceManager's retrieveAll().
> 
> See these methods of ObjectStore: updateMDatabaseURI, updateTblPropURI, 
> updateMStorageDescriptorTblPropURI, updateMStorageDescriptorTblURI, 
> updateSerdeURI.
> 
> This might cause failure when the affected tables (SDS, DBS, TABLE_PARAMS, 
> SD_PARAMS, SERDES, SERDE_PARAMS) are too big.
> 
> 
> Diffs
> -----
> 
>   metastore/src/java/org/apache/hadoop/hive/metastore/ObjectStore.java 
> b28983f 
>   
> metastore/src/java/org/apache/hadoop/hive/metastore/metatool/BlockRetrieverIterable.java
>  PRE-CREATION 
>   
> metastore/src/java/org/apache/hadoop/hive/metastore/metatool/BlockRetrieverIterator.java
>  PRE-CREATION 
>   
> metastore/src/java/org/apache/hadoop/hive/metastore/metatool/EntityUpdater.java
>  PRE-CREATION 
>   
> metastore/src/java/org/apache/hadoop/hive/metastore/metatool/IDataProvider.java
>  PRE-CREATION 
>   
> metastore/src/java/org/apache/hadoop/hive/metastore/metatool/LocationEntity.java
>  PRE-CREATION 
>   
> metastore/src/java/org/apache/hadoop/hive/metastore/metatool/LocationEntityImplementations.java
>  PRE-CREATION 
>   
> metastore/src/java/org/apache/hadoop/hive/metastore/metatool/LocationUpdater.java
>  PRE-CREATION 
>   
> metastore/src/java/org/apache/hadoop/hive/metastore/metatool/RetrieverIterable.java
>  PRE-CREATION 
>   
> metastore/src/java/org/apache/hadoop/hive/metastore/metatool/ReturnValue.java 
> PRE-CREATION 
>   
> metastore/src/java/org/apache/hadoop/hive/metastore/metatool/UpdateParams.java
>  PRE-CREATION 
>   
> metastore/src/java/org/apache/hadoop/hive/metastore/metatool/UriUpdateChecker.java
>  PRE-CREATION 
>   metastore/src/java/org/apache/hadoop/hive/metastore/tools/HiveMetaTool.java 
> 22e246f 
>   
> metastore/src/test/org/apache/hadoop/hive/metastore/metatool/BlockRetrieverIterableTest.java
>  PRE-CREATION 
>   
> metastore/src/test/org/apache/hadoop/hive/metastore/metatool/DataProviderStub.java
>  PRE-CREATION 
>   
> metastore/src/test/org/apache/hadoop/hive/metastore/metatool/EntityUpdaterTest.java
>  PRE-CREATION 
>   
> metastore/src/test/org/apache/hadoop/hive/metastore/metatool/LocationEntityImplementationsTest.java
>  PRE-CREATION 
>   
> metastore/src/test/org/apache/hadoop/hive/metastore/metatool/LocationUpdaterTest.java
>  PRE-CREATION 
>   
> metastore/src/test/org/apache/hadoop/hive/metastore/metatool/ReturnValueTest.java
>  PRE-CREATION 
>   
> metastore/src/test/org/apache/hadoop/hive/metastore/metatool/UriUpdateCheckerTest.java
>  PRE-CREATION 
>   
> metastore/src/test/org/apache/hadoop/hive/metastore/tools/HiveMetaToolTest.java
>  PRE-CREATION 
> 
> 
> Diff: https://reviews.apache.org/r/59408/diff/2/
> 
> 
> Testing
> -------
> 
> The new tests passed:
> mvn test 
> -Dtest=BlockRetrieverIterableTest,EntityUpdaterTest,UriUpdateCheckerTest,LocationUpdaterTest,ReturnValueTest,LocationEntityImplementationsTest,IntegrationTest
> 
> 
> Thanks,
> 
> Zsolt Fekete
> 
>

Reply via email to