You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sometime a resource (as in lock management) can be split into sub-part. For example, Cloud Foundry quota, nodes in a distributed architecture, ...
So, it will be nice to support easily such kind of lock.
Proposal
Solution 1 : Pool metadata
Pool directory may contain metadata which describe pool & lock capacities. When acquired, lock weight may be specified and recorded into new file. When released, lock weight is read from same file.
Note: When lock weight isn't specified, all capacity is assumed.
Solution 2 : Multi acquire/release (simplest)
Users have to create enough locks as pool capacity. acquire now accepts a number (or adds acquire_count). A new count file is generated providing lock count (and/or a names file with lock names). Then, name.<index> and metadata.<index> are generated as existing.
release doesn't change signature but support new directory structure.
Workaround
Currently I use as enough lock as necessary.
But need:
to split into a reasonable amount of locks. For example, I divided my 10240 MB Cloud Foundry quota into 40 slots of 256 MB ; while static web component only requires 64 MB.
to add enough put to acquire/release (not also being sure how to arrange release in order to be sure they are all correctly release in all cases)
The text was updated successfully, but these errors were encountered:
Description
Sometime a resource (as in lock management) can be split into sub-part. For example, Cloud Foundry quota, nodes in a distributed architecture, ...
So, it will be nice to support easily such kind of lock.
Proposal
Solution 1 : Pool metadata
Pool directory may contain metadata which describe pool & lock capacities. When acquired, lock weight may be specified and recorded into new file. When released, lock weight is read from same file.
Note: When lock weight isn't specified, all capacity is assumed.
Solution 2 : Multi acquire/release (simplest)
Users have to create enough locks as pool capacity.
acquire
now accepts a number (or addsacquire_count
). A newcount
file is generated providing lock count (and/or anames
file with lock names). Then,name.<index>
andmetadata.<index>
are generated as existing.release
doesn't change signature but support new directory structure.Workaround
Currently I use as enough lock as necessary.
But need:
put
to acquire/release (not also being sure how to arrange release in order to be sure they are all correctly release in all cases)The text was updated successfully, but these errors were encountered: