The feature is an implementation of Dominic Williams's Wait Chain with minor adjustments, backed 100% by Cassandra, which means that it is horizontally scalable.
The framework is composed by three main entities:
- HLock : Self explanatory. It is the lock we are trying to acquire.
- HLockManager : The entity responsible to acquiring and releasing the lock, and
- HLockManagerConfigurator : Responsible to configuring the lock system. HLMC from now on.
HLMC defines important properties needed for the normal operation of the lock system. Hector implements this feature by storing information in HLocks column family under a specific keyspace HLockingManager with a default replication factor of 3. Additionally row cache is enabled by default and the locks last 5 seconds after which the lock will expire.
All the above mentioned properties can be change via HLMC.
All the above mentioned properties can be change via HLMC.
How to initialize the locking system
The following snippet of code shows how to initialize the framework and can be place along to where you set up Hector's CassandraHostConfigurator
// Initialize Locking Framework cluster = getOrCreateCluster("MyCluster", getCHCForTest()); HLockManagerConfigurator hlc = new HLockManagerConfigurator(); hlc.setReplicationFactor(1); lm = new HLockManagerImpl(cluster, hlc); lm.init();
Acquiring and Releasing Locks
This snippet shows to to use the locks. It assumes you hold an instance of LockManager somewhere. Guice and Spring are good frameworks to solve this problem.
HLock lock = lm.createLock("/Users/patricioe"); try { lm.acquire(lock); // Do something ... } finally { lm.release(lock) }
Thread safety
The implementation of HLockManager (HLockManagerImp) is thread safe and thus can be share across different threads. Instances of HLock (HLockImp) on the other hand are state-full and should not be share across threads. They are meant to be created and release within a short period of time (5 Seconds by default).
Miscellaneous
Besides the fact that some people are using this feature I recommend to you to give it a try and send us feedback or questions to hector-users@googlegroups.com or here in this blog. Hope you enjoyed the reading.
You should follow me on Twitter @patricioe
2 comments:
You can follow some simple instruction to unlock iphone [http://www.unlock-iphones.org]
3G. The object of the sport is to discover phrases by connecting letters in a
grid. You can see multiple languages all at as soon as.
Also visit my web site ifunbox error code 20
The cheap transcription service is almost free for students. We believe in quality and material.
Post a Comment