Zoltan Borok-Nagy has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/14444 )

Change subject: IMPALA-8648: Add stress tests for ACID INSERTs/SELECTs
......................................................................


Patch Set 3:

(11 comments)

http://gerrit.cloudera.org:8080/#/c/14444/2/fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java
File fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java:

http://gerrit.cloudera.org:8080/#/c/14444/2/fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java@1854
PS2, Line 1854:       }
> As we have discussed in person, this locking only protects against the spec
Added comments about it.


http://gerrit.cloudera.org:8080/#/c/14444/2/fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java@1873
PS2, Line 1873:           newCatalogVersion = 
truncateTransactionalTable(params, table);
> This looks a bit dangerous - if we throw an exception when we have the cata
You are right, fixed it here and other places in this file.


http://gerrit.cloudera.org:8080/#/c/14444/2/tests/common/impala_test_suite.py
File tests/common/impala_test_suite.py:

http://gerrit.cloudera.org:8080/#/c/14444/2/tests/common/impala_test_suite.py@219
PS2, Line 219: #
> flake8: E265 block comment should start with '# '
Done


http://gerrit.cloudera.org:8080/#/c/14444/2/tests/stress/test_acid_stress.py
File tests/stress/test_acid_stress.py:

http://gerrit.cloudera.org:8080/#/c/14444/2/tests/stress/test_acid_stress.py@48
PS2, Line 48:
> flake8: E302 expected 2 blank lines, found 1
Done


http://gerrit.cloudera.org:8080/#/c/14444/2/tests/stress/test_acid_stress.py@164
PS2, Line 164:     run_tasks([
> nit: here and at other places: doesn't this need indentation of 4?
Done


http://gerrit.cloudera.org:8080/#/c/14444/2/tests/stress/test_acid_stress.py@219
PS2, Line 219:           impalad_client.execute("insert into table %s values 
(%i, %i)" % (
> nit: +2 indent
Done


http://gerrit.cloudera.org:8080/#/c/14444/2/tests/stress/test_acid_stress.py@223
PS2, Line 223:             impalad_client.execute("truncate table %s" % 
tbl_name)
             :         except Exception as e:
             :           # Some transactions might fail due to high contention.
             :           # print str(e)
             :           # if "Tra
> I think it would be better not to swallow these exceptions if possible.
In this PS when truncate tries to acquire the HMS lock it already released the 
catalog's table lock. And after it acquired the HMS lock it tries to acquire 
the catalog table lock again.

I did a closer look at why we get this exception, and it turned out that 
setting DataOperationType to DELETE for truncate was not the best choice 
because HMS's conflict detection kicked in and aborted some transactions. Now I 
set DataOperationType to NO_TXN (which is still not the best because we do have 
a transaction) and things work just fine.


http://gerrit.cloudera.org:8080/#/c/14444/2/tests/stress/test_acid_stress.py@314
PS2, Line 314:           if should_succeed or "CLIENT_REQUEST_UPDATE_CATALOG" 
not in str(e):
             :             raise e
> Same as line 223. CLIENT_REQUEST_UPDATE_CATALOG errors could be accepted on
Removed TransactionException, and added 'or val == 1'.


http://gerrit.cloudera.org:8080/#/c/14444/2/tests/stress/test_acid_stress.py@343
PS2, Line 343:     num_writers = 3
> Similarly to TestAcidInsertsBasic, I think it would be nice to run the same
Done


http://gerrit.cloudera.org:8080/#/c/14444/2/tests/stress/test_acid_stress.py@353
PS2, Line 353: ytest.m
> nit: this could be "checkers", as there can be several of them
Done


http://gerrit.cloudera.org:8080/#/c/14444/2/tests/stress/test_acid_stress.py@354
PS2, Line 354:   @pytest.mark.stress
> nit: would fit  to last line
Done



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I066652bfa7d924742af01aef8df4512e00620c7d
Gerrit-Change-Number: 14444
Gerrit-PatchSet: 3
Gerrit-Owner: Zoltan Borok-Nagy <borokna...@cloudera.com>
Gerrit-Reviewer: Csaba Ringhofer <csringho...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Norbert Luksa <norbert.lu...@cloudera.com>
Gerrit-Reviewer: Zoltan Borok-Nagy <borokna...@cloudera.com>
Gerrit-Comment-Date: Thu, 24 Oct 2019 16:37:47 +0000
Gerrit-HasComments: Yes

Reply via email to