Closed Bug 442563 Opened 16 years ago Closed 16 years ago

Weave should deal with a locked server during an initial sync

Categories

(Cloud Services :: General, defect)

defect
Not set
critical

Tracking

(Not tracked)

RESOLVED INVALID
Future

People

(Reporter: moz-bugzilla2, Unassigned)

Details

I installed 0.1.32 on a 2nd machine running OSX 10.5.3. When I attempt to sync, I receive a failure. I would expect sync to work. The verbose log entry is below:

2008-06-29 13:06:13	Service.DAV	DEBUG	LOCK request for lock
2008-06-29 13:06:13	Service.DAV	WARN	_makeRequest: got status 423
2008-06-29 13:06:14	Async.Generator	ERROR	Exception: [object Object]
2008-06-29 13:06:14	Async.Generator	DEBUG	Stack trace:
No traceback available.
This exception was raised by an asynchronous coroutine.
Initial async stack trace:
unknown (async) :: WeaveLockWrapper-67
module:wrap.js:91 :: WeaveNotifyWrapper
module:service.js:601 :: WeaveSync_sync
chrome://weave/content/sync.js:366 :: Sync_doSync
chrome://browser/content/browser.xul:1 :: oncommand
2008-06-29 13:06:21	Service.DAV	DEBUG	LOCK request for lock
2008-06-29 13:06:22	Service.DAV	WARN	_makeRequest: got status 423
2008-06-29 13:06:22	Async.Generator	ERROR	Exception: [object Object]
2008-06-29 13:06:22	Async.Generator	DEBUG	Stack trace:
No traceback available.
This exception was raised by an asynchronous coroutine.
Initial async stack trace:
unknown (async) :: WeaveLockWrapper-71
module:wrap.js:91 :: WeaveNotifyWrapper
module:service.js:601 :: WeaveSync_sync
chrome://weave/content/sync.js:366 :: Sync_doSync
chrome://browser/content/browser.xul:1 :: oncommand
The failure is that there is a server lock.  This means that one of the following has happened:

* There is another firefox instance which is currently syncing.
* There is a 'stale lock' on the server, because:
** Firefox crashed while syncing.
** Firefox was quit while syncing.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → WORKSFORME
All of these situations would warrant further investigation:

* Issue: There is another firefox instance which is currently syncing.
* Response: Can we have the client sync wait some period of time? Even if Weave can not handle multiple syncs concurrently (thou that should be considered through delta syncs that get reconciled), the behavior should be improved.

* There is a 'stale lock' on the server, because:
** Issue: Firefox crashed while syncing.
** Firefox was quit while syncing.
** Response for both: How does a Firefox crash/quit get cleaned up?

The user experience on these items should be improved. If this is a temporary failure, that is alright. However, I just tried to sync my browser and again received an error. I have no other Firefox instances running on other computers for this account, so I am not sure how to address the problem.
You are correct, we should improve our behavior for the first-sync case.

For ongoing sync (after initial setup), this error is transient and we shouldn't do much imo.  We will retry in 30 seconds.

For initial sync, we should a) retry, b) ask the user to make sure they have no other Firefox instances syncing at the moment, and c) (maybe) forcibly clear the lock on the assumption that there is a stale lock on the server.

Note, however, that server locks expire in 10 minutes (so stale locks in case of a crash automatically expire)

reopening bug.  targeting for 0.3.
Status: RESOLVED → REOPENED
OS: Mac OS X → All
Hardware: PC → All
Resolution: WORKSFORME → ---
Summary: Initial Sync failed → Weave should deal with a locked server during an initial sync
Target Milestone: -- → 0.3
These bugs need to be triaged, removing 0.3 milestone setting.
Target Milestone: 0.3 → Future
Locks no longer relevant with new server in 0.3, closing
Status: REOPENED → RESOLVED
Closed: 16 years ago16 years ago
Resolution: --- → INVALID
Component: Weave → General
Product: Mozilla Labs → Weave
QA Contact: weave → general
You need to log in before you can comment on or make changes to this bug.