Skip to content
Snippets Groups Projects
Commit 50a55d1c authored by Eric Cano's avatar Eric Cano
Browse files

#533 Added test for backpressure in repack test.

parent 549bf0f9
No related branches found
No related tags found
No related merge requests found
......@@ -85,9 +85,37 @@ admin_cta repack rm --vid ${VID_TO_REPACK}
echo "Marking the tape ${VID_TO_REPACK} as full before Repacking it"
admin_cta tape ch --vid ${VID_TO_REPACK} --full true
echo "Backpressure test: setting too high free space requirements"
# This should be idempotent as we will be called several times
if [[ $( admin_cta --json ds ls | jq '.[] | select(.name=="repackBuffer") | .name') != '"repackBuffer"' ]]; then
admin_cta ds add -n repackBuffer -r "root://${EOSINSTANCE}/${REPACK_BUFFER_BASEDIR}" -u "eos://${EOSINSTANCE}" -i 60 -f 111222333444555 -s 60 -m toto
else
echo "Disk system repackBuffer alread defined. Ensuring too high free space requirements."
admin_cta ds ch -n repackBuffer -f 111222333444555
fi
admin_cta ds ls
echo "Launching repack request for VID ${VID_TO_REPACK}, bufferURL = ${FULL_REPACK_BUFFER_URL}"
admin_cta re add --vid ${VID_TO_REPACK} --justmove --bufferurl ${FULL_REPACK_BUFFER_URL}
echo "Backpressure test: waiting to see a report of sleeping retrieve queue."
SECONDS_PASSED=0
while test 0 = `admin_cta --json sq | jq -r ".[] | select(.vid == \"${VID_TO_REPACK}\" and .sleepingForSpace == true) | .vid" | wc -l`; do
echo "Waiting for retrieve queue for tape ${VID_TO_REPACK} to be sleepting: Seconds passed = $SECONDS_PASSED"
sleep 1
let SECONDS_PASSED=SECONDS_PASSED+1
if test ${SECONDS_PASSED} == ${WAIT_FOR_REPACK_TIMEOUT}; then
echo "Timed out after ${WAIT_FOR_REPACK_TIMEOUT} seconds waiting for tape ${VID_TO_REPACK} to be repacked"
exit 1
fi
done
echo "Turning free space requirement to one byte (zero is not allowed)."
admin_cta ds ch -n repackBuffer -f 1
admin_cta ds ls
echo "Now waiting for repack to proceed."
SECONDS_PASSED=0
while test 0 = `admin_cta --json repack ls --vid ${VID_TO_REPACK} | jq -r '.[0] | select(.status == "Complete" or .status == "Failed")' | wc -l`; do
echo "Waiting for repack request on tape ${VID_TO_REPACK} to be complete: Seconds passed = $SECONDS_PASSED"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment