Testing of lock managers in computing environments
First Claim
1. A method for iteratively testing a lock manager configured for locking a set of files stored in a file system, the method comprising:
- acquiring, based on a lock assignment plan and by a first process of a plurality of processes, a first plurality of locks on a first plurality of portions of the set of files;
performing, based on a lock testing plan and by a second process of the plurality of processes, a first lock verification for a first portion of the plurality of portions;
comparing a first result of the first lock verification and a first expected result of the first lock verification;
transitioning, based on an updated lock assignment plan and by the first process, from the first plurality of locks to a second plurality of locks on a second plurality of portions of the set of files, wherein the transitioning comprises;
determining, by the first process and using the first plurality of portions as inputs into an update algorithm incorporated in the updated lock assignment plan, that the second plurality of locks are to be acquired on the second plurality of portions;
relinquishing, by the first process and based on the update algorithm, the first plurality of locks; and
acquiring, by the first process and based on the determination, the second plurality of locks;
performing, based on an updated lock testing plan and by the second process, a second lock verification for a second portion of the second plurality of portions;
comparing a second result of the second lock verification and a second expected result of the second lock verification;
acquiring, based on the lock assignment plan and by a third process of a plurality of processes, a third plurality of locks on a third plurality of portions of the set of files;
transitioning, based on the updated lock assignment plan and by the third process, from the third plurality of locks to a fourth plurality of locks on a fourth plurality of portions of the set of files, wherein the transitioning from the third plurality of locks to the fourth plurality of locks comprises;
determining, by the third process and using the third plurality of portions as inputs into a second update algorithm incorporated in the updated lock assignment plan, that the fourth plurality of locks are to be acquired on the fourth plurality of portions;
relinquishing, by the third process and based on the second update algorithm, the third plurality of locks; and
acquiring, by the third process and based on the determination that the fourth plurality of locks are to be acquired, the fourth plurality of locks; and
evaluating, based at least in part on the comparing the first result and first expected result and the comparing the second result and the second expected result, the lock manager, wherein the update algorithm is a Simple Up update algorithm and the second update algorithm is a Greedy Down update algorithm.
1 Assignment
0 Petitions
Accused Products
Abstract
A lock manager configured for locking files is tested. As part of the test and based on a lock assignment plan, a process acquires locks on portions of the files. Based on a lock testing plan, a second process performs a lock verification for a portion of the locked portions. A result of this lock verification is compared to its expected result. Based on an updated lock assignment plan, the process transitions from the locks to other locks on other portions of the files. Based on an updated lock testing plan, the second process performs a second lock verification for a portion of the other locked portions. A result of this second lock verification is compared to its expected result. Based at least in part on the two comparisons, the lock manager is evaluated.
-
Citations
6 Claims
-
1. A method for iteratively testing a lock manager configured for locking a set of files stored in a file system, the method comprising:
-
acquiring, based on a lock assignment plan and by a first process of a plurality of processes, a first plurality of locks on a first plurality of portions of the set of files; performing, based on a lock testing plan and by a second process of the plurality of processes, a first lock verification for a first portion of the plurality of portions; comparing a first result of the first lock verification and a first expected result of the first lock verification; transitioning, based on an updated lock assignment plan and by the first process, from the first plurality of locks to a second plurality of locks on a second plurality of portions of the set of files, wherein the transitioning comprises; determining, by the first process and using the first plurality of portions as inputs into an update algorithm incorporated in the updated lock assignment plan, that the second plurality of locks are to be acquired on the second plurality of portions; relinquishing, by the first process and based on the update algorithm, the first plurality of locks; and acquiring, by the first process and based on the determination, the second plurality of locks; performing, based on an updated lock testing plan and by the second process, a second lock verification for a second portion of the second plurality of portions; comparing a second result of the second lock verification and a second expected result of the second lock verification; acquiring, based on the lock assignment plan and by a third process of a plurality of processes, a third plurality of locks on a third plurality of portions of the set of files; transitioning, based on the updated lock assignment plan and by the third process, from the third plurality of locks to a fourth plurality of locks on a fourth plurality of portions of the set of files, wherein the transitioning from the third plurality of locks to the fourth plurality of locks comprises; determining, by the third process and using the third plurality of portions as inputs into a second update algorithm incorporated in the updated lock assignment plan, that the fourth plurality of locks are to be acquired on the fourth plurality of portions; relinquishing, by the third process and based on the second update algorithm, the third plurality of locks; and acquiring, by the third process and based on the determination that the fourth plurality of locks are to be acquired, the fourth plurality of locks; and evaluating, based at least in part on the comparing the first result and first expected result and the comparing the second result and the second expected result, the lock manager, wherein the update algorithm is a Simple Up update algorithm and the second update algorithm is a Greedy Down update algorithm. - View Dependent Claims (2, 3)
-
-
4. A method for testing a locking mechanism, the method comprising:
-
distributing, among a plurality of processes, lock assignment information for a set of files; acquiring, based on the distributed lock assignment information and by a first process of the plurality of processes, a lock on a first portion of the set of files; acquiring, based on the distributed lock assignment information and by a second process of the plurality of processes, a lock on a second portion of the set of files; distributing, among the plurality of processes, lock testing information for the set of files; attempting, based on the distributed lock testing information and by the first process, to acquire a lock on the second portion; comparing a result of the attempted lock and an expected result of the attempted lock; evaluating, based at least in part on the comparing, the locking mechanism; distributing, among the plurality of processes, second lock assignment information for the set of files; determining, by the first process and using the first portion as an input into an update algorithm included in the distributed second lock assignment information, that a lock is to be acquired on a third portion of the set of files, wherein the update algorithm is configured to output that the lock on the third portion is a next lock to be acquired by the first process after relinquishing the lock on the first portion based on the fact that first process currently has the lock on the first portion; relinquishing, by the first process and based on the update algorithm, the lock on the first portion; and acquiring, by the first process and based on the determination, the lock on the third portion after the relinquishment of the lock on the first portion. - View Dependent Claims (5, 6)
-
Specification