RE: why index (collectionIndex) need a lock?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Also, I don't think this lock has big impact to performance since it is already sharded to index level. I tried with reader/writer implementation of this lock (logic will be somewhat similar to your state concept) and not getting any benefit .

Thanks & Regards
Somnath

-----Original Message-----
From: ceph-devel-owner@xxxxxxxxxxxxxxx [mailto:ceph-devel-owner@xxxxxxxxxxxxxxx] On Behalf Of Gregory Farnum
Sent: Tuesday, September 30, 2014 10:24 AM
To: Nicheal
Cc: ceph-devel
Subject: Re: why index (collectionIndex) need a lock?

On Tue, Sep 30, 2014 at 12:08 AM, Nicheal <zay11022@xxxxxxxxx> wrote:
> Dear develops,
>
> I go through the files (hashIndex, LFNIndex and CollectionIndex), I
> cannot find any parameters need to grasp a lock. And basically,
> (hashIndex, LFNIndex and CollectionIndex) is used to manage a
> collection of objects.
>
> Thus, just in one case, when the spilt or merge is on going, then
> lookup() path function is called to get the object path. It may obtain
> a wrong path, right?
>
> If so, why not using a state parameter in the class CollectionIndex or
> HashIndex indicating the current state of this collection (split,
> merge on going or none) and grasp a lock when the state changes. Why
> always lock the index before lookup() path or lfn_find()?
>
> Any other reasons?

Well, you've just named why we have the lock — it's to prevent multiple users simultaneously making changes to the *filesystem* that we can't handle. In particular, no simultaneous ops can run against the same Collection. This is to prevent situations where a reader comes in and builds up the path for an object it needs to look at, then a writer creates a new file which initiates collection split and the reader's path is suddenly invalid.
-Greg
Software Engineer #42 @ http://inktank.com | http://ceph.com
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at  http://vger.kernel.org/majordomo-info.html

________________________________

PLEASE NOTE: The information contained in this electronic mail message is intended only for the use of the designated recipient(s) named above. If the reader of this message is not the intended recipient, you are hereby notified that you have received this message in error and that any review, dissemination, distribution, or copying of this message is strictly prohibited. If you have received this communication in error, please notify the sender by telephone or e-mail (as shown above) immediately and destroy any and all copies of this message in your possession (whether hard copies or electronically stored copies).

��.n��������+%������w��{.n����z��u���ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f





[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux