[ 
https://issues.apache.org/jira/browse/IMPALA-12292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17748493#comment-17748493
 ] 

ASF subversion and git services commented on IMPALA-12292:
----------------------------------------------------------

Commit 66b701f80612a1396ba10aa46d4912ac92ec21d8 in impala's branch 
refs/heads/master from Daniel Becker
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=66b701f80 ]

IMPALA-12292: 
TestCodegenCache.{test_codegen_cache_with_asm_module_dir,test_codegen_cache_with_perf_map}
 fail in builds

The above codegen cache tests were introduced by IMPALA-12260. They run
two queries and the first query produces two codegen cache entries. The
tests aim to bring about the following scenario:

1. both codegen cache entries from the first query fit in the cache
AND
2. both entries from the first query are evicted during the second
   query.

The parameters that can be tuned are the following:
1. the size of the codegen cache entries of the first query
2. the size of the codegen cache entries of the second query
3. the size of the codegen cache.

If the parameters are chosen badly or the sizes of the codegen cache
entries change because of other Impala changes (e.g. codegen
optimisations), the conditions may not be satisfied and the tests may
fail like they did now.

This change makes the tests more robust by
 - increasing the cache footprint of the second query (from 487.40 KB to
   663.68 KB)
 - choosing the size of the codegen cache so as to leave as much margin
   on each side as possible. At present
     - the minimal codegen cache size so that both entries from the
       first query fit the cache is around 2.4 MB
     - the maximal cache size so that both entries from the first query
       are evicted during the second query is around 4.1 MB
   Therefore we choose a cache size of 3.25 MB, which lies in the middle.

Experience has shown that this setup is fragile and breaks easily when
new commits are added to Impala. Therefore this change relaxes some of
the assertions in the tests as a temporary measure to prevent build
failures. For this and other reasons IMPALA-12306 was opened to make
these tests more robust.

Change-Id: I15320b8c0d06f4d93927b19731c11bd4e15b3690
Reviewed-on: http://gerrit.cloudera.org:8080/20224
Reviewed-by: Yida Wu <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>


> TestCodegenCache.{test_codegen_cache_with_asm_module_dir,test_codegen_cache_with_perf_map}
>  fail in builds
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: IMPALA-12292
>                 URL: https://issues.apache.org/jira/browse/IMPALA-12292
>             Project: IMPALA
>          Issue Type: Bug
>          Components: Backend
>            Reporter: Daniel Becker
>            Assignee: Daniel Becker
>            Priority: Blocker
>              Labels: broken-build
>
> TestCodegenCache.test_codegen_cache_with_asm_module_dir and 
> TestCodegenCache.test_codegen_cache_with_perf_map fail in some builds:
> {code:java}
> custom_cluster/test_codegen_cache.py:155: in test_codegen_cache_with_perf_map 
> self._test_codegen_cache_with_symbol_emitter(vector) 
> custom_cluster/test_codegen_cache.py:187: in 
> _test_codegen_cache_with_symbol_emitter assert 
> self.get_metric('impala.codegen-cache.entries-in-use') == 3 E assert 2 == 3 E 
> + where 2 = <bound method TestCodegenCache.get_metric of 
> <test_codegen_cache.TestCodegenCache object at 
> 0x7effc461c950>>('impala.codegen-cache.entries-in-use') E + where <bound 
> method TestCodegenCache.get_metric of <test_codegen_cache.TestCodegenCache 
> object at 0x7effc461c950>> = <test_codegen_cache.TestCodegenCache object at 
> 0x7effc461c950>.get_metric{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to