PreprocessingService: More than 1000 expressions in a list are not allowed on Oracle
Open
Nobody has claimed this yet.
1. to develop
bug
- Dominant language
- JavaScript
- Stars
- 1k
- Forks
- 348
- Avg merge
- 12h 28m
- Merged PRs (30d)
- 91
Description
Steps to reproduce
unknown
Expected behavior
No errors
Actual behavior
Every day those entries are found in nextcloud.log
Mail app version
2.2.5
Mailserver or service
Postfix
Operating system
Debian 11
PHP engine version
PHP 7.4
Web server
Apache (supported)
Database
MySQL
Additional info
[core] Fehler: Doctrine\DBAL\Query\QueryException: More than 1000 expressions in a list are not allowed on Oracle. at <>
- /var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php line 294
OC\DB\QueryBuilder\QueryBuilder->execute()- /var/www/nextcloud/lib/public/AppFramework/Db/QBMapper.php line 336
OC\DB\QueryBuilder\QueryBuilder->executeQuery()- /var/www/nextcloud/apps/mail/lib/Db/MessageMapper.php line 1381
OCP\AppFramework\Db\QBMapper->findEntities()- /var/www/nextcloud/apps/mail/lib/Service/PreprocessingService.php line 66
OCA\Mail\Db\MessageMapper->getUnanalyzed()- /var/www/nextcloud/apps/mail/lib/BackgroundJob/PreviewEnhancementProcessingJob.php line 94
OCA\Mail\Service\PreprocessingService->process()- /var/www/nextcloud/lib/public/BackgroundJob/Job.php line 78
OCA\Mail\BackgroundJob\PreviewEnhancementProcessingJob->run()- /var/www/nextcloud/lib/public/BackgroundJob/TimedJob.php line 103
OCP\BackgroundJob\Job->start()- /var/www/nextcloud/lib/public/BackgroundJob/TimedJob.php line 93
OCP\BackgroundJob\TimedJob->start()- /var/www/nextcloud/cron.php line 152
OCP\BackgroundJob\TimedJob->execute()
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading apps/mail/lib/Service/PreprocessingService.php at line 66 and apps/mail/lib/Db/MessageMapper.php at line 1381, then trace the PreviewEnhancementProcessingJob entry point. The reported failure is the Oracle limit on more than 1000 expressions in a list; completion should prevent this exception from appearing during background preprocessing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- backend, database
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100