It looks like the returned unused instructions are off-by-one.
For example take the following:
- Create a new retry test X with instructions:
map[storage.objects.insert:[return-503-after-257K return-503 return-503 return-503 return-503]
- Upload the first 256k chunk, which returns a 200. No test instructions should be used up here.
- Try uploading the next 256k chunk twice. Get 2 503s.
- 2 instructions should be consumed (
return-503-after-257K and return-503)
- Get the retry test and inspect the instructions:
map[storage.objects.insert:[return-503 return-503 return-503 return-503]]
Expected: map[storage.objects.insert:[return-503 return-503 return-503]]
I inserted a delay of 30 seconds and saw the same thing.
Note: this is not an issue with http bucket lists.
It looks like the returned unused instructions are off-by-one.
For example take the following:
map[storage.objects.insert:[return-503-after-257K return-503 return-503 return-503 return-503]return-503-after-257Kandreturn-503)map[storage.objects.insert:[return-503 return-503 return-503 return-503]]Expected:
map[storage.objects.insert:[return-503 return-503 return-503]]I inserted a delay of 30 seconds and saw the same thing.
Note: this is not an issue with http bucket lists.