Skip to content

Commit 980ad9a

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

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

tests/aio/query/test_query_session_pool.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,12 +71,18 @@ 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
7475
async def callee(tx: QueryTxContext):
76+
nonlocal retry_no
77+
if retry_no < 2:
78+
retry_no += 1
79+
raise ydb.Unavailable("Fake fast backoff error")
7580
result_stream = await tx.execute("SELECT 1")
7681
return [result_set async for result_set in result_stream]
7782

7883
result = await pool.retry_tx_async(callee=callee, tx_mode=tx_mode)
7984
assert len(result) == 1
85+
assert retry_no == 2
8086

8187
@pytest.mark.asyncio
8288
async def test_retry_tx_raises(self, pool: QuerySessionPool):

tests/query/test_query_session_pool.py

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

6873
result = pool.retry_tx_sync(callee=callee, tx_mode=tx_mode)
6974
assert len(result) == 1
75+
assert retry_no == 2
7076

7177
def test_retry_tx_raises(self, pool: QuerySessionPool):
7278
class CustomException(Exception):

0 commit comments

Comments
 (0)