Skip to content

Commit 10e8ffd

Browse files
author
Greg Leclercq
committed
Fix cancel: request right endpoint to cancel a query
1 parent a8aa7d5 commit 10e8ffd

File tree

2 files changed

+7
-10
lines changed

2 files changed

+7
-10
lines changed

integration_tests/test_dbapi.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -120,11 +120,7 @@ def test_select_tpch_1000(presto_connection):
120120
def test_cancel_query(presto_connection):
121121
cur = presto_connection.cursor()
122122
cur.execute("select * from tpch.sf1.customer")
123-
cur.cancel()
124-
125-
with pytest.raises(prestodb.exceptions.PrestoUserError) as cancel_error:
126-
cur.fetchall()
127-
assert "Query was canceled" in str(cancel_error.value)
123+
cur.cancel() # would raise an exception if cancel fails
128124

129125
cur = presto_connection.cursor()
130126
with pytest.raises(Exception) as cancel_error:

prestodb/client.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -533,15 +533,16 @@ def fetch(self):
533533
def cancel(self):
534534
# type: () -> None
535535
"""Cancel the current query"""
536-
if self.is_finished():
536+
if self.query_id is None or self.is_finished():
537537
return
538538

539539
self._cancelled = True
540-
if self._request.next_uri is None:
541-
return
542-
543-
response = self._request.delete(self._request.next_uri)
540+
url = self._request.get_url("/v1/query/{}".format(self.query_id))
541+
logger.debug("cancelling query: %s", self.query_id)
542+
response = self._request.delete(url)
543+
logger.info(response)
544544
if response.status_code == requests.codes.no_content:
545+
logger.debug("query cancelled: %s", self.query_id)
545546
return
546547
self._request.raise_response_error(response)
547548

0 commit comments

Comments
 (0)