Skip to content

Commit ba5c216

Browse files
committed
add retry logic to normal case tests
1 parent 030275b commit ba5c216

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

tests/aio/query/test_query_session_pool.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,19 @@ async def callee(session: QuerySession):
7171
)
7272
@pytest.mark.asyncio
7373
async def test_retry_tx_normal(self, pool: QuerySessionPool, tx_mode: Optional[ydb.BaseQueryTxMode]):
74+
retry_no = 0
75+
7476
async def callee(tx: QueryTxContext):
77+
nonlocal retry_no
78+
if retry_no < 2:
79+
retry_no += 1
80+
raise ydb.Unavailable("Fake fast backoff error")
7581
result_stream = await tx.execute("SELECT 1")
7682
return [result_set async for result_set in result_stream]
7783

7884
result = await pool.retry_tx_async(callee=callee, tx_mode=tx_mode)
7985
assert len(result) == 1
86+
assert retry_no == 2
8087

8188
@pytest.mark.asyncio
8289
async def test_retry_tx_raises(self, pool: QuerySessionPool):

tests/query/test_query_session_pool.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,19 @@ def callee(session: QuerySession):
6161
],
6262
)
6363
def test_retry_tx_normal(self, pool: QuerySessionPool, tx_mode: Optional[ydb.BaseQueryTxMode]):
64+
retry_no = 0
65+
6466
def callee(tx: QueryTxContext):
67+
nonlocal retry_no
68+
if retry_no < 2:
69+
retry_no += 1
70+
raise ydb.Unavailable("Fake fast backoff error")
6571
result_stream = tx.execute("SELECT 1")
6672
return [result_set for result_set in result_stream]
6773

6874
result = pool.retry_tx_sync(callee=callee, tx_mode=tx_mode)
6975
assert len(result) == 1
76+
assert retry_no == 2
7077

7178
def test_retry_tx_raises(self, pool: QuerySessionPool):
7279
class CustomException(Exception):

0 commit comments

Comments
 (0)