@@ -208,17 +208,36 @@ def test_concurrent_delete_append_retries_successfully(catalog: Catalog) -> None
208208
209209 tbl1 .delete ("x == 1" )
210210
211+ print (f"DEBUG tbl1.metadata.current_snapshot_id={ tbl1 .metadata .current_snapshot_id } " )
212+ print (f"DEBUG tbl2.metadata.current_snapshot_id={ tbl2 .metadata .current_snapshot_id } " )
213+ print (f"DEBUG tbl1.metadata is tbl2.metadata: { tbl1 .metadata is tbl2 .metadata } " )
214+ print (f"DEBUG tbl1 is tbl2: { tbl1 is tbl2 } " )
215+ print (f"DEBUG id(tbl1)={ id (tbl1 )} id(tbl2)={ id (tbl2 )} " )
216+ print (f"DEBUG id(tbl1.metadata)={ id (tbl1 .metadata )} id(tbl2.metadata)={ id (tbl2 .metadata )} " )
217+
211218 original_rebuild = Transaction ._rebuild_snapshot_updates
212219 rebuild_count = 0
213220
214221 def counting_rebuild (self_tx : Transaction ) -> None :
215222 nonlocal rebuild_count
216223 rebuild_count += 1
224+ print (f"DEBUG _rebuild_snapshot_updates called, count={ rebuild_count } " )
217225 original_rebuild (self_tx )
218226
219- with patch .object (Transaction , "_rebuild_snapshot_updates" , counting_rebuild ):
227+ original_do_commit = type (tbl2 )._do_commit
228+ commit_count = 0
229+
230+ def counting_do_commit (self , updates , requirements ):
231+ nonlocal commit_count
232+ commit_count += 1
233+ print (f"DEBUG _do_commit called, count={ commit_count } " )
234+ return original_do_commit (self , updates , requirements )
235+
236+ with patch .object (Transaction , "_rebuild_snapshot_updates" , counting_rebuild ), \
237+ patch .object (type (tbl2 ), "_do_commit" , counting_do_commit ):
220238 tbl2 .append (df )
221239
240+ print (f"DEBUG rebuild_count={ rebuild_count } commit_count={ commit_count } " )
222241 assert rebuild_count == 1
223242
224243 refreshed = catalog .load_table ("default.del_app_test" )
0 commit comments