Qifan Chen created IMPALA-11190:
-----------------------------------

             Summary: Test failing insert tests are broken in local catalog mode
                 Key: IMPALA-11190
                 URL: https://issues.apache.org/jira/browse/IMPALA-11190
             Project: IMPALA
          Issue Type: Bug
          Components: Catalog
            Reporter: Qifan Chen


Stress test test_failing_inserts (in tests/stress/test_acid_stress.py) fail 
repeatedly in local catalog mode. The concurrent checker query (select * from 
<table>) can return rows of value -1 which should not happen.

This is reproducible by commenting out test TestFailingAcidInserts in 
tests/stress/test_acid_stress.py.

Setup:

1. Build the impala and clear HMS in case in a bad state: 
$IMPALA_HOME/buildall.sh -format_metastore -notests
2. Start the cluster in local catalog mode: 
$IMPALA_HOME/bin/start-impala-cluster.py --impalad_args 
--use_local_catalog=true --catalogd_args --catalog_topic_mode=minimal 
--catalogd_args --hms_event_polling_interval_s=1
3. Run the modified stress test: $IMPALA_HOME/bin/impala-py.test 
$IMPALA_TESTS/stress/test_acid_stress.py

Error reported:

Main branch failed on test est_failing_inserts

[11:48:38 qchen@qifan-10229: Impala.03112022] test_acid_stress
rootLoggerLevel = INFO
================================================== test session starts 
===================================================
platform linux2 -- Python 2.7.16, pytest-2.9.2, py-1.4.32, pluggy-0.3.1 -- 
/home/qchen/Impala.03112022/infra/python/env-gcc7.5.0/bin/python
cachedir: tests/.cache
rootdir: /home/qchen/Impala.03112022/tests, inifile: pytest.ini
plugins: xdist-1.17.1, timeout-1.2.1, random-0.2, forked-0.2
timeout: 7200s method: signal
collected 4 items 

tests/stress/test_acid_stress.py::TestAcidInsertsBasic::test_read_hive_inserts 
PASSED
tests/stress/test_acid_stress.py::TestAcidInsertsBasic::test_read_impala_inserts
 PASSED
tests/stress/test_acid_stress.py::TestAcidInsertsBasic::test_partitioned_inserts[unique_database0]
 PASSED
tests/stress/test_acid_stress.py::TestFailingAcidInserts::test_failing_inserts[unique_database0]
 FAILED
================================================ short test summary info 
=================================================
FAIL 
tests/stress/test_acid_stress.py::TestFailingAcidInserts::()::test_failing_inserts[unique_database0]

======================================================== FAILURES 
========================================================
_____________________________ 
TestFailingAcidInserts.test_failing_inserts[unique_database0] 
______________________________
tests/stress/test_acid_stress.py:387: in test_failing_inserts
    self._run_test_failing_inserts(unique_database, is_partitioned)
tests/stress/test_acid_stress.py:376: in _run_test_failing_inserts
    run_tasks(writers + checkers)
tests/stress/stress_util.py:45: in run_tasks
    pool.map_async(Task.run, tasks).get(timeout_seconds)
../Impala.03082022/toolchain/toolchain-packages-gcc7.5.0/python-2.7.16/lib/python2.7/multiprocessing/pool.py:572:
 in get
    raise self._value
E   assert 1 == 0
E    +  where 1 = len(['-1'])
E    +    where ['-1'] = <tests.beeswax.impala_beeswax.ImpalaBeeswaxResult 
object at 0x7f62144b6890>.data
------------------------------------------------- Captured stderr setup 
--------------------------------------------------
SET 
client_identifier=stress/test_acid_stress.py::TestFailingAcidInserts::()::test_failing_inserts[unique_database0];
-- connecting to: localhost:21000
-- connecting to localhost:21050 with impyla
-- 2022-03-16 12:03:05,065 INFO     MainThread: Closing active operation
-- connecting to localhost:28000 with impyla
-- 2022-03-16 12:03:05,077 INFO     MainThread: Closing active operation
SET 
client_identifier=stress/test_acid_stress.py::TestFailingAcidInserts::()::test_failing_inserts[unique_database0];
SET sync_ddl=True;
-- executing against localhost:21000

DROP DATABASE IF EXISTS `test_failing_inserts_b980fc6` CASCADE;

-- 2022-03-16 12:03:05,084 INFO     MainThread: Started query 
ee4cd7bba1374e44:5133f3bb00000000
SET 
client_identifier=stress/test_acid_stress.py::TestFailingAcidInserts::()::test_failing_inserts[unique_database0];
SET sync_ddl=True;
-- executing against localhost:21000

CREATE DATABASE `test_failing_inserts_b980fc6`;

-- 2022-03-16 12:03:05,179 INFO     MainThread: Started query 
d949fdad1d1e9d19:430dd1ca00000000
-- 2022-03-16 12:03:11,071 INFO     MainThread: Created database 
"test_failing_inserts_b980fc6" for test ID 
"stress/test_acid_stress.py::TestFailingAcidInserts::()::test_failing_inserts[unique_database0]"
-------------------------------------------------- Captured stderr call 
--------------------------------------------------
SET SYNC_DDL=true;
-- executing against localhost:21000

drop table if exists test_failing_inserts_b980fc6.test_inserts_fail;

-- 2022-03-16 12:03:11,073 INFO     MainThread: Started query 
1742bdbc8e07861b:6a973ebe00000000
-- executing against localhost:21000

