Bug 847014 - Resource tree not complete when more than 200 children
Summary: Resource tree not complete when more than 200 children
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: RHQ Project
Classification: Other
Component: Core UI
Version: 4.4
Hardware: All
OS: All
medium
urgent
Target Milestone: ---
: RHQ 4.5.0
Assignee: Jay Shaughnessy
QA Contact: Mike Foley
URL:
Whiteboard:
: 753141 848851 (view as bug list)
Depends On: 784571 848851
Blocks: 849761
TreeView+ depends on / blocked
 
Reported: 2012-08-09 13:08 UTC by Jay Shaughnessy
Modified: 2013-09-01 10:15 UTC (History)
7 users (show)

Fixed In Version:
Clone Of: 784571
Environment:
Last Closed: 2013-09-01 10:15:08 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 848853 0 unspecified CLOSED The resource tree should visually notify when resource pruning has been applied 2021-02-22 00:41:40 UTC
Red Hat Bugzilla 849751 0 high CLOSED RFE: protect resource tree from direct navigation to a resource with many siblings 2021-02-22 00:41:40 UTC

Internal Links: 848853 849751

Comment 1 Jay Shaughnessy 2012-08-09 13:25:27 UTC
master commit 396b48fde3613c359b49ca4b776ee18fa39f3865

Allow an unlimited number of children when expanding the tree node. Although
this may create a large vertical expansion, it may also be what the
user wants.  See BZ comments for more on the approach and alternatives
but basically, take this [easy] approach until it's clear that users, or UX,
want something else.

Comment 2 Jay Shaughnessy 2012-08-16 15:12:09 UTC
*** Bug 848851 has been marked as a duplicate of this bug. ***

Comment 3 Jay Shaughnessy 2012-08-16 16:50:10 UTC
master commit 30a6818e7ae101dc8df7edc198c5ee9ac790683e

We decided not to allow an unlimited number of child resources be returned
when expanding a node in the tree.  But there are major problems with
simply limiting the children to 200.  This is what we do today, and the
results are unordered. Meaning you can lose any number of resources of
any types and it is not possible to know what you are missing. And we don't
indicate that the tree is incomplete. If we add ordering (alphabetical by
resource name) you still lose any number of resources, but always the same
ones.  In this way it is much easier to realize that you are missing
child resources (and/or entire child types) because the resources returned
obviously stop as some lexigraphical point.

Still, we don't want to allow an unbounded fetch in the GUI.  The solution
here is to move the unbounded fetch to the server side and to introduce
SLSB support to prune the results and return the pruned child set.  In this
way we can limit the max child resources while returning a much more
reasonable resource set.

The way it works is as follows: There are two variable in use:

maxResources
Will not return more than this number of resources.  If the original fetch
exceeds maxResources then maxResourcesByType will be enforced.  If, after
trimming by type, maxResources is still exceeded, then the tail
resources (assuming a sorted set) will be removed to enforce the limit.
If <=0 the default (currently set to 1000) will be used.

maxResourcesByType
If maxResources is exceeded by the initial result set then members of each
type will be trimmed down to meet this limit.
If <=0 the default (currently set to 200) will be used.

The defaults may change after this check-in based on testing results. The
GUI will not set these values in the fetch, so the defaults will be applied.

The default values can be overriden (and applied to all fetches/sessions) by
setting the following system properties (in rhq-server.properties and restarting):
rhq.server.findResourcesByCriteriaBounded.maxResources
rhq.server.findResourcesByCriteriaBounded.maxResourcesByType

So, this allows us to:
- Avoid an unbounded fetch.
- Have any distribution of child resources of various types as long as the
  maxResources limit is not exceeded.
- Apply an even and understandable pruning when necessary.

It does not yet allow us to indicate in the tree which resource types have
been pruned.  This will be a future enhancement and tracked as
https://bugzilla.redhat.com/show_bug.cgi?id=848853.

Comment 4 Jay Shaughnessy 2012-08-16 20:17:56 UTC
Test Notes:

See the comments in bug 784571.

Comment 5 Jay Shaughnessy 2012-08-20 18:32:47 UTC
*** Bug 753141 has been marked as a duplicate of this bug. ***

Comment 6 Heiko W. Rupp 2013-09-01 10:15:08 UTC
Bulk closing of items that are on_qa and in old RHQ releases, which are out for a long time and where the issue has not been re-opened since.


Note You need to log in before you can comment on or make changes to this bug.