I am playing around with Mahout's recommendation engines and are running into problem with using genericdatamodel object. My question is if I want to add some new users data into the existing datamodel, is the only way to do it, by reconstruction of a new datamodel by reading all the data again.
Currently, our data is in the cache.
Yes, that's correct. It's effectively read-only for performance. The general idea is that you don't incorporate data model updates frequently, as it generally means rebuilding a lot of other pre-computed or cached computations.
You could hack it to expose an update method without too much trouble. Just be careful of thread-safety issues.