-
Notifications
You must be signed in to change notification settings - Fork 87
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
Make sure that number of query parameters doesn't exceed limitations #1805
Comments
Current usage of
And another usage of |
Found another one in a customer log
|
@CarlSchwan I have the same error it seems that the bug is triggered when there are more than 1000 files in the folder Nextcloud version : 22.2.3 |
+1 ... exactly same situation (logs) as mentioned by @fedisto ... |
If someone want to test it, I created #1891 |
@CarlSchwan I manually applied patch #1891 to RuleManager.php file of a NC 22.2.4 GF 10.0.2 installation and the issue seems gone ... |
Thanks for testing 👍 I will look into backporting it tomorrow |
@CarlSchwan, I also applied manually the patch and it works. |
@CarlSchwan, For my instance the limitation is hit in This // apps/groupfolders/lib/MOunt/MountProvider.php
// function findConflictsForUser
$query->select('path')
->from('filecache')
->where($query->expr()->eq('storage', $query->createNamedParameter($userHome->getNumericStorageId(), IQueryBuilder::PARAM_INT)))
->andWhere($query->expr()->in('path_hash', $query->createNamedParameter($pathHashes, IQueryBuilder::PARAM_STR_ARRAY))); We use a combination of groupfolders and circles with many groups. So maybe only the Admin-User is affected. But the log is bloated with this error, that it is hard to see other errors. {
"reqId": "9lTOgTZASDUAI2bbdm0n",
"level": 3,
"time": "2022-04-27T09:50:03+00:00",
"remoteAddr": "127.0.0.1",
"user": "Administrator",
"app": "core",
"method": "POST",
"url": "/apps/text/session/sync",
"message": "More than 1000 expressions in a list are not allowed on Oracle.",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0",
"version": "22.2.7.1",
"exception": {
"Exception": "Doctrine\\DBAL\\Query\\QueryException",
"Message": "More than 1000 expressions in a list are not allowed on Oracle.",
"Code": 0,
"Trace": [
{
"file": "/var/www/nextcloud/apps/groupfolders/lib/Mount/MountProvider.php",
"line": 254,
"function": "execute",
"class": "OC\\DB\\QueryBuilder\\QueryBuilder",
"type": "->",
"args": []
},
{
"file": "/var/www/nextcloud/apps/groupfolders/lib/Mount/MountProvider.php",
"line": 110,
"function": "findConflictsForUser",
"class": "OCA\\GroupFolders\\Mount\\MountProvider",
"type": "->",
"args": [
{
"__class__": "OC\\User\\User"
},
[
// removed for anonymization
]
]
},
{
"file": "/var/www/nextcloud/lib/private/Files/Config/MountProviderCollection.php",
"line": 108,
"function": "getMountsForUser",
"class": "OCA\\GroupFolders\\Mount\\MountProvider",
"type": "->",
"args": [
{
"__class__": "OC\\User\\User"
},
{
"__class__": "OC\\Files\\Storage\\StorageFactory"
}
]
},
{
"file": "/var/www/nextcloud/lib/private/Files/Filesystem.php",
"line": 424,
"function": "addMountForUser",
"class": "OC\\Files\\Config\\MountProviderCollection",
"type": "->",
"args": [
{
"__class__": "OC\\User\\User"
},
{
"__class__": "OC\\Files\\Mount\\Manager"
}
]
},
{
"file": "/var/www/nextcloud/lib/private/Files/Node/Root.php",
"line": 378,
"function": "initMountPoints",
"class": "OC\\Files\\Filesystem",
"type": "::",
"args": [
"Administrator"
]
},
{
"function": "getUserFolder",
"class": "OC\\Files\\Node\\Root",
"type": "->",
"args": [
"Administrator"
]
},
{
"file": "/var/www/nextcloud/lib/private/Files/Node/LazyFolder.php",
"line": 65,
"function": "call_user_func_array",
"args": [
[
{
"__class__": "OC\\Files\\Node\\Root"
},
"getUserFolder"
],
[
"Administrator"
]
]
},
{
"file": "/var/www/nextcloud/lib/private/Files/Node/LazyRoot.php",
"line": 40,
"function": "__call",
"class": "OC\\Files\\Node\\LazyFolder",
"type": "->",
"args": [
"getUserFolder",
[
"Administrator"
]
]
},
{
"file": "/var/www/nextcloud/apps/text/lib/Service/DocumentService.php",
"line": 401,
"function": "getUserFolder",
"class": "OC\\Files\\Node\\LazyRoot",
"type": "->",
"args": [
"Administrator"
]
},
{
"file": "/var/www/nextcloud/apps/text/lib/Service/DocumentService.php",
"line": 378,
"function": "getFileById",
"class": "OCA\\Text\\Service\\DocumentService",
"type": "->",
"args": [
23870,
"Administrator"
]
},
{
"file": "/var/www/nextcloud/apps/text/lib/Service/ApiService.php",
"line": 167,
"function": "getFileForSession",
"class": "OCA\\Text\\Service\\DocumentService",
"type": "->",
"args": [
{
"id": 220,
"__class__": "OCA\\Text\\Db\\Session"
},
null
]
},
{
"file": "/var/www/nextcloud/apps/text/lib/Controller/SessionController.php",
"line": 82,
"function": "sync",
"class": "OCA\\Text\\Service\\ApiService",
"type": "->",
"args": [
23870,
220,
"57dSL5vh9nJk7CRvCrooT9x4UT2ppjvIDUATQ9xaH3zLrdGUKS+pJkRUC7emTcUW",
0,
null,
false,
false
]
},
{
"file": "/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php",
"line": 217,
"function": "sync",
"class": "OCA\\Text\\Controller\\SessionController",
"type": "->",
"args": [
23870,
220,
"57dSL5vh9nJk7CRvCrooT9x4UT2ppjvIDUATQ9xaH3zLrdGUKS+pJkRUC7emTcUW",
0,
null,
false,
false
]
},
{
"file": "/var/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php",
"line": 126,
"function": "executeController",
"class": "OC\\AppFramework\\Http\\Dispatcher",
"type": "->",
"args": [
{
"__class__": "OCA\\Text\\Controller\\SessionController"
},
"sync"
]
},
{
"file": "/var/www/nextcloud/lib/private/AppFramework/App.php",
"line": 156,
"function": "dispatch",
"class": "OC\\AppFramework\\Http\\Dispatcher",
"type": "->",
"args": [
{
"__class__": "OCA\\Text\\Controller\\SessionController"
},
"sync"
]
},
{
"file": "/var/www/nextcloud/lib/private/Route/Router.php",
"line": 302,
"function": "main",
"class": "OC\\AppFramework\\App",
"type": "::",
"args": [
"OCA\\Text\\Controller\\SessionController",
"sync",
{
"__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer"
},
{
"_route": "text.Session.sync"
}
]
},
{
"file": "/var/www/nextcloud/lib/base.php",
"line": 1008,
"function": "match",
"class": "OC\\Route\\Router",
"type": "->",
"args": [
"/apps/text/session/sync"
]
},
{
"file": "/var/www/nextcloud/index.php",
"line": 36,
"function": "handleRequest",
"class": "OC",
"type": "::",
"args": []
}
],
"File": "/var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php",
"Line": 270,
"CustomMessage": "More than 1000 expressions in a list are not allowed on Oracle."
}
} Groupfolders: 10.0.2 |
@nicro87 thanks for the report, Could you try #1974? :) |
Thx for the quick reply. I think that fixed the issue with groupfolders. But that does not belong to this issue. I can post it later in detail. Thank you again. Do you backport it to 21 or 22? Greetz, |
Seems this was fixed with #1974 |
As #1702 shows, we have queries that have the potential of hitting the Oracle limitation of 1000 parameters per query. We should check all queries and fix any potential issues by rewriting or chunking the queries as done for example in nextcloud/mail#4947, nextcloud/server#27187 or #1804.
The text was updated successfully, but these errors were encountered: