Aman Sinha has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/16723 )

Change subject: IMPALA-10314: Optimize planning time for simple limits
......................................................................


Patch Set 16:

> Patch Set 15:
>
> > Patch Set 9:
> >
> > > Patch Set 8:
> > >
> > > > Patch Set 8:
> > > >
> > > > > Patch Set 8:
> > > > >
> > > > > > Patch Set 8: Verified-1
> > > > > >
> > > > > > Build failed: 
> > > > > > https://jenkins.impala.io/job/gerrit-verify-dryrun/6687/
> > > > >
> > > > > There's 1 failure:
> > > > > [gw1] FAILED 
> > > > > query_test/test_exprs.py::TestExprLimits::test_statement_expression_limit
> > > > >
> > > > > However, on my desktop I ran query_test/test_exprs.py and all tests 
> > > > > under it passed.
> > > >
> > > > On Jenkins this test hit an OOM GC overhead limit exceeded:
> > > > gw1] linux2 -- Python 2.7.16 
> > > > /home/ubuntu/Impala/bin/../infra/python/env-gcc7.5.0/bin/python
> > > > query_test/test_exprs.py:176: in test_statement_expression_limit
> > > >     assert re.search(expected_err_re, str(err))
> > > > E   assert None
> > > > E    +  where None = <function search at 0x7fc9ff90e848>('Exceeded the 
> > > > statement expression limit \\(250000\\)\nStatement has .* 
> > > > expressions.', "ImpalaBeeswaxException:\n INNER EXCEPTION: <class 
> > > > 'beeswaxd.ttypes.BeeswaxException'>\n MESSAGE: OutOfMemoryError: GC 
> > > > overhead limit exceeded\n")
> > > > E    +    where <function search at 0x7fc9ff90e848> = re.search
> > > > E    +    and   "ImpalaBeeswaxException:\n INNER EXCEPTION: <class 
> > > > 'beeswaxd.ttypes.BeeswaxException'>\n MESSAGE: OutOfMemoryError: GC 
> > > > overhead limit exceeded\n" = str(ImpalaBeeswaxException())
> > >
> > > Oh wait, there's actually another failure in FE:
> > >
> > > 23:47:52 [INFO] Running org.apache.impala.analysis.ParserTest
> > > 23:47:52 [ERROR] Tests run: 98, Failures: 1, Errors: 0, Skipped: 0, Time 
> > > elapsed: 0.829 s <<< FAILURE! - in org.apache.impala.analysis.ParserTest
> > > 23:47:52 [ERROR] TestGetErrorMsg(org.apache.impala.analysis.ParserTest)  
> > > Time elapsed: 0.005 s  <<< FAILURE!
> > >         at 
> > > org.apache.impala.analysis.ParserTest.ParserError(ParserTest.java:77)
> > >         at 
> > > org.apache.impala.analysis.ParserTest.TestGetErrorMsg(ParserTest.java:3475)
> > >
> > > Will need to look into this one.
> >
> > PS9 fixes the ParserTest issue..just had to update the list of expected 
> > keywords in the test after a WHERE clause.  Not yet sure about the other 
> > OOM failure since I cannot repro locally.
>
> One difference between my machine's execution vs the one on Jenkins is that 
> the Jenkins one runs it under a dockerised container and the JVM Max heap is 
> 1.78GB which is smaller than the 2GB on my machine.
>
> From ubuntu-16.04-dockerised-tests-3539/logs/ee_tests/impalad_coord_exec-0:
> impalad.4069f4f171ef.ubuntu.log.INFO.20201126-001441.1:  JVM: max heap size: 
> Total=1.78 GB
> impalad.4069f4f171ef.ubuntu.log.INFO.20201126-001441.1:  JVM: non-heap 
> committed: Total=114.50 MB
>
> I looked closer at the 'GC overhead limit exceeded' issue with the 
> test_statement_expression_limit() test and I suspect it happens because in my 
> original patch the default construction of the Expr object also allocates an 
> empty ArrayList for hints (this was consistent with how we handle other types 
> of hints).  However, this is not really necessary and it can be done on 
> demand only when an actual WHERE clause hint is supplied. This particular 
> test creates a huge number of Exprs and considering that the Dockerised run 
> has a slightly smaller max heap, it might cause the GC to run more often 
> without reclaiming sufficient free memory.
>
> In PS 15 I have made the change to allocate the arraylist only when a 
> predicate hint was supplied. Hopefully it addresses the issue.

It looks like the test_statement_expression_limit passed in the latest run on 
PS 15. There were couple of load failures which seem like existing flaky test 
issue especially https://issues.apache.org/jira/browse/IMPALA-10344 (although 
the same error occurs for a different table).

I will start another run with a +2 carry-over.


--
To view, visit http://gerrit.cloudera.org:8080/16723
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I9d6a79263bc092e0f3e9a1d72da5618f3cc35574
Gerrit-Change-Number: 16723
Gerrit-PatchSet: 16
Gerrit-Owner: Aman Sinha <amsi...@cloudera.com>
Gerrit-Reviewer: Aman Sinha <amsi...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Qifan Chen <qc...@cloudera.com>
Gerrit-Reviewer: Shant Hovsepian <sh...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>
Gerrit-Comment-Date: Sat, 28 Nov 2020 01:48:47 +0000
Gerrit-HasComments: No

Reply via email to