@@ -699,18 +699,28 @@ def mirror_file(self,
699
699
source = self .repository_plugin (catalog ).source_ref_cls .from_json (source_json )
700
700
file = self .load_file (catalog , file_json )
701
701
assert file .size is not None , R ('File size unknown' , file )
702
- part_size = FilePart . default_size
703
- if file .size > part_size :
704
- upload_id = self . mirror_service . begin_mirroring_file ( file )
705
- parts = list ( FilePart . partition ( file , part_size ))
706
- log . info ( 'Mirroring %d parts for file %r in source %r from catalog %r' ,
707
- len ( parts ), file . uuid , str ( source . spec ), catalog )
708
- messages = self . mirror_parts_messages ( catalog , source , file , parts , upload_id )
709
- self . queue_mirror_messages ( messages )
702
+
703
+ file_is_large = file .size > 10 * 1024 ** 2
704
+ deployment_is_stable = ( config . deployment . is_stable
705
+ and not config . deployment . is_unit_test
706
+ and catalog not in config . integration_test_catalogs )
707
+ if file_is_large and not deployment_is_stable :
708
+ log . info ( 'Not mirroring file %r (%d bytes) to save cost' ,
709
+ file . uuid , file . size )
710
710
else :
711
- log .info ('Mirroring file %r in source %r from catalog %r' ,
712
- file .uuid , str (source .spec ), catalog )
713
- self .mirror_service .mirror_file (catalog , file )
711
+ # Ensure we test with multiple parts on lower deployments
712
+ part_size = FilePart .default_size if deployment_is_stable else FilePart .min_size
713
+ if file .size > part_size :
714
+ upload_id = self .mirror_service .begin_mirroring_file (file )
715
+ parts = list (FilePart .partition (file , part_size ))
716
+ log .info ('Mirroring %d parts for file %r in source %r from catalog %r' ,
717
+ len (parts ), file .uuid , str (source .spec ), catalog )
718
+ messages = self .mirror_parts_messages (catalog , source , file , parts , upload_id )
719
+ self .queue_mirror_messages (messages )
720
+ else :
721
+ log .info ('Mirroring file %r in source %r from catalog %r' ,
722
+ file .uuid , str (source .spec ), catalog )
723
+ self .mirror_service .mirror_file (catalog , file )
714
724
715
725
def load_file (self , catalog : CatalogName , file : JSON ) -> File :
716
726
return self .metadata_plugin (catalog ).file_class .from_json (file )
0 commit comments