cache mutex should be private