Review Request 121913: Prevent querying attica with invalid categories
Harald Sitter
sitter at kde.org
Thu Jan 8 12:33:38 UTC 2015
> On Jan. 8, 2015, 12:01 p.m., Aleix Pol Gonzalez wrote:
> > libmuon/backends/KNSBackend/KNSBackend.cpp, line 170
> > <https://git.reviewboard.kde.org/r/121913/diff/1/?file=339049#file339049line170>
> >
> > m_categories.isEmpty()?
lol, now I am ashamed
- Harald
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/121913/#review73479
-----------------------------------------------------------
On Jan. 8, 2015, 9:47 a.m., Harald Sitter wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/121913/
> -----------------------------------------------------------
>
> (Updated Jan. 8, 2015, 9:47 a.m.)
>
>
> Review request for Kubuntu and Muon Package Management Suite.
>
>
> Repository: muon
>
>
> Description
> -------
>
> For as of right now unknown reasons looking for providers
> plasmoids.knsrc and getting opendesktop.org and then asking it for valid
> categories can return no category match for plasmoids.
> Which in turn makes us query for content pertaining to an invalid category.
>
> What happens is that Provider::searchContents will come back with content
> matching every category of that provider (and every name), so we are
> looking at thousands of entries in 100-entry batches to receive which is
> neither fast nor efficient nor anything really.
> To safe guard against this sort of misbehavior explicitly remove all
> ?possible-category? entries that have not been matched up to a valid
> Attica::Category and return if there are none to search for.
>
> Random background:
> m_categories keys get filled based on configuration values for possible
> resources, only in categoriesLoaded those entries are then matched up with
> actual categories the provider knows about. If one of the expected keys
> does not exist on the Provider we have a dangling entry in the Map ala
> <"Kitten", Category()>. There is no point in hurling those at Attica
> regardless of the cause that ultimately causes the present category
> problems. This is worsened by the fact that muon-updater needs to wait
> for all resources to fetching=false before it can display anything which
> means that having KSNBackend stuck in fetching on account of getting
> all the data a provider has on everything will block the entire upgrade
> and either making it appear as though muon is broken or there are no
> updates.
>
>
> Diffs
> -----
>
> libmuon/backends/KNSBackend/KNSBackend.cpp edc4f0ac6d2060930ab00c698a60cff74ad64107
>
> Diff: https://git.reviewboard.kde.org/r/121913/diff/
>
>
> Testing
> -------
>
> without patch: muon-updater never shows anything (as long as opendesktop is resolved as provider, which actually doesn't happen all that often for some reason Oo)
>
> patch & make & make install & muon-updater => everything awesome again
>
>
> Thanks,
>
> Harald Sitter
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/kubuntu-devel/attachments/20150108/d573d214/attachment-0001.html>
More information about the kubuntu-devel
mailing list