Well obviously if we're switching to 300000ms that would appear to make the existing problem worse, not better.   I think it would be better to make an algorithms change than to tinker with timeouts because if you just reduce the timeouts so it takes a reasonable amount of time in the known problematic case you're making them too short for some other (as yet unknown) problematic case(s).