@@ -222,7 +222,6 @@ def __init__(self, test_class):
222
222
self ._listeners : Dict [str , EventListenerUtil ] = {}
223
223
self ._session_lsids : Dict [str , Mapping [str , Any ]] = {}
224
224
self .test : UnifiedSpecTestMixinV1 = test_class
225
- self ._cluster_time : Mapping [str , Any ] = {}
226
225
227
226
def __contains__ (self , item ):
228
227
return item in self ._entities
@@ -421,13 +420,11 @@ def get_lsid_for_session(self, session_name):
421
420
# session has been closed.
422
421
return self ._session_lsids [session_name ]
423
422
424
- async def advance_cluster_times (self ) -> None :
423
+ async def advance_cluster_times (self , cluster_time ) -> None :
425
424
"""Manually synchronize entities when desired"""
426
- if not self ._cluster_time :
427
- self ._cluster_time = (await self .test .client .admin .command ("ping" )).get ("$clusterTime" )
428
425
for entity in self ._entities .values ():
429
- if isinstance (entity , AsyncClientSession ) and self . _cluster_time :
430
- entity .advance_cluster_time (self . _cluster_time )
426
+ if isinstance (entity , AsyncClientSession ) and cluster_time :
427
+ entity .advance_cluster_time (cluster_time )
431
428
432
429
433
430
class UnifiedSpecTestMixinV1 (AsyncIntegrationTest ):
@@ -1044,7 +1041,7 @@ async def _testOperation_targetedFailPoint(self, spec):
1044
1041
1045
1042
async def _testOperation_createEntities (self , spec ):
1046
1043
await self .entity_map .create_entities_from_spec (spec ["entities" ], uri = self ._uri )
1047
- await self .entity_map .advance_cluster_times ()
1044
+ await self .entity_map .advance_cluster_times (self . _cluster_time )
1048
1045
1049
1046
def _testOperation_assertSessionTransactionState (self , spec ):
1050
1047
session = self .entity_map [spec ["session" ]]
@@ -1446,8 +1443,8 @@ async def _run_scenario(self, spec, uri=None):
1446
1443
# process initialData
1447
1444
if "initialData" in self .TEST_SPEC :
1448
1445
await self .insert_initial_data (self .TEST_SPEC ["initialData" ])
1449
- self ._cluster_time = ( await self .client .admin . command ( "ping" )). get ( "$clusterTime" )
1450
- await self .entity_map .advance_cluster_times ()
1446
+ self ._cluster_time = self .client ._topology . max_cluster_time ( )
1447
+ await self .entity_map .advance_cluster_times (self . _cluster_time )
1451
1448
1452
1449
if "expectLogMessages" in spec :
1453
1450
expect_log_messages = spec ["expectLogMessages" ]
0 commit comments