mirror of
https://github.com/minio/minio.git
synced 2024-12-25 06:35:56 -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
|
||||
// is not inlined to make sure we return correct errors
|
||||
// during HeadObject().
|
||||
|
@ -242,6 +242,19 @@ if [ "${expected_checksum}" != "${actual_checksum}" ]; then
|
||||
fi
|
||||
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)
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "expecting object to be present. exiting.."
|
||||
|
@ -229,6 +229,19 @@ if [ "${expected_checksum}" != "${actual_checksum}" ]; then
|
||||
fi
|
||||
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)
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "expecting object to be present. exiting.."
|
||||
|
@ -229,6 +229,19 @@ if [ "${expected_checksum}" != "${actual_checksum}" ]; then
|
||||
fi
|
||||
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
|
||||
sleep 5
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user