Michael Smith has posted comments on this change. ( http://gerrit.cloudera.org:8080/21803 )
Change subject: IMPALA-915: Support cancel queries in frontend ...................................................................... Patch Set 26: (7 comments) http://gerrit.cloudera.org:8080/#/c/21803/24//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/21803/24//COMMIT_MSG@25 PS24, Line 25: CancelledException is implemented as a RuntimeException for the moment : because exception propagation requires a lot of updates; this is similar : to LocalCatalogException, and both should be cleaned up. : > To me, combining this paragraph with the paragraph about "Removes check_inf Done http://gerrit.cloudera.org:8080/#/c/21803/24/fe/src/main/java/org/apache/impala/catalog/local/CatalogdMetaProvider.java File fe/src/main/java/org/apache/impala/catalog/local/CatalogdMetaProvider.java: http://gerrit.cloudera.org:8080/#/c/21803/24/fe/src/main/java/org/apache/impala/catalog/local/CatalogdMetaProvider.java@575 PS24, Line 575: Future<ValueType> existing = (Future<ValueType>)inCache; : ValueType ret = Canceller.getUninterruptibly(existing); : piggybackSuccessCountForTests.incrementAndGet(); > So another request would be blocked on the future? Yes, I can change this t Done http://gerrit.cloudera.org:8080/#/c/21803/24/fe/src/main/java/org/apache/impala/service/Canceller.java File fe/src/main/java/org/apache/impala/service/Canceller.java: http://gerrit.cloudera.org:8080/#/c/21803/24/fe/src/main/java/org/apache/impala/service/Canceller.java@42 PS24, Line 42: static Logger LOG = LoggerFact > Will do. Done http://gerrit.cloudera.org:8080/#/c/21803/24/fe/src/main/java/org/apache/impala/service/Canceller.java@47 PS24, Line 47: queryThreads_ = new ConcurrentHashMap<>(); > Yeah, working on it. Turns out thread-local storage doesn't work here, because other threads need to be able to mark the thread as cancelled. Removed the comment. http://gerrit.cloudera.org:8080/#/c/21803/24/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/21803/24/fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java@430 PS24, Line 430: public TDdlExecResponse execDdlRequest(TDdlExecRequest ddlRequest) > This is the entrance for DDL requests. They need the Canceller logics as we I think I would like to handle DDLs in a separate patch. This is pretty big, and currently only dealing with cancelling read operations. http://gerrit.cloudera.org:8080/#/c/21803/24/tests/custom_cluster/test_web_pages.py File tests/custom_cluster/test_web_pages.py: http://gerrit.cloudera.org:8080/#/c/21803/24/tests/custom_cluster/test_web_pages.py@567 PS24, Line 567: > To test the piggyback mechanism, we can add a new test that has a 3rd query Done http://gerrit.cloudera.org:8080/#/c/21803/24/tests/shell/test_shell_interactive.py File tests/shell/test_shell_interactive.py: http://gerrit.cloudera.org:8080/#/c/21803/24/tests/shell/test_shell_interactive.py@333 PS24, Line 333: def test_cancellation(self, vector): > Yeah, makes sense. I'll need to look into why Ctrl+C doesn't work, but prob This requires implementing IMPALA-2568 to address. The client can't issue a Cancel() RPC because it doesn't have a query_id at that point. -- To view, visit http://gerrit.cloudera.org:8080/21803 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I0d25d4c7fb0b8dcc7dad9510db1e8dca220eeb86 Gerrit-Change-Number: 21803 Gerrit-PatchSet: 26 Gerrit-Owner: Michael Smith <[email protected]> Gerrit-Reviewer: Andrew Sherman <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Jason Fehr <[email protected]> Gerrit-Reviewer: Joe McDonnell <[email protected]> Gerrit-Reviewer: Michael Smith <[email protected]> Gerrit-Reviewer: Quanlong Huang <[email protected]> Gerrit-Comment-Date: Tue, 17 Dec 2024 22:37:45 +0000 Gerrit-HasComments: Yes
