> On May 5, 2017, 12:54 a.m., Sahil Takiar wrote:
> > common/src/java/org/apache/hive/common/util/RetryUtilities.java
> > Lines 25 (patched)
> > <https://reviews.apache.org/r/58936/diff/1/?file=1706349#file1706349line25>
> >
> >     Might want to looking https://github.com/rholder/guava-retrying
> 
> Sahil Takiar wrote:
>     look into*
> 
> Vihang Karajgaonkar wrote:
>     Thanks for the pointer. Took a quick look. It has some interesting ideas 
> but it doesn't seem to support reducing the workload size exponentially. It 
> has a exponential backoff retry interval, but not the in terms of workload 
> sizing. Also, I have never used this library before. Is it popular and 
> production ready? The last commit on this library was 2 years ago.

Ah I think I misunderstood what this code was doing. I thought that the retries 
are triggered using an exponential backoff mechanism, but it seems that they 
are tried immediately, one after the other. Should be consider adding 
exponential backoff to the timings of the retries. This can help if the network 
is flaky for some reason. Also, I think that guava-retrying re-uses the same 
Callable object each time it retries the `call` method, so the object could 
keep state about the number of times it has been retried and use that to decay 
the batch size.

I've used it before and it works pretty well. Other projects that use this 
library can be found here: 
https://mvnrepository.com/artifact/com.github.rholder/guava-retrying/2.0.0/usages

Using this library isn't a blocking issue, just thought I would suggest it in 
case it makes things simpler.


> On May 5, 2017, 12:54 a.m., Sahil Takiar wrote:
> > itests/hive-blobstore/src/test/queries/clientpositive/create_like.q
> > Lines 24 (patched)
> > <https://reviews.apache.org/r/58936/diff/1/?file=1706351#file1706351line24>
> >
> >     is this necessary?
> 
> Vihang Karajgaonkar wrote:
>     I think this is a better way to the added partitions in the q.out files. 
> The "Repair: Added partition to metastore..." is added to the output based on 
> the order of iteration over a HashSet which is not very reliable and prone to 
> flakiness (across different Java distributions and different versions of same 
> Java).

Ok, makes sense.


- Sahil


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


On May 2, 2017, 10:25 p.m., Vihang Karajgaonkar wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/58936/
> -----------------------------------------------------------
> 
> (Updated May 2, 2017, 10:25 p.m.)
> 
> 
> Review request for hive, Sergio Pena and Sahil Takiar.
> 
> 
> Bugs: HIVE-16143
>     https://issues.apache.org/jira/browse/HIVE-16143
> 
> 
> Repository: hive-git
> 
> 
> Description
> -------
> 
> HIVE-16143 : Improve msck repair batching
> 
> 
> Diffs
> -----
> 
>   common/src/java/org/apache/hive/common/util/RetryUtilities.java 
> PRE-CREATION 
>   common/src/test/org/apache/hive/common/util/TestRetryUtilities.java 
> PRE-CREATION 
>   itests/hive-blobstore/src/test/queries/clientpositive/create_like.q 
> 38f384e4c547d3c93d510b89fccfbc2b8e2cba09 
>   itests/hive-blobstore/src/test/results/clientpositive/create_like.q.out 
> 0d362a716291637404a3859fe81068594d82c9e0 
>   itests/util/src/main/java/org/apache/hadoop/hive/ql/QTestUtil.java 
> 2ae1eacb68cef6990ae3f2050af0bed7c8e9843f 
>   ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java 
> 917e565f28b2c9aaea18033ea3b6b20fa41fcd0a 
>   
> ql/src/test/org/apache/hadoop/hive/ql/exec/TestMsckCreatePartitionsInBatches.java
>  PRE-CREATION 
>   ql/src/test/queries/clientpositive/msck_repair_0.q 
> 22542331621ca4ce5277c2f46a4264b7540a4d1e 
>   ql/src/test/queries/clientpositive/msck_repair_1.q 
> ea596cbbd2d4c230f2b5afbe379fc1e8836b6fbd 
>   ql/src/test/queries/clientpositive/msck_repair_2.q 
> d8338211e970ebac68a7471ee0960ccf2d51cba3 
>   ql/src/test/queries/clientpositive/msck_repair_3.q 
> fdefca121a2de361dbd19e7ef34fb220e1733ed2 
>   ql/src/test/queries/clientpositive/msck_repair_batchsize.q 
> e56e97ac36a6544f3e20478fdb0e8fa783a857ef 
>   ql/src/test/results/clientpositive/msck_repair_0.q.out 
> 2e0d9dc423071ebbd9a55606f196cf7752e27b1a 
>   ql/src/test/results/clientpositive/msck_repair_1.q.out 
> 3f2fe75b194f1248bd5c073dd7db6b71b2ffc2ba 
>   ql/src/test/results/clientpositive/msck_repair_2.q.out 
> 3f2fe75b194f1248bd5c073dd7db6b71b2ffc2ba 
>   ql/src/test/results/clientpositive/msck_repair_3.q.out 
> 3f2fe75b194f1248bd5c073dd7db6b71b2ffc2ba 
>   ql/src/test/results/clientpositive/msck_repair_batchsize.q.out 
> ba99024163a1f2c59d59e9ed7ea276c154c99d24 
>   ql/src/test/results/clientpositive/repair.q.out 
> c1834640a35500c521a904a115a718c94546df10 
> 
> 
> Diff: https://reviews.apache.org/r/58936/diff/1/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Vihang Karajgaonkar
> 
>

Reply via email to