mirror of
https://github.com/minio/minio.git
synced 2024-12-25 22:55:54 -05:00
fix datadir missing check on HeadObject (#18646)
versions pending purge in replication were seeing a errFileCorrupt that prevents permanent deletion after replication. Regression from PR#18477
This commit is contained in:
parent
6d4c1156d6
commit
e79b289325
@ -1547,7 +1547,7 @@ func (s *xlStorage) ReadVersion(ctx context.Context, volume, path, versionID str
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if !skipAccessChecks(volume) && !opts.Healing && fi.TransitionStatus == "" && !fi.InlineData() && len(fi.Data) == 0 && fi.DataDir != "" && fi.DataDir != emptyUUID {
|
if !skipAccessChecks(volume) && !opts.Healing && fi.TransitionStatus == "" && !fi.InlineData() && len(fi.Data) == 0 && fi.DataDir != "" && fi.DataDir != emptyUUID && fi.VersionPurgeStatus().Empty() {
|
||||||
// Verify if the dataDir is present or not when the data
|
// Verify if the dataDir is present or not when the data
|
||||||
// is not inlined to make sure we return correct errors
|
// is not inlined to make sure we return correct errors
|
||||||
// during HeadObject().
|
// during HeadObject().
|
||||||
|
@ -242,6 +242,19 @@ if [ "${expected_checksum}" != "${actual_checksum}" ]; then
|
|||||||
fi
|
fi
|
||||||
rm ./lrgfile
|
rm ./lrgfile
|
||||||
|
|
||||||
|
./mc rm -r --versions --force minio1/newbucket/lrgfile
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "expected object to be present, exiting.."
|
||||||
|
exit_1
|
||||||
|
fi
|
||||||
|
|
||||||
|
sleep 5
|
||||||
|
./mc stat minio1/newbucket/lrgfile
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "expected object to be deleted permanently after replication, exiting.."
|
||||||
|
exit_1
|
||||||
|
fi
|
||||||
|
|
||||||
vID=$(./mc stat minio2/newbucket/README.md --json | jq .versionID)
|
vID=$(./mc stat minio2/newbucket/README.md --json | jq .versionID)
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "expecting object to be present. exiting.."
|
echo "expecting object to be present. exiting.."
|
||||||
|
@ -229,6 +229,19 @@ if [ "${expected_checksum}" != "${actual_checksum}" ]; then
|
|||||||
fi
|
fi
|
||||||
rm ./lrgfile
|
rm ./lrgfile
|
||||||
|
|
||||||
|
./mc rm -r --versions --force minio1/newbucket/lrgfile
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "expected object to be present, exiting.."
|
||||||
|
exit_1
|
||||||
|
fi
|
||||||
|
|
||||||
|
sleep 5
|
||||||
|
./mc stat minio1/newbucket/lrgfile
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "expected object to be deleted permanently after replication, exiting.."
|
||||||
|
exit_1
|
||||||
|
fi
|
||||||
|
|
||||||
vID=$(./mc stat minio2/newbucket/README.md --json | jq .versionID)
|
vID=$(./mc stat minio2/newbucket/README.md --json | jq .versionID)
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
echo "expecting object to be present. exiting.."
|
echo "expecting object to be present. exiting.."
|
||||||
|
@ -229,6 +229,19 @@ if [ "${expected_checksum}" != "${actual_checksum}" ]; then
|
|||||||
fi
|
fi
|
||||||
rm ./lrgfile
|
rm ./lrgfile
|
||||||
|
|
||||||
|
./mc rm -r --versions --force minio1/newbucket/lrgfile
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "expected object to be present, exiting.."
|
||||||
|
exit_1
|
||||||
|
fi
|
||||||
|
|
||||||
|
sleep 5
|
||||||
|
./mc stat minio1/newbucket/lrgfile
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
echo "expected object to be deleted permanently after replication, exiting.."
|
||||||
|
exit_1
|
||||||
|
fi
|
||||||
|
|
||||||
./mc mb --with-lock minio3/newbucket-olock
|
./mc mb --with-lock minio3/newbucket-olock
|
||||||
sleep 5
|
sleep 5
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user