-
Couldn't load subscription status.
- Fork 55
feat(Classify): allow specifying user/path #905 #1225
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
base: main
Are you sure you want to change the base?
Conversation
|
Hello there, We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process. Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6 Thank you for contributing to Nextcloud and we hope to hear from you soon! (If you believe you should not receive this message, you can add yourself to the blocklist.) |
|
|
||
| if ($userFilter === null && $pathFilter !== null) { | ||
| $this->logger->warning('Path filter is set, but no user filter is set. Ignoring path filter.'); | ||
| unset($pathFilter); |
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.
Sweet!
| ]; | ||
| foreach ($this->storageService->getFilesInMount($mount['storage_id'], $mount['override_root'], $models, $lastFileId) as $file) { | ||
|
|
||
| if ($pathMatcher !== null) { |
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 will go through all files of the nextcloud instance even if only a single folder is given via the parameter. If we check the users of the mounts the we got in line 123 we can short circuit mounts that can not be accessed by the user that was requested. I hope that's understandable :) This way we can avoid a lot of needless db queries :)
|
This would be very helpful. I wonder if this is safe to use as a patch ? @marcelklehr seems to be saying the code still crawl through all folders, but I guess it's mostly a performance issue ? |
|
Yes, it's a performance issue |
|
Hello @jirislav Thank you for your work. I'd like to invite you to our community talk room where our developers hang out for development-related discussions: https://cloud.nextcloud.com/call/xs25tz5y Also, hit me up if you want a guest account for that nextcloud instance. Would you be up for implementing the changes necessary for this PR? |
|
Hello @marcelklehr! Thanks for the review
I was also aware of needlessly traversing the DB when I was writing this, but I also figured that it is crawling only through the metadata, not the files themselves, so it doesn't have much impact. Also, I have a single-user Nextcloud instance.
I definitely would, if I had spare time, but I don't have it currently. Could you or someone else take it from here please? My main goal was to limit classification only to specific paths, because I have few TB of data in my instance, but only hundreds of GB of files I actually needed to classify. I achieved this with this PR, so it is very low on my priority list. |
Resolves #905.