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 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.


--
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: 15
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: Fri, 27 Nov 2020 18:06:40 +0000
Gerrit-HasComments: No

Reply via email to