create table test_failing_inserts_b980fc6.test_inserts_fail (i int)  
TBLPROPERTIES (
        'transactional_properties' = 'insert_only', 'transactional' = 'true')
        ;

-- 2022-03-16 12:03:11,136 INFO     MainThread: Started query 
0d4433060875cadd:04a0ccd500000000
SET 
client_identifier=stress/test_acid_stress.py::TestFailingAcidInserts::()::test_failing_inserts[unique_database0];
SET 
client_identifier=stress/test_acid_stress.py::TestFailingAcidInserts::()::test_failing_inserts[unique_database0];
-- connecting to: localhost:21000
SET 
client_identifier=stress/test_acid_stress.py::TestFailingAcidInserts::()::test_failing_inserts[unique_database0];
SET 
client_identifier=stress/test_acid_stress.py::TestFailingAcidInserts::()::test_failing_inserts[unique_database0];
-- connecting to: localhost:21001
SET 
client_identifier=stress/test_acid_stress.py::TestFailingAcidInserts::()::test_failing_inserts[unique_database0];
SET 
client_identifier=stress/test_acid_stress.py::TestFailingAcidInserts::()::test_failing_inserts[unique_database0];
-- connecting to: localhost:21002
-- connecting to: localhost:21000
SET DEBUG_ACTION=CLIENT_REQUEST_UPDATE_CATALOG:FAIL@1.0;
-- connecting to: localhost:21001
-- connecting to: localhost:21002
SET DEBUG_ACTION=CLIENT_REQUEST_UPDATE_CATALOG:FAIL@1.0;
SET DEBUG_ACTION=;
-- executing against localhost:21000

-- executing against localhost:21000

-- executing against localhost:21001

-- executing against localhost:21002

insert into table test_failing_inserts_b980fc6.test_inserts_fail  values (-1);

-- executing against localhost:21001

select * from test_failing_inserts_b980fc6.test_inserts_fail where i != 1;

-- executing against localhost:21002

insert into table test_failing_inserts_b980fc6.test_inserts_fail  values (-1);

insert into table test_failing_inserts_b980fc6.test_inserts_fail  values (1);

select * from test_failing_inserts_b980fc6.test_inserts_fail where i != 1;

select * from test_failing_inserts_b980fc6.test_inserts_fail where i != 1;

-- 2022-03-16 12:03:17,180 INFO     Thread-45: Started query 
934a794f6d796f8c:eeaca26300000000
-- 2022-03-16 12:03:17,212 INFO     Thread-41: Started query 
0c4f3d0571723ada:b2f7a9c100000000
SET DEBUG_ACTION=;
-- executing against localhost:21000

insert into table test_failing_inserts_b980fc6.test_inserts_fail  values (1);

-- 2022-03-16 12:03:17,378 INFO     Thread-41: Started query 
874ae51eb56990da:bdfbddce00000000
-- 2022-03-16 12:03:17,479 INFO     Thread-46: Started query 
f8429461318ea368:2f43151100000000
-- 2022-03-16 12:03:17,480 INFO     Thread-42: Started query 
ff4f21882092ffa3:aebc4e5c00000000
-- executing against localhost:21000

insert into table test_failing_inserts_b980fc6.test_inserts_fail  values (1);

-- 2022-03-16 12:03:17,497 INFO     Thread-41: Started query 
904706928ea46ba0:d772197700000000
-- 2022-03-16 12:03:17,502 INFO     Thread-43: Started query 
824472b15fa78a95:584c068300000000
-- 2022-03-16 12:03:17,502 INFO     Thread-44: Started query 
c34b7c74bdf3104d:d90fe6ad00000000
-- executing against localhost:21000

insert into table test_failing_inserts_b980fc6.test_inserts_fail  values (1);

-- 2022-03-16 12:03:17,613 INFO     Thread-41: Started query 
9f4006339f2bbf0b:2e42159600000000
SET DEBUG_ACTION=;
-- executing against localhost:21001

insert into table test_failing_inserts_b980fc6.test_inserts_fail  values (1);

-- 2022-03-16 12:03:17,694 INFO     Thread-46: Started query 
e5499d3a175a3d92:3360b65900000000
-- executing against localhost:21000

select * from test_failing_inserts_b980fc6.test_inserts_fail where i != 1;

-- 2022-03-16 12:03:17,790 INFO     Thread-45: Started query 
76411bd974b8ba88:7559ffbd00000000
-- executing against localhost:21001

insert into table test_failing_inserts_b980fc6.test_inserts_fail  values (1);

-- 2022-03-16 12:03:17,822 INFO     Thread-46: Started query 
1b49a91212435590:07ad032900000000
-- closing connection to: localhost:21000
Traceback (most recent call last):
  File "/home/qchen/Impala.03112022/tests/stress/stress_util.py", line 35, in 
run
    return self.func(*self.args, **self.kwargs)
  File "/home/qchen/Impala.03112022/tests/stress/test_acid_stress.py", line 
353, in _impala_role_checker
    assert len(result.data) == 0
AssertionError: assert 1 == 0
 +  where 1 = len(['-1'])
 +    where ['-1'] = <tests.beeswax.impala_beeswax.ImpalaBeeswaxResult object 
at 0x7f62144b6890>.data
========================================== 1 failed, 3 passed in 395.45 seconds 
==========================================
[12:03:25 qchen@qifan-10229: Impala.03112022] git branch
  IMPALA-10992-auto-scaling-planner-support
* master
[12:07:16 qchen@qifan-10229: Impala.03112022] 





--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to