Basically, you are seeing the Item exists in test data but not training data
message because of the way evaluation happens. The data is split into 2, a training set and a test set. The recommender is trained on the training data and then results are validated against the test set. This partition into training and test is done randomly, so yes, some items might be in the training set and not in the test set, and viceversa. For more significant results you should run the test around 3 or more times and average the result.
Ideally you would not use RandomUtils.useTestSeed();
in production evaluation code, it's mostly for testing purposes given that is set the random seed to be the same every time you run your test, hence you get repeatability (good for testing the internal evaluator code)
Also, knn recommender is deprecated in Mahout 0.8 (recently released) and will be removed in 0.9