[Mageia-dev] [soft-commits] [6240] various optimizations from mdv svn

Thierry Vignaud thierry.vignaud at gmail.com
Mon Oct 15 23:50:41 CEST 2012


On 15 October 2012 22:47,  <root at mageia.org> wrote:
> --- rpm/urpmi/trunk/NEWS	2012-10-15 17:51:47 UTC (rev 6239)
> +++ rpm/urpmi/trunk/NEWS	2012-10-15 20:47:50 UTC (rev 6240)
> @@ -1,5 +1,6 @@
>  - do not use aria2 deprecated option (Sam Bailey, mga#7781)
> -- do not offer to remove DKMS modules for current kernel (mga#5092
> +- do not offer to remove DKMS modules for current kernel (mga#5092)
> +- aria2 optimisations from mdv svn
>
>  Version 7.9 - 11 October 2012, by Thierry Vignaud
>
>
> Modified: rpm/urpmi/trunk/urpm/download.pm
> ===================================================================
> --- rpm/urpmi/trunk/urpm/download.pm	2012-10-15 17:51:47 UTC (rev 6239)
> +++ rpm/urpmi/trunk/urpm/download.pm	2012-10-15 20:47:50 UTC (rev 6240)
> @@ -93,13 +93,6 @@
>  	    $urpm->{log}(N("%s is not available, falling back on %s",
> $requested_downloader, $preferred));
>  	}
>      }
> -    # in some cases, we may want not to use metalink (aria2) since it can
> -    # cause issues, see #53434 for example
> -    if ($metalink_disabled && member($preferred, @metalink_downloaders)) {
> -	$urpm->{log}("not using $preferred since metalink has been disabled");
> -	my @no_metalink = urpm::util::difference2(\@available,
> \@metalink_downloaders);
> -	$preferred = $no_metalink[0];
> -    }
>
>      if ($$use_metalink && !member($preferred, @metalink_downloaders)) {
>  	$warned{not_using_metalink}++ or
> @@ -699,19 +692,24 @@
>
>      my $aria2c_command = join(" ", map { "'$_'" }
>  	"/usr/bin/aria2c", $options->{debug} ? ('--log',
> "$options->{dir}/.aria2.log") : @{[]},
> -	"--auto-file-renaming=false",
> +	'--auto-file-renaming=false',
>  	'--ftp-pasv',
> -	"--follow-metalink=mem",
> +	'--summary-interval=0',
> +	'--follow-metalink=mem',
>        $medium->{mirrorlist} ? (
> -	'--metalink-enable-unique-protocol=false', # so that it can try both ftp
> and http access on the same server. aria2 will only do this on first calls
> -	'--max-tries=1', # nb: not using $options->{retry}
> +	'--metalink-enable-unique-protocol=true', # do not try to connect to the
> same server using the same protocol
> +	 '--metalink-preferred-protocol=http', # try http as first protocol as
> they're stateless and
> +	                                       # will put less strain on ie. the
> ftp servers which connections
> +	                                       # are statefull for, causing
> unhappy mirror admins complaining
> +	                                       # about increase of connections,
> increasing resource usage.
> +	'--max-tries=5', # nb: not using $options->{retry}
>  	'--lowest-speed-limit=20K', "--timeout", 3,
>          '--split=3', # maximum number of servers to use for one download
>          '--uri-selector=adaptive', "--server-stat-if=$stat_file",
> "--server-stat-of=$stat_file",
> -        $options->{is_versioned} ? @{[]} : '--max-file-not-found=3', #
> number of not found errors on different servers before aborting file
> download
> +        $options->{is_versioned} ? @{[]} : '--max-file-not-found=9', #
> number of not found errors on different servers before aborting file
> download

You should have keep their changelog isntead of "optimizations", like:
"- reenable aria2 + metalink for downloading metadata by default to
make it more reliable
- try tune aria2 download parameters for faster and more reliable options
- suppress aria2's printing of summaries to avoid it confusing urpmi
parsing the output"

Please edit NEWS (as well as SVN log)
Also it would have been better to commit them one at a time.
Have you tested them?

>          '--connect-timeout=6', # $CONNECT_TIMEOUT,
>        ) : @{[]},
> -	"-Z", "-j1",
> +	'-Z', '-j1',

That bit was unneeded. But that's OK.


More information about the Mageia-dev mailing list