[Owncloud] So let's fix this file indexing that never ends

Romain DEP rom1dep at gmail.com
Fri Jul 27 11:30:50 UTC 2012


Hi there,

/I'm sure the problem is well known, but I open this thread anyway : 
maybe aggregating information there will help finding a fix for this 
very annoying issue…/

Ok, well, since oc4, ownCloud uses a file system cache in order to 
search files faster. In my case, I would like to use ownCloud with a 
repository of approximately 320 000 files (yeah pretty big, I know…), 
and even if I'm not really fond of making the size of my db explode, I 
can live with it.

The problem is that the first time the db is populated, a script has to 
be run for listing every single file and creating a reference to them in 
the db. But for some unknown reason, this indexing process freezes when 
hitting some filenames. It looks like it happens on files with 
accentuated characters. After that freeze of about half a second, the 
indexing process starts again from the beginning (jumps) and it repeats 
until I leave the page.

Those are the apache logs :
[Fri Jul 27 11:05:53 2012] [error] [client myIP] PHP Fatal error: 
Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General 
error: 1267 Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and 
(utf8_general_ci,COERCIBLE) for operation '='' in 
/var/www/lib/db.php:598\nStack trace:\n#0 /var/www/lib/db.php(598): 
PDOStatement->execute(Array)\n#1 
/var/www/apps/files_sharing/lib_share.php(308): 
PDOStatementWrapper->execute(Array)\n#2 
/var/www/apps/files_sharing/sharedstorage.php(49): 
OC_Share::getSource('/user/files/Share...')\n#3 
/var/www/apps/files_sharing/sharedstorage.php(146): 
OC_Filestorage_Shared->getSource('Folder'...')\n#4 
/var/www/lib/filesystemview.php(407): 
OC_Filestorage_Shared->is_dir('Folder'...')\n#5 
/var/www/lib/filesystemview.php(146): 
OC_FilesystemView->basicOperation('is_dir', '/Shared/Folder...')\n#6 
/var/www/lib/filecache.php(549): 
OC_FilesystemView->is_dir('/Shared/Folder...')\n#7 
/var/www/lib/filecache.php(550): 
OC_FileCache::scan('/Shared/Thuysse...', Object(OC_EventSource), 627, 
'')\n#8 /var/www/lib/filecache.php(550): OC_FileCache in 
/var/www/lib/db.php on line 598, referer: http://IPServ/

In this scenario, the folder containing files with accentuated 
characters is the property of a second user who shares this directory 
with user1, and the indexing is made from the user1 account.

To further investigate, I tried mounting the filesystem with the command 
«mount -o utf8 […]» , but it didn't help. I also tried changing the 
collation attribute of oc_fscache/name from utf8_general_ci to latin and 
it didn't helped either (it was even worse, the file count before jump 
was smaller)

So, I really want to see this fixed, otherwise I'll have no other choice 
than using alfresco, and it'll make me very sad :) If you have any idea, 
please share !

Best Regards,

Romain.




More information about the Owncloud mailing list