Desktopcouch service should be started in background

Bug #706824 reported by Roman Yepishev
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ubuntu One Control Panel
Won't Fix
Medium
Ubuntu One Client Engineering team
ubuntuone-control-panel (Ubuntu)
Won't Fix
Medium
Ubuntu One Client Engineering team

Bug Description

r55 (ui-misc-beautification branch)

It is possible for Devices list to be stuck in "Loading".
STR:
1. Click on any tab that triggers a DBus request
2. Quickly click on "Devices" tab.

Sometimes it is sufficient to doubleclick "Devices" tab (with 0.5-1s interval) for it to stuck in Loading state.

Workaround: Click on some other tab, wait for a bit then return to Devices tab. The "Loading..." label may be replaced by "Value Could not be retrieved" but it is an otherwise functional tab.

This effect can be seen @ http://ubuntuone.com/p/Zm3/

Tags: desktop+ natty
Revision history for this message
Roman Yepishev (rye) wrote :

This time it took more attempts to hang. Upon the exiting the application the "Loading..." label was still displayed on the form for about 30 seconds.

Revision history for this message
Roman Yepishev (rye) wrote :
Changed in ubuntuone-control-panel:
status: New → Confirmed
importance: Undecided → Low
assignee: nobody → Naty Bidart (nataliabidart)
Changed in ubuntuone-control-panel:
status: Confirmed → Triaged
Revision history for this message
Natalia Bidart (nataliabidart) wrote :

The original report is caused by visiting the 'Services' tab and then going to other tab. The backend is being blocked on desktopcouch starting too slow.

summary: - Devices list stuck in Loading state
+ Desktopcouch service should be started in background
Revision history for this message
Roman Yepishev (rye) wrote :

Naty, since desktopcouch originally intended to be started using DBus (and then it got reverted to direct access since DBus call from within desktopcouch to itself was causing deadlock), we may just do a getPort() call to desktopcouch over dbus and establish dbus listener when port is returned. Once the method returns, desktopcouch should be available.

Revision history for this message
Natalia Bidart (nataliabidart) wrote :

Roman,

thanks for the suggestion but I'm not sure what you're referring to. Right now we're using the ReplicationExclusion service to query the replication exclusion list, and never using dbus to access desktopcouch.

tags: added: desktop+ u1-natty
Changed in ubuntuone-control-panel:
status: Triaged → Incomplete
Revision history for this message
Roman Yepishev (rye) wrote :

Naty,

I wrote my message before i talked to Chad about the way python desktopcouch now communicates with "desktopcouch server". It is not done directly but here's the thing: Ubuntu One control panel expects desktopcouch exclusion service to be available right away as there is no callback mechanism to find out when desktopcouch has actually started. At the same time there is one dbus method that ubuntuone control panel can call in async mode to find out when desktopcouch is actually ready thus not blocking the UI.
So it will be something like this:
couchdb = bus.get_object('org.desktopcouch.CouchDB', '/')
couchdb.getPort(reply_handler=backend_method_to_signal_about_desktopcouch_readiness,
                               error_handler=backend_method_to_signal_about_desktopcouch_brokeness)

In this case backend will not be blocked.

Revision history for this message
Natalia Bidart (nataliabidart) wrote :

Hi Roman,

thanks for the very specific answer!

Changed in ubuntuone-control-panel:
importance: Low → High
status: Incomplete → Triaged
Changed in ubuntuone-control-panel (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
assignee: nobody → Naty Bidart (nataliabidart)
Revision history for this message
Natalia Bidart (nataliabidart) wrote :

Lowering priority since currently this is not being a blocking issue.

Changed in ubuntuone-control-panel:
importance: High → Medium
Changed in ubuntuone-control-panel (Ubuntu):
milestone: none → ubuntu-11.04-beta-2
Changed in ubuntuone-control-panel (Ubuntu):
milestone: ubuntu-11.04-beta-2 → natty-updates
Changed in ubuntuone-control-panel:
assignee: Naty Bidart (nataliabidart) → Ubuntu One Desktop+ team (ubuntuone-desktop+)
Changed in ubuntuone-control-panel (Ubuntu):
assignee: Naty Bidart (nataliabidart) → Ubuntu One Desktop+ team (ubuntuone-desktop+)
Leo Arias (elopio)
tags: added: natty
removed: u1-natty
Roberto Alsina (ralsina)
Changed in ubuntuone-control-panel:
status: Triaged → Won't Fix
Changed in ubuntuone-control-panel (Ubuntu):
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.