Ticket #9942 (closed: fixed)
ISIS Refl GUI needs to limit ICAT queries to a set number
Reported by: | Martyn Gigg | Owned by: | Owen Arnold |
---|---|---|---|
Priority: | major | Milestone: | Release 3.3 |
Component: | Reflectometry | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Tester: | Harry Jeffery |
Description
From Tom:
Hello, It sounds like Mantid is passing queries to ICAT without a 'LIMIT' paging argument in the query. These pull back >100,000 results from the database and cause OutOfMemory issues. We plan to limit these very large queries on the server side, but it would give a better user experience if Mantid restricted the queries via paging. Thanks, Tom -----Original Message----- Subject: FW: ** PROBLEM alert - icatisis/check-glassfish is CRITICAL ** Hi Tom, This seems to have been caused by somebody asking for all datafiles in datasets where the investigation name is zero again: 2014-07-16 09:19:18,571 [http-listener-2(4)] INFO BeanManager - uows/9743 searching for Datafile <-> Dataset <-> Investigation[name = '0'] which is Dr Maximilian Skoda in ISIS according to the ICAT user table. I presume this is Mantid related activity? Cheers, Kevin
I think the issue here is with the CatalogGetDataFiles algorithm. It currently doesn't set the LIMIT parameter in the ICAT query so it tries to access everything. We need to look at how paging was implemented in the main ICat interface and do something similar (or create some kind of reusable widget).
In any case I think it would be a good idea for all of the ICAT algorithms to have a default limit set (something like 100) to avoid this problem.
Change History
comment:2 Changed 6 years ago by Owen Arnold
- Status changed from assigned to inprogress
refs #9942. Limit rb search from Refl UI
Simple change as this user interface is soon to be deprecated. Users will not be able to enter zero as an rb search number now.
Changeset: 12efeaf4d6253b904f175595e04e2d25c9f78c1c
comment:3 Changed 6 years ago by Owen Arnold
For the tester.
Setup steps:
- Open MantidPlot
- Open the ReflGUI, interfaces -> reflectometry -> isis reflectometry
- You will see an RB search box
- Enter nothing. Hit 'search'. Nothing should happen
- Enter a number > 0. Hit 'search'. You should be presented with the ICAT login dialog. Press cancel on that dialog
- Enter 0. Hit 'search' you will get a warning, the text will be cleared from the search box. You will not get to the point of being able to log into ICAT.
comment:4 Changed 6 years ago by Owen Arnold
- Status changed from inprogress to verify
- Resolution set to fixed
comment:5 Changed 6 years ago by Harry Jeffery
- Status changed from verify to verifying
- Tester set to Harry Jeffery
comment:6 Changed 6 years ago by Harry Jeffery
- Status changed from verifying to closed
Merge remote-tracking branch 'origin/feature/9942_limit_accepted_rb'
Full changeset: e5c8a5e8c4759708496544f334d96bf9f5a79950