On 09/29/11 07:19, Edward Pilatowicz wrote:
On Wed, Sep 28, 2011 at 10:28:55PM -0700, Shawn Walker wrote:
On 09/28/11 13:48, Edward Pilatowicz wrote:
On Tue, Sep 27, 2011 at 04:49:06PM -0700, Shawn Walker wrote:
Greetings,
The following diff (and webrev) contains the fix for the following issue:
18976 pkg solver needs to go on a dependency diet
https://cr.opensolaris.org/action/browse/pkg/swalker/pkg-18976/webrev/
diff -r 32ef5a3b4c12 src/modules/client/pkg_solver.py
--- a/src/modules/client/pkg_solver.py Mon Sep 26 12:36:10 2011 -0700
+++ b/src/modules/client/pkg_solver.py Tue Sep 27 16:33:49 2011 -0700
@@ -1129,6 +1129,9 @@
f
for da in self.__get_dependency_actions(fmri,
excludes)
+ if da.attrs["type"] != "incorporate" and
+ da.attrs["type"] != "optional" and
+ da.attrs["type"] != "exclude"
for f in self.__parse_dependency(da, fmri,
dotrim, check_req=True)[1]
])
This fix reduced total update operation time on my system by roughly
66%. If you exclude image planning execution time, the reduction is
91%. Details are below.
first, this is awesome.
my only comment on the fix is that you could also skip "parent"
dependencies. actually, parent dependencies shouldn't be part of
possible_set, so we probably should have already been skipping them here
already. of course it hasn't caused a problem yet since the only parent
dependencies we have so far are the special "self" ones. if you don't
want to skip them in this wad let me know and i'll get a separate bug
filed.
Actually, it seems like parent dependencies could affect the
possible set if the fmri isn't for "self" and self.__parent_pkgs is
defined.
well, ultimately, yes it affects what can possibly be installed, but we
figure that out later when we trim packages with unsatisfied parent
dependencies. if we had non-self parent dependencies, then adding them
to be possible_set would actually be kinda broken.
I tried adding parent to the list of dependencies that aren't parsed
and it made no difference in upgrade times (at least for my test
cases, which admittedly weren't with any zones).
Given my uncertainty surrounding that, I'd rather we file a separate
bug to investigate parent dependencies specifically since we have
already said that we may be able to move the parsing/trimming of
them earlier.
sure. i'll get that filed.
End and I discussed this offline and after testing and going through the
logic again, felt it safe to also exclude parent dependencies here.
As such, I've done that in my putback.
-Shawn
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss