-
Notifications
You must be signed in to change notification settings - Fork 5.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Implement listing version 3.0 #12605
Conversation
4a2b0b2
to
f9444c0
Compare
# Conflicts: # cmd/metacache-set.go
656e253
to
66d2aaf
Compare
Fixes brought forward from minio#12605 Fixes resolution when an object is in prefix of another and one zone returns the directory and another the object. Fixes resolution on single entries that arrive first, so resolution doesn't depend on order.
0c30700
to
19f893e
Compare
I ended up squashing all the commits and pushing to this branch @klauspost - since this is a simple enough change and also fixes the local erasure-coded setup behavior. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This works great in initial tests, ready to take it in.
Although this PR is good there are perhaps a lot more tuning that we need to do, there are subtle bugs like this
Without |
Also reproduces this situation @klauspost |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👎🏽 until we investigate the warp --noprefix
issue
Sure 👌 |
Interesting. Getting fine results, with set: Using |
It's a 6 node setup with 20 drives each @klauspost and 6 clients.. |
… listing-v3-refactor # Conflicts: # cmd/metacache-server-pool.go # cmd/metacache-set.go
@harshavardhana Interesting. Are you cleaning between runs? Without prefixes all objects will be in the root, so without cleanup there will be too many objects. I got a |
Yes I just let warp clean itself, I don't specify --noclear |
I suspect this issue to be some kind of a timeout problem, where the listing timesout and then ends up listing all the entries without honoring the max-keys @klauspost |
@klauspost another thing I found is the master branch
Works fine with this where as this PR does not, in-fact it seems to increase the load on the system significantly higher is that expected? |
Actually this is not correct - looks like even master branch has this issue
|
@harshavardhana I can only repro if it is not cleaned up. I did find a bug where disks would be duplicated. Just sent a fix for that. That is this PR only, though. I added a check for results in warp:
This should detect unknown or duplicated entries returned. Insert after Oh you are running multiple clients. Probably a bug with that. |
@harshavardhana Yes, multiple clients will do that, since objects are dumped in the same folder, they cannot separate them when listing. |
Mint Automation
|
The PR looks good and also fixes actually some existing problems in the server implementation. Taking this in to further tweak the master branch. |
Description
design document
Motivation and Context
See design doc above
How to test this PR?
Start server, perform listing operations.
minio/mint#327 required for mint.
Types of changes
Checklist: