Ticket #207 (closed defect: fixed)

Opened 8 years ago

Last modified 8 years ago

GUI hangs on SM side when trying to create a reservation and one broker (out of several) is unreachable

Reported by: ibaldin Owned by: anirban
Priority: major Milestone: Camano 3.0
Component: ORCA: Web Portal Version: Camano 3.0
Keywords: Cc:

Description

In a test setup an edge was created between an SM and a broker using remote registry data, however the broker was not IP-reachable. This resulted in GUI hanging on the SM side when trying to create reservation. Logs showed that it issued queries to two brokers, but only one returned. A timeout is needed not to wait for a response for more than X seconds.

Change History

Changed 8 years ago by ibaldin

  • status changed from new to assigned
  • owner changed from aydan to anirban

Changed 8 years ago by anirban

  • status changed from assigned to closed
  • resolution set to fixed

Bring up broker, site and sm and click 'Create Reservation' on SM (broker should be listed in the choices). Bring down broker and submit the reservation request on the SM. It immediately returns and the reservation stays in "Obtaining Ticket" state.

Now, click on 'Create Reservation' on SM again and if you try to select the broker that is down, it will show a popup saying "Selected Broker has no inventory"

Seems to be the correct behavior.

Changed 8 years ago by ibaldin

From Aydan:

Timeouts for claim and query are in. They are currently set to 2
minutes. If you want different values, please edit RPCManager.java.
See the checkin comment for more details about the implementation.

For testing: add an unreachable broker/site. You can also do testing
using reachable broker/sites, by blocking the threads running the site/
broker. This would prevent them from sending the response back and the
timeout will fire.

Claim would fail and will be retried once before the timeout fires, at
which point the reservation will be failed and the UI will display the
failure message.

Query would fail exactly once, since we do not do retries for query.
It seems that Axis2 uses a one minute connect timeout, so if you want
to test the query timeout using an unreachable broker, you need to set
it to something less than 60000.

Note: See TracTickets for help on using tickets.