<tt><font size=2>Lubos Kardos <lkardos@redhat.com> wrote on 04/29/2016
06:40:16 AM:<br><br>> <br>> It is just a thought. Rpm transaction can be divided in two phases.</font></tt><br><tt><font size=2>> In the first phase in the beginning of transaction
rpm loads all file infos to<br>> perform transactions checks and then releases them. In the second
phase rpm<br>> reloads single file infos to install single packages in row. The memory
peak<br>> happens in the first phase when all file infos are loaded. These file
infos<br>> contain also file signatures but in the first phase they needn't to
contain<br>> them because the signature checking is performed only in the second
phase.<br>> <br>> So if the file signatures blow up the file infos so much so we need
<br>> to increase<br>> maximum header size then maybe it would be nice not to load file signatures<br>> into file infos during the first phase of transaction when the rpm
memory peak<br>> happens.</font></tt><br><br><tt><font size=2>I agreed and it would be a separate patch.</font></tt><br><br><tt><font size=2>I didn't look very deeply, but how does one detect
the phases? I suppose the part</font></tt><br><tt><font size=2>to skip would be in lib/trpmfi.c::rpmfilePopulate
where the flag RPMFI_NOFILESIGNATURES is</font></tt><br><tt><font size=2>checked. If that's the case, maybe the 1st phase could
call this function with this</font></tt><br><tt><font size=2>flag always set?</font></tt><br><br><tt><font size=2>    Stefan</font></tt><br><tt><font size=2><br>> <br>> Lubos<br>> <br>> ----- Original Message -----<br>> > From: "Florian Festi" <ffesti@redhat.com><br>> > To: "Stefan Berger" <stefanb@us.ibm.com><br>> > Cc: rpm-maint@lists.rpm.org<br>> > Sent: Friday, April 29, 2016 10:27:39 AM<br>> > Subject: Re: [Rpm-maint] [PATCH 4/5] Extend header size to 64MB
<br>> due to file signatures<br>> > <br>> > On 04/27/2016 09:47 PM, Stefan Berger wrote:<br>> > > "Rpm-maint" <rpm-maint-bounces@lists.rpm.org>
wrote on 04/27/2016<br>> > > 05:50:54 AM:<br>> > > <br>> > > <br>> > >><br>> > >> Well changing header size limit needs a bit more thought.
The main<br>> > >> problem is that packages with bigger header will look
broken on older<br>> > >> rpm versions and the usual way of dealing with this
(adding rpmlib()<br>> > >> Requires) won't work it needs reading the header.<br>> > > <br>> > > These huge headers are only occurring in a few very large
packages and<br>> > > only if one applies the per-file signatures. So most users
probably<br>> > > won't notice.<br>> > > <br>> > >><br>> > >> Also I wonder if we should increase the header size
even more, to get<br>> > >> rid of this topic for a longer time. I thought about
256MB which gives a<br>> > >> 4 times increase over the 16MB. I am kinda tempted to
go even further.<br>> > >> Otoh the limit is there for a reason. And having rpm
chew through one GB<br>> > >> of broken data doesn't sound like a pleasant experience.<br>> > > <br>> > > Anything >=16 MB works with signed files for all packages
in Fedora 23.<br>> > > Let me know if you want me to resubmit the patch with a
higher limit.<br>> > <br>> > Yes, please. 256MB is probably the way to go. Let's hope we don't
reach<br>> > that any time soon.<br>> > <br>> > Florian<br>> > <br>> > --<br>> > <br>> > Red Hat GmbH, </font></tt><a href=http://www.de.redhat.com/><tt><font size=2>http://www.de.redhat.com/</font></tt></a><tt><font size=2>,
Registered seat: Grasbrunn,<br>> > Commercial register: Amtsgericht Muenchen, HRB 153243,<br>> > Managing Directors: Paul Argiry, Charles Cachera, Michael Cunningham,<br>> > Michael O'Neill<br>> > _______________________________________________<br>> > Rpm-maint mailing list<br>> > Rpm-maint@lists.rpm.org<br>> > </font></tt><a href="http://lists.rpm.org/mailman/listinfo/rpm-maint"><tt><font size=2>http://lists.rpm.org/mailman/listinfo/rpm-maint</font></tt></a><tt><font size=2><br>> > <br>> <br></font></tt><BR>