|  | @@ -817,9 +817,10 @@ class Repository:
 | 
	
		
			
				|  |  |                  elif tag == TAG_DELETE and not in_index:
 | 
	
		
			
				|  |  |                      # If the shadow index doesn't contain this key, then we can't say if there's a shadowed older tag,
 | 
	
		
			
				|  |  |                      # therefore we do not drop the delete, but write it to a current segment.
 | 
	
		
			
				|  |  | -                    shadowed_put_exists = key not in self.shadow_index or any(
 | 
	
		
			
				|  |  | -                        # If the key is in the shadow index and there is any segment with an older PUT of this
 | 
	
		
			
				|  |  | -                        # key, we have a shadowed put.
 | 
	
		
			
				|  |  | +                    key_not_in_shadow_index = key not in self.shadow_index
 | 
	
		
			
				|  |  | +                    # If the key is in the shadow index and there is any segment with an older PUT of this
 | 
	
		
			
				|  |  | +                    # key, we have a shadowed put.
 | 
	
		
			
				|  |  | +                    shadowed_put_exists = key_not_in_shadow_index or any(
 | 
	
		
			
				|  |  |                          shadowed < segment for shadowed in self.shadow_index[key])
 | 
	
		
			
				|  |  |                      delete_is_not_stable = index_transaction_id is None or segment > index_transaction_id
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -865,6 +866,10 @@ class Repository:
 | 
	
		
			
				|  |  |                          self.compact[new_segment] += size
 | 
	
		
			
				|  |  |                          segments.setdefault(new_segment, 0)
 | 
	
		
			
				|  |  |                      else:
 | 
	
		
			
				|  |  | +                        logger.debug('dropping DEL for id %s - seg %d, iti %r, knisi %r, spe %r, dins %r, si %r',
 | 
	
		
			
				|  |  | +                                     bin_to_hex(key), segment, index_transaction_id,
 | 
	
		
			
				|  |  | +                                     key_not_in_shadow_index, shadowed_put_exists, delete_is_not_stable,
 | 
	
		
			
				|  |  | +                                     self.shadow_index.get(key))
 | 
	
		
			
				|  |  |                          # we did not keep the delete tag for key (see if-branch)
 | 
	
		
			
				|  |  |                          if not self.shadow_index[key]:
 | 
	
		
			
				|  |  |                              # shadowed segments list is empty -> remove it
 |