rantav/hector — Issue #360: AbstractColumnFamilyTemplate is not thread safe
Author: ash2k
Created: 2011-12-11 11:18:46+00:00
State: open

* ```activeSlicePredicate``` is mutated in ```setCount()``` and ```HSlicePredicate.count``` field is not volatile so other threads may not see mutation;
* ```activeSlicePredicate``` is mutated in ```ThriftColumnFamilyTemplate.multigetSliceInternal()```. This mutation may have side effects in concurrent execution environment;
* ```activeSlicePredicate``` is mutated in ```addColumn()``` -> mutates ```HSlicePredicate.columnNames``` which is ```ArrayList``` instance (not thread safe);
* ```batched```, ```columnFactory```, ```clock``` and ```exceptionsTranslator``` fields are not volatile so other threads may not see changes from corresponding mutation methods;

Also you may want to make all fields ```final``` (and the class ```abstract```).