Syncdaemon executes multiple GetDelta commands in parallel on the same volume

Bug #883252 reported by Guillermo Gonzalez
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ubuntu One Client
Status tracked in Trunk
Stable-3-0
Fix Released
High
Facundo Batista
Trunk
Fix Released
High
Facundo Batista
ubuntuone-client (Ubuntu)
Fix Released
Medium
Unassigned
Precise
Fix Released
Undecided
Unassigned
Quantal
Fix Released
Medium
Unassigned

Bug Description

Sycndaemon is executing GetDelta requests on the same volume in parallel, when it should only execute 1.
On solution is to add a path_lock based on volume path or id to queue the GetDetla's for the same volume and only execute one at a time (following GetDeltas will not be executed as one is already queued/running)

[Test Case]
Without this fix, excessive GetDelta calls for the same Volume ID will appear in the syncdaemon.log under ~/.cache/ubuntuone/log/. With the fix, after
restarting syncdaemon, whenever a GetDelta call is made for a volume, it will occur only once for each volume.

[Regression Potential]
Minimal. New unit test included.

Related branches

Changed in ubuntuone-client:
status: New → Confirmed
importance: Undecided → High
tags: added: chicharra chicharra-oneiric
tags: added: chicharra-precise
removed: chicharra-oneiric
Changed in ubuntuone-client (Ubuntu):
status: New → Confirmed
Changed in ubuntuone-client:
status: Confirmed → Triaged
Changed in ubuntuone-client (Ubuntu):
importance: Undecided → Medium
milestone: none → ubuntu-12.04.1
Changed in ubuntuone-client:
assignee: nobody → Facundo Batista (facundo)
tags: added: u1-12.04.1
Leo Arias (elopio)
tags: added: foundations+
tags: added: u1-sru
dobey (dobey)
Changed in ubuntuone-client (Ubuntu Quantal):
milestone: ubuntu-12.04.1 → none
Changed in ubuntuone-client (Ubuntu Precise):
milestone: none → precise-updates
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntuone-client - 3.0.1-0ubuntu1.1

---------------
ubuntuone-client (3.0.1-0ubuntu1.1) quantal; urgency=low

  * New upstream release.
    - Don't ignore test failures in from main tests suite. (LP: #993574)
    - Avoid multiple parallel GetDelta commands on same volume. (LP: #883252)
    - Fix small memory leak in folder enabled check. (LP: #981255)
    - Don't start syncdaemon with u1sdtool -q if not running. (LP: #907479)
    - Avoid having Upload execute before Makefile command. (LP: #978903)
  * debian/watch:
    - Update watch file to use stable-3-0 series for downloads now
 -- Rodney Dawes <email address hidden> Tue, 22 May 2012 13:33:55 -0400

Changed in ubuntuone-client (Ubuntu Quantal):
status: Confirmed → Fix Released
Revision history for this message
Clint Byrum (clint-fewbar) wrote :

Hello! This bug is attached to an upload in the queue for precise-proposed. However, it does not contain the requisite fields for the SRU team to process the upload. Please add them per the process outlined here. To be more succinct, make sure the bug description lists these fields: "Impact, Dev Fix, Stable Fix, Regression Potential, Test case".

https://wiki.ubuntu.com/StableReleaseUpdates#Procedure

The upload will likely not be looked at by the SRU team until these fields are present.

Thank you!

dobey (dobey)
description: updated
description: updated
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Guillermo, or anyone else affected,

Accepted ubuntuone-client into precise-proposed. The package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in ubuntuone-client (Ubuntu Precise):
status: New → Fix Committed
tags: added: verification-needed
Revision history for this message
Marc Deslauriers (mdeslaur) wrote :

NACK.

ubuntuone-client was updated in precise-updates for the security issue in bug 882062.

This SRU needs to be updated to include the security fix.

Revision history for this message
Rick McBride (rmcbride) wrote :

Tested by restarting syncdaemon with and without changes to volumes between. Observed none of the unwanted operation described in

[Test Case]
Without this fix, excessive GetDelta calls for the same Volume ID will appear in the syncdaemon.log under ~/.cache/ubuntuone/log/. With the fix, after
restarting syncdaemon, whenever a GetDelta call is made for a volume, it will occur only once for each volume.

However, holding off on setting verification-done due to NACK from mdeslaur.

Revision history for this message
Rick McBride (rmcbride) wrote :

set verification-done, same testing as above.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntuone-client - 3.0.1-0ubuntu1.0.1

---------------
ubuntuone-client (3.0.1-0ubuntu1.0.1) precise-proposed; urgency=low

  * New upstream release.
    - Don't ignore test failures in from main tests suite. (LP: #993574)
    - Avoid multiple parallel GetDelta commands on same volume. (LP: #883252)
    - Fix small memory leak in folder enabled check. (LP: #981255)
    - Don't start syncdaemon with u1sdtool -q if not running. (LP: #907479)
    - Avoid having Upload execute before Makefile command. (LP: #978903)
  * debian/watch:
    - Update watch file to use stable-3-0 series for downloads now
 -- Rodney Dawes <email address hidden> Wed, 06 Jun 2012 14:08:37 -0400

Changed in ubuntuone-client (Ubuntu Precise):
status: Fix Committed → Fix Released
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.