Ticket #9942 (closed: fixed)

Opened 6 years ago

Last modified 5 years ago

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:1 Changed 6 years ago by Nick Draper

  • Status changed from new to assigned

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
  1. Enter nothing. Hit 'search'. Nothing should happen
  2. Enter a number > 0. Hit 'search'. You should be presented with the ICAT login dialog. Press cancel on that dialog
  3. 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

comment:7 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 10784

Note: See TracTickets for help on using tickets.