@@ -1547,18 +1547,22 @@ def test_llm_context_only_timed_out(transceiver_runtime):
15471547 disaggregated_params = disaggregated_params ):
15481548 print (output )
15491549
1550+ # Wait until the context-only request has allocated KV cache blocks
15501551 max_retries = 10
1552+ all_results = []
15511553 for _ in range (max_retries ):
15521554 results = llm .get_stats (2 )
1553- if len (results ) == 1 :
1555+ all_results .extend (results )
1556+ if all_results and all_results [- 1 ]["kvCacheStats" ]["usedNumBlocks" ] > 0 :
15541557 break
15551558 time .sleep (1 )
15561559 else :
15571560 pytest .fail (
1558- f"Failed to get stats with len==1 after { max_retries } retries" )
1561+ f"Context-only KV cache blocks not allocated after { max_retries } retries"
1562+ )
1563+ results = all_results
15591564
1560- assert len (results ) == 1
1561- context_only_used_num_blocks = results [0 ]["kvCacheStats" ]["usedNumBlocks" ]
1565+ context_only_used_num_blocks = results [- 1 ]["kvCacheStats" ]["usedNumBlocks" ]
15621566 print (f"Context only used num blocks: { context_only_used_num_blocks } " )
15631567
15641568 # Sleep 5 seconds to allow context only request to time out
@@ -1568,11 +1572,21 @@ def test_llm_context_only_timed_out(transceiver_runtime):
15681572 for output in llm .generate (prompts0 , sampling_params = sampling_params ):
15691573 print (output )
15701574
1571- # Get number of allocated blocks
1572- results = llm .get_stats (2 )
1573- assert len (results ) == 1
1574- final_used_num_blocks = results [0 ]["kvCacheStats" ]["usedNumBlocks" ]
1575+ # Wait until KV cache blocks are released (usedNumBlocks == 0)
1576+ max_retries = 10
1577+ all_results = []
1578+ for _ in range (max_retries ):
1579+ results = llm .get_stats (2 )
1580+ all_results .extend (results )
1581+ if all_results and all_results [- 1 ]["kvCacheStats" ]["usedNumBlocks" ] == 0 :
1582+ break
1583+ time .sleep (1 )
1584+ else :
1585+ pytest .fail (
1586+ f"KV cache blocks not released after { max_retries } retries" )
1587+ results = all_results
15751588
1589+ final_used_num_blocks = results [- 1 ]["kvCacheStats" ]["usedNumBlocks" ]
15761590 assert final_used_num_blocks == 0
15771591
15781592
0 commit comments