PCC Phase 2
(LU-12714)
|
|
| Status: | Closed |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Technical task | Priority: | Minor |
| Reporter: | Li Xi | Assignee: | Qian Yingjin |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||||||
| Rank (Obsolete): | 9223372036854775807 | ||||||||||||||||||||||||||||||||||||||||||||
| Description |
|
Readwrite Persistent Client Cache has been implemented by using HSM features ( Readonly Persistent Client Cache (RO-PCC) shares the same framework with Readwrite Persistent Client Cache, except that no HSM mechanism is used in readonly mode of PCC. Instead, readonly mode of PCC uses grouplock to protect the data from being written from other clients. Whenever a file is fetched into RO-PCC, like the archive number of RW-PCC, a grouplock ID needs to be specified. The grouplock of this ID will be held in the client as long as the file is being cached in RO-PCC. Multiple clients can fetch the same file into its local cache using the same grouplock ID. Because of the semantics of grouplock, no other client can read/write from/to the file if the grouplock with the same ID is not held. Also because of the semantics of grouplock, no client can fetch the file to RO-PCC with a different grouplock ID. |
| Comments |
| Comment by Li Xi (Inactive) [ 12/Jan/18 ] |
|
Patch will be pushed as soon as cleanup finishes. |
| Comment by Gerrit Updater [ 12/Jan/18 ] |
|
Li Xi (lixi@ddn.com) uploaded a new patch: https://review.whamcloud.com/30847 |
| Comment by Andreas Dilger [ 26/Jan/18 ] |
|
The one problem with the grouplock is that this will be dropped when the filesystem is restarted. Secondly, the grouplock prevents other clients from reading the file, even if there is still a copy on the original OST. What I think would be a better mechanism for this would be to leverage the FLR functionality and state machine directly for the PCC mirrors. |
| Comment by Li Xi (Inactive) [ 05/Feb/18 ] |
|
> The one problem with the grouplock is that this will be dropped when the filesystem is restarted. Secondly, the grouplock prevents other clients from reading the file, even if there is still a copy on the original OST. Agreed. However, I don't think dropping the lock when the file system is restarted is a big problem. Remounting the client doesn't happen a lot. In order to solve the problem that other clients can't reading the PCC cached files, we can either: 1) Add readonly support for the grouplock. When some on is holding the readonly grouplock of the file, no write lock is allowed, and only readlock can be granted. 2) Add none-copy support for readonly PCC. When a client is accessing the file which is cached by other clients on readonly PCC, the client will require the PCC grouplock automatically, but will not copy the data to local storage. Instead, the client will read from the OSTs directly. Either way should work well. But I'd prefer solution 2), unless solution 1) can help other use cases since solution 1) will be much harder. > What I think would be a better mechanism for this would be to leverage the FLR functionality and state machine directly for the PCC mirrors. I don't have any idea about how to use FLR for PCC. Can you explain more details? |
| Comment by Gerrit Updater [ 04/Apr/18 ] |
|
Yingjin Qian (qian@ddn.com) uploaded a new patch: https://review.whamcloud.com/31868 |
| Comment by Qian Yingjin (Inactive) [ 04/Apr/18 ] |
|
Currently Readonly mode of PCC uses grouplock to protect the data from being written or even normal read from other clients, even if there is still a copy on the original OSTs. |
| Comment by Gerrit Updater [ 17/Apr/18 ] |
|
Yingjin Qian (qian@ddn.com) uploaded a new patch: https://review.whamcloud.com/32021 |
| Comment by Gerrit Updater [ 23/Jul/18 ] |
|
Yingjin Qian (qian@ddn.com) uploaded a new patch: https://review.whamcloud.com/32852 |
| Comment by Gerrit Updater [ 14/Aug/18 ] |
|
Yingjin Qian (qian@ddn.com) uploaded a new patch: https://review.whamcloud.com/32998 |
| Comment by Gerrit Updater [ 22/Apr/20 ] |
|
Yingjin Qian (qian@ddn.com) uploaded a new patch: https://review.whamcloud.com/38305 |
| Comment by Gerrit Updater [ 22/Jul/20 ] |
|
Yingjin Qian (qian@ddn.com) uploaded a new patch: https://review.whamcloud.com/39483 |
| Comment by Gerrit Updater [ 30/Nov/20 ] |
|
Yingjin Qian (qian@ddn.com) uploaded a new patch: https://review.whamcloud.com/40791 |
| Comment by Gerrit Updater [ 12/Jul/21 ] |
|
Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/40791/ |
| Comment by Colin Faber [ 18/Feb/22 ] |
|
Per lixi_wc – all the known issues of Readonly PCC have been solved. |
| Comment by Gerrit Updater [ 06/Jul/22 ] |
|
"Li Xi <lixi@ddn.com>" uploaded a new patch: https://review.whamcloud.com/47887 |
| Comment by Gerrit Updater [ 20/Jun/23 ] |
|
"Qian Yingjin <qian@ddn.com>" uploaded a new patch: https://review.whamcloud.com/c/fs/lustre-release/+/51375 |
| Comment by Gerrit Updater [ 23/Sep/23 ] |
|
"Oleg Drokin <green@whamcloud.com>" merged in patch https://review.whamcloud.com/c/fs/lustre-release/+/51375/ |