[tahoe-lafs-trac-stream] [tahoe-lafs] #1921: leasedb: NonExistentShareError: can't find [share] in `shares` table
tahoe-lafs
trac at tahoe-lafs.org
Thu Feb 21 01:35:41 UTC 2013
#1921: leasedb: NonExistentShareError: can't find [share] in `shares` table
-----------------------------+---------------------------------------------
Reporter: davidsarah | Owner: davidsarah
Type: defect | Status: new
Priority: major | Milestone: soon
Component: code- | Version: 1.9.2
storage | Keywords: leasedb openstack cloud-backend
Resolution: |
Launchpad Bug: |
-----------------------------+---------------------------------------------
Comment (by davidsarah):
Okay, now for the speculation:
Notice that the accounting crawler is running concurrently with a PUT. The
accounting crawler is what is causing the list requests for prefix 'lp',
'lq', etc.
What triggers the incident is that the crawler sees a share that
unexpectedly disappeared, i.e. it has a leasedb entry but no chunk
object(s):
{{{
local#18704 23:06:20.022: share SI=lp6ibjsxe6vf6ern6v3soepjh4 shnum=0
unexpectedly disappeared [INCIDENT-TRIGGER]
}}}
Almost immediately afterward, the concurrent PUT request fails. That
request is for the same share that the crawler saw "disappear". It seems
as though what happened is that there was a race between the crawler and
the share creation:
1. leasedb entry is created for share, but it isn't stored yet
2. crawler sees an entry with no stored share; deletes the entry
3. the share creator goes to add a default lease and fails because the
leasedb entry isn't there
I think this will only happen when the accounting crawler is looking at a
prefix while a share is being uploaded to it (that is not difficult to
reproduce if you do enough uploads).
[And sigh, I just noticed that I leaked the Auth-Token. It's fine, the
Auth-Token is only valid for 24h and I'll delete the container contents
after that anyway. But that does need fixing.]
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1921#comment:1>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list