Skip to content

Conversation

@jirislav
Copy link

Resolves #905.

@github-actions
Copy link

Hello there,
Thank you so much for taking the time and effort to create a pull request to our Nextcloud project.

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);
Copy link
Member

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) {
Copy link
Member

@marcelklehr marcelklehr Jan 7, 2025

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 :)

@Murazaki
Copy link

Murazaki commented Feb 5, 2025

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 ?

@marcelklehr
Copy link
Member

Yes, it's a performance issue

@marcelklehr
Copy link
Member

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?

@jirislav
Copy link
Author

Hello @marcelklehr! Thanks for the review

Yes, it's a performance issue

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.

Would you be up for implementing the changes necessary for this PR?

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support for --folder and --user parameters in occ recognize:classify

3 participants