Ticket #8719 (closed: fixed)
[ICAT] Mantid hang when running catalog algorithms via dialogs
Reported by: | Jay Rainey | Owned by: | Jay Rainey |
---|---|---|---|
Priority: | critical | Milestone: | Release 3.1 |
Component: | Framework | Keywords: | ICAT |
Cc: | Blocked By: | ||
Blocking: | Tester: | Peter Parker |
Description
If the user tries to run the catalogSearch algorithm if they are not logged into the catalog it hangs. This is due to performing the search with an empty session ID.
Change History
comment:1 Changed 7 years ago by Jay Rainey
- Summary changed from [ICAT] Mantid hang when search to [ICAT] Mantid hang when seaching via algorithm dialog
comment:3 Changed 7 years ago by Jay Rainey
- Status changed from inprogress to verify
- Resolution set to fixed
comment:4 Changed 7 years ago by Jay Rainey
- Summary changed from [ICAT] Mantid hang when seaching via algorithm dialog to [ICAT] Mantid hang when running catalog algorithms via dialogs
Throw an exception if soapEndPoint is empty. Refs #8719.
Changeset: 8b241f19a254db1f3d98691c295de0c1319b89fe
comment:5 Changed 7 years ago by Jay Rainey
Log error instead of throwing exception. Refs #8719.
- As catalogPublish uses a custom dialog, throwing an exception causes Mantid to show a fatal error message.
Changeset: 3b3ba3d40eeea1d5fb78f6b3ccf4e48635f3febe
comment:6 Changed 7 years ago by Jay Rainey
Merge branch 'feature/8719_icat_dialog_hang' into develop. Refs #8719.
Conflicts:
- Code/Mantid/Framework/ICat/src/ICat4/ICat4Catalog.cpp
Changeset: b48cd7e4d1aa555103ea71f11d50454168b70d18
comment:7 Changed 7 years ago by Jay Rainey
No need to log the message. Refs #8719.
The ICAT server returns the correct error message when the session is not set.
Changeset: 8437b5f56552a1be062774e026332b1387d570cc
comment:8 Changed 7 years ago by Jay Rainey
The problem was not with the sessionID, but thesoapEndPoint not being set.
The soapEndPoint is set when the user logs into the catalog. As such, when a dialog was run without having logged into the catalog Mantid would hang. This was due to the gSoap generated code making a request with a NULL session ID.
Instead, I have opted to return early in setICATProxySettings(). This prevents the soapEndPoint being set and ICAT (gSoap file) returns the correct (invalid session) error.
To test
- Open Mantid.
- From the Algorithms menu enter CatalogSearch and press enter. Mantid will no longer hang and a friendly error message will be output to the user.
comment:9 Changed 7 years ago by Peter Parker
- Status changed from verify to verifying
- Tester set to Peter Parker
comment:10 Changed 7 years ago by Peter Parker
- Status changed from verifying to closed
Merge remote-tracking branch 'origin/feature/8719_icat_dialog_hang'
Full changeset: 034a7ce0392c4065723624372185fdc2d3a47300
comment:11 Changed 7 years ago by Jay Rainey
Log error instead of throwing exception. Refs #8719.
- As catalogPublish uses a custom dialog, throwing an exception causes Mantid to show a fatal error message.
Changeset: 1741039d253f32ec850e5d03c52dc6b587a1a947
comment:12 Changed 7 years ago by Jay Rainey
Merge branch 'feature/8719_icat_dialog_hang' into develop. Refs #8719.
Conflicts:
- Code/Mantid/Framework/ICat/src/ICat4/ICat4Catalog.cpp
Changeset: b48cd7e4d1aa555103ea71f11d50454168b70d18
comment:13 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 9563