Syncdaemon executes multiple GetDelta commands in parallel on the same volume

Reported by Guillermo Gonzalez on 2011-10-28
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ubuntu One Client
Status tracked in Trunk
Stable-3-0
High
Facundo Batista
Trunk
High
Facundo Batista
ubuntuone-client (Ubuntu)
Medium
Unassigned
Precise
Undecided
Unassigned
Quantal
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.

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) on 2012-05-09
tags: added: foundations+
tags: added: u1-sru
Rodney Dawes (dobey) on 2012-05-18
Changed in ubuntuone-client (Ubuntu Quantal):
milestone: ubuntu-12.04.1 → none
Changed in ubuntuone-client (Ubuntu Precise):
milestone: none → precise-updates
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
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!

Rodney Dawes (dobey) on 2012-06-01
description: updated
description: updated

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
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.

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.

Rick McBride (rmcbride) wrote :

set verification-done, same testing as above.

tags: added: verification-done
removed: verification-needed
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  Edit
Everyone can see this information.

Other bug subscribers