----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/52631/#review151972 -----------------------------------------------------------
Ship it! Ship It! - Aihua Xu On Oct. 7, 2016, 2 p.m., Marta Kuczora wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/52631/ > ----------------------------------------------------------- > > (Updated Oct. 7, 2016, 2 p.m.) > > > Review request for hive, Aihua Xu, Miklos Csanady, Peter Vary, Szehon Ho, and > Barna Zsombor Klara. > > > Bugs: HIVE-14839 > https://issues.apache.org/jira/browse/HIVE-14839 > > > Repository: hive-git > > > Description > ------- > > The TestSessionManagerMetrics fails occasionally with the following error: > org.junit.ComparisonFailure: expected:<[0]> but was:<[1]> > at > org.apache.hive.service.cli.session.TestSessionManagerMetrics.testThreadPoolMetrics(TestSessionManagerMetrics.java:98) > > Changed the synchronization between the tasks a bit to avoid these failures. > With this patch the test would work do the following steps: > - Submit four tasks. > - Wait with the metrics verification, until the first two tasks are running. > This is done by invoking await on the "ready" barrier. > If, for some reason, the tasks are not started within a timeout period, > make the test fail. > - Make the tasks wait until the metrics are checked. > This is done by invoking await on the "completed" barrier. > - Verify the metrics. > - Let the first two tasks complete by breaking the "complete" barrier. > When the first two tasks completed, the remaining two tasks will be removed > from the queue and started. > - Wait until the remaining tasks are running by using the "ready" barrier > again. > Do the metrics check only if they are started to avoid the failures when > the queue size was not 0. > If, for some reason, the tasks are not started within a timeout period, > make the test fail. > - Verify the metrics. > - Let the remaining tasks complete by breaking the "completed" barrier. > > > Diffs > ----- > > > service/src/test/org/apache/hive/service/cli/session/TestSessionManagerMetrics.java > 5511c54 > > Diff: https://reviews.apache.org/r/52631/diff/ > > > Testing > ------- > > The change effects only a unit test. > Ran the test many times locally. > Added random sleeps to the tasks to simulate the delay when they start or > complete and ran the test many times to see if the synch between the tasks is > working correctly. > > > Thanks, > > Marta Kuczora > >