Ticket #8703 (closed: fixed)

Opened 7 years ago

Last modified 5 years ago

SNSLiveEventDataListener::connect hangs for a while the requested address can't be reached

Reported by: Russell Taylor Owned by: Russell Taylor
Priority: major Milestone: Release 3.1
Component: Framework Keywords: LiveData
Cc: Blocked By:
Blocking: Tester: Andrei Savici

Description

...and thus so does the Step Scan interface.

The answer (and I don't know why) seems to be to move the call to m_socket.setReceiveTimeout (unchanged, so still setting it to 30s) above the connect call.

Change History

comment:1 Changed 7 years ago by Russell Taylor

Actually, the above solution doesn't work. Probably the thing to do is to make the check asynchronous.

comment:2 Changed 7 years ago by Russell Taylor

BTW, #6939 was a previous incarnation of this ticket.

comment:3 Changed 7 years ago by Russell Taylor

  • Status changed from new to inprogress

Re #8703. Make the live stream check asynchrounous.

There are certain configurations of unavailability (e.g. host reachable but non-responsive) that cause the ILiveListener::checkConnection method to take a noticeable amount of time. We don't want to inhibit GUI initialisation in this scenario.

Changeset: 2242e54ec773ad8c1fcf85d8a0fe67142e62233f

comment:4 Changed 7 years ago by Russell Taylor

This work has impressed on me more something I already knew - that I should have made the live data part a separate class that has-a MWRunFiles instance inside.

comment:5 Changed 7 years ago by Russell Taylor

  • Status changed from inprogress to verify
  • Resolution set to fixed

It's probably unlikely at the time of testing that any of the ADARA instrument's (HYSPEC,SEQUOIA,VISION) SMS will be in a state that generates the hanging behaviour. Therefore, what really needs testing is that things still work OK in normal operation.

Testing steps (will need to be done at the SNS):

  1. Use the generic live data dialog to determine which of the 3 instruments you can connect to and the failure time if you can't.
  2. Test the Step Scan & DGS Reduction live buttons function correctly.
    1. Step Scan: Works off the default instrument (set in the preferences). Check that the button is enabled if it's an instrument you could connect to in step 1. Make sure that's there's no delay in the GUI coming up, especially for unreachable instruments.
    2. DGS: This one only checks for a live connection if the selected instrument matches that set as the default. Also the button is only shown if a connection is possible. Check that it shows up for the instruments you know you can connect to.

comment:6 Changed 7 years ago by Andrei Savici

  • Status changed from verify to verifying
  • Tester set to Andrei Savici

comment:7 Changed 7 years ago by Andrei Savici

  • Status changed from verifying to closed

Merge remote-tracking branch 'origin/feature/8703_async_live_checking'

Full changeset: 69e3476aaecdd119559cb15119afde2f7cb3d4c6

comment:8 Changed 7 years ago by Andrei Savici

Was not able to reproduce the error. Still works for me

comment:9 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 9547

Note: See TracTickets for help on using tickets.