> Does "tests/custom_cluster/test_alloc_fail.py" run with "run-tests.py"?
The answer to this is no, though I couldn't tell you the historical reasons for this, if any. For now I have cleared up cwiki and also answered you at IMPALA-6229. On Wed, Nov 15, 2017 at 8:10 PM, Jin Chul Kim <[email protected]> wrote: > Hi Michael, > > As I described in the previous email, I am using debug binary. I could > reproduce the issue using either impala-py.test or the last option which > restart impala cluster with enablement of stress_fn_ctx_alloc. My change > replaces rand_r in C library with std::mt19937 in C++ library, so > Allocate<std::mt19937>() is introduced. FYI, sizeof(std::mt19937) is 5000 > bytes. > > By the way, I still have a curiosity. The command below with "run-tests.py" > looks fine to me because it shows tests are finished successfully. I guess > it shows false positive error. If "tests/custom_cluster/test_ > alloc_fail.py" > cannot run with "run-tests.py", test should be finished with an error due > to incompatibility case. Would you please clarify two things? > 1. The false positive error > 2. Does "tests/custom_cluster/test_alloc_fail.py" run with "run-tests.py"? > > Regarding guidance of E2E tests in "How to load and run Impala tests > <https://cwiki.apache.org/confluence/display/IMPALA/How+ > to+load+and+run+Impala+tests>" > wiki page, I wish there are more detailed information. Let me put the > information on the wiki after you answer my question: What is the > difference between "./test/run-tests.py" and "impala-py.test"? > > $ ./tests/run-tests.py tests/custom_cluster/test_alloc_fail.py > ... > ============================================================ > ============================================================ > ===================================================== > test session starts > ============================================================ > ============================================================ > ====================================================== > platform linux2 -- Python 2.7.12, pytest-2.9.2, py-1.4.32, pluggy-0.3.1 -- > /home/jinchulkim/Impala/bin/../infra/python/env/bin/python > cachedir: .cache > rootdir: /home/jinchulkim/Impala/tests, inifile: pytest.ini > plugins: xdist-1.15.0, random-0.2 > collected 2 items > > verifiers/test_verify_metrics.py::TestValidateMetrics::test_ > metrics_are_zero > PASSED > verifiers/test_verify_metrics.py::TestValidateMetrics::test_ > num_unused_buffers > PASSED > ============================================================ > ============================================================ > =================================================== > 2 passed in 0.11 seconds > ============================================================ > ============================================================ > =================================================== > > Best regards, > Jinchul > > 2017-11-16 11:23 GMT+09:00 Michael Ho <[email protected]>: > > > That's odd. Please double check you are running debug builds. > Alternately, > > you can try: > > > > impala-py.test tests/custom_cluster/test_alloc_fail.py > > > > Another approach is to try doing what the test is trying to achieve > > manually: > > > > ./bin/start-impala-cluster.py --impalad_args="--stress_fn_ctx_alloc=1" > > ./bin/impala-shell.sh -q "select rand() from functional.alltypes" > > > > My suspicion is that your change modified some states used for rand() and > > it bloated from 4 bytes to 5000 bytes. > > The error string needs to be updated as a result. That said, did anyone > ask > > about the change in memory usage during code review ? > > > > On Wed, Nov 15, 2017 at 6:05 PM, Jin Chul Kim <[email protected]> wrote: > > > > > Hi, > > > > > > I am trying to look into the build error: > > > https://jenkins.impala.io/job/gerrit-verify-dryrun/1472/ > > > (The relevant code change: https://gerrit.cloudera.org/#/c/8355/) > > > > > > There was a test failure at "TestAllocFail.test_alloc_fail_init". I > ran > > > the > > > following command but it always passed on my change: > ./tests/run-tests.py > > > tests/custom_cluster/test_alloc_fail.py > > > > > > I changed the options below on Impala-shell and then retry it again, > but > > > the failure did not happen. > > > exec_option: {'batch_size': 0, 'num_nodes': 0, > > > 'disable_codegen_rows_threshold': 0, 'disable_codegen': False, > > > 'abort_on_error': 1, 'exec_single_node_rows_threshold': 0} > > > > > > I am using Ubuntu 16.04 TLS and debug binary. Is there any differences > > > between Jenkins env. and my env.? > > > > > > ] =========================== short test summary info > > > ============================ > > > ] XFAIL > > > custom_cluster/test_alloc_fail.py::TestAllocFail::():: > > > test_alloc_fail_update[exec_option: > > > {'batch_size': 0, 'num_nodes': 0, 'disable_codegen_rows_threshold': 0, > > > 'disable_codegen': False, 'abort_on_error': 1, > > > 'exec_single_node_rows_threshold': 0} | table_format: text/none] > > > ] IMPALA-2925: the execution is not deterministic so some tests > > sometimes > > > don't fail as expected > > > ] FAIL > > > custom_cluster/test_alloc_fail.py::TestAllocFail::():: > > > test_alloc_fail_init[exec_option: > > > {'batch_size': 0, 'num_nodes': 0, 'disable_codegen_rows_threshold': 0, > > > 'disable_codegen': False, 'abort_on_error': 1, > > > 'exec_single_node_rows_threshold': 0} | table_format: text/none] > > > ] =================================== FAILURES > > > =================================== > > > ] TestAllocFail.test_alloc_fail_init[exec_option: {'batch_size': 0, > > > 'num_nodes': 0, 'disable_codegen_rows_threshold': 0, > 'disable_codegen': > > > False, 'abort_on_error': 1, 'exec_single_node_rows_threshold': 0} | > > > table_format: text/none] > > > ] custom_cluster/test_alloc_fail.py:34: in test_alloc_fail_init > > > ] self.run_test_case('QueryTest/alloc-fail-init', vector) > > > ] common/impala_test_suite.py:398: in run_test_case > > > ] self.__verify_exceptions(test_section['CATCH'], str(e), use_db) > > > ] common/impala_test_suite.py:277: in __verify_exceptions > > > ] (expected_str, actual_str) > > > ] E AssertionError: Unexpected exception string. Expected: > > > FunctionContext::Allocate() failed to allocate 4 bytes. > > > ] E Not found in actual: ImpalaBeeswaxException: Query > > > aborted:FunctionContext::Allocate() failed to allocate 5000 bytes. > > > > > > Best regards, > > > Jinchul > > > > > > > > > > > -- > > Thanks, > > Michael > > >
