DDF-391  refactored to separate product download retry from caching logic