Comments (6)
@klauspost We only interact with the "top" object - we do not use the version id at all.
I just used your example with "mc" in a bash loop. I ran it 100 times (not parallel) and it failed 4 out of 100 times. Maybe calling "mc" from bash is a bit slower than the version I used with Typescript/Deno or with php.
One information I forgot: the tests I ran with Deno ran against a load balancer (haproxy) that points with a "leastconn" config to any of the five nodes in the main MinIO cluster.
I just ran my Deno test gain - this time on the first node of the cluster itself and I directed the MinIO requests only to this first node. Then the failure rate increase to around 74%. It seems that the faster the requests are, the higher the failure rate.
from minio.
Inserting time.Sleep(time.Second)
at the start of replicateDelete reproduces it reliably.
from minio.
We just updated both clusters to the new version "2024-05-07T06-41-25Z". We can confirm that we cannot reproduce the inconsistency anymore. Thanks a lot for the very quick fix.
from minio.
Thanks for the detailed report!
Ping @poornas @krisis - I will see if I can reproduce and see where the race is happening.
from minio.
@ChristophWersal One question. Are the deletes and headobject for a specific version or just for the "top" object - meaning requests for object without version id?
I am trying mc cp 0.txt myminio/testbucket&&mc rm myminio/testbucket/0.txt&&mc stat myminio/testbucket/0.txt
on a replicated bucket. This creates a delete marker and doesn't delete the older versions and from casual testing it doesn't reproduce.
from minio.
Thanks. I am not going to speculate too much. That said my guess is there is a window in the replication process where the request is proxied to the replica and the replica serves the headobject before the replication has deleted the object.
from minio.
Related Issues (20)
- Access failed: 550 Directory change to bucketname HOT 5
- FTP/SFTP unable to upload properly HOT 10
- Add HostAliases parameter to values.yaml HOT 1
- About Minio deployment and the AGPLv3 license. HOT 2
- Support Tagging in PostPolicy upload functionality HOT 6
- Service gets regularly killed with status=11/SEGV HOT 2
- Glacier Tier Support with External S3 Storage HOT 2
- Random and Unpredictable Upload spikes when uploading data to minio bucket from Spring Boot Application HOT 1
- Environment Variables in Docker Compose for MinIO don't seem to work.
- Unable to Initialize OpenID with Self-Signed Certificate in MinIO HOT 5
- Minio FTP service failed to upload large files starting from RELEASE.2024-04-28T17-53-50Z version HOT 6
- Docker metrics to Prometheus always report as server: 127.0.0.1:9000 instead of MINIO_SERVER_URL HOT 10
- Feat: Differentiate Between Access Keys and User Accounts in IAM Policies HOT 1
- Console and mc admin info drivers count is error HOT 2
- s3.PutObject on single transaction failed for large file HOT 9
- A bug after hot-unplugging a hard disk
- A bug after hot-unplugging a hard disk HOT 8
- It appears that Minio deviates from the way AWS S3 signs range requests: SignatureDoesNotMatch if a range header is included in the signature HOT 2
- deleting bucket HOT 2
- Health-check and some log problems with custom port HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from minio.