[Wed Oct 10 20:08:00.461 2018] [14836] WARNING: index 'tVor': mlock() failed: errno 1453 for attributes
[Wed Oct 10 20:08:00.463 2018] [14836] WARNING: index 'tVor': mlock() failed: errno 1453 for strings
[Wed Oct 10 20:08:00.473 2018] [14836] WARNING: index 'tVor': mlock() failed: errno 1453 for dictionary
should work as usual. Could you check that you have right to lock memory and your index size could be loaded into memory, ie your box has more free memory than spa \ sps \ spi files of tVor index?
So, i have tested with running as a service or stand alone searchd, and have also set permissions in the group policy to allow local services to lock memory - NO LUCK!
Other software on this server like mySQL who also use mlock running perfectly with mlock.
What is your OS version? What Manticore package do you use ?
As I said with my setup mlock on Windows 10 works fine - I see no issues.
To investigate issue further I need reproducible example from you - config \ index files \ search.log after daemon started with --logdebug cli option or maybe you might provide Docker container or VM snapshot that reproduces issue.
Other software on this server like mySQL who also use mlock running perfectly with mlock.
And for MySQL I see they do not have mlock feature implemented on windows that is why you see no warnings there. As according to ticket https://bugs.mysql.com/bug.php?id=37676 “Allow Lock in Memory on Windows” that is still unimplemented feature at MySQL
OS: Windows Server 2016
Manticore 2.7.3 / manticore-2.7.3-180926-d07c4d43-x64-bin.zip
The following config use mlock until a limit from 500 records.
If i set the limit to 1000 or more, mlock fails
spa \ sps \ spi filesize with 500 records = 78KB, free memory 80GB
tnx for helping
Peter
source srcWls
{
sql_db = ******
sql_port = 3308
sql_query = SELECT linkNr,99 AS db,linkDomainNr,linkWls,linkBoost,CASE WHEN RIGHT(linkUrl,4)=’.pdf’ THEN 1 ELSE LENGTH(linkBody) END AS bodyLen,CONVERT(UNCOMPRESS(linkBody) USING ‘latin1’) AS linkBody,linkTitle,linkUrl,linkLng,linkTyp,linkKey,linkDesc FROM tWls LIMIT 500
type = mysql
sql_host = localhost
sql_user = ******
sql_pass = ******
sql_attr_uint = linkLng
sql_attr_uint = linkBoost
sql_attr_uint = linkDomainNr
sql_attr_uint = linkWls
sql_attr_uint = db
sql_attr_uint = bodyLen
sql_attr_uint = linkTyp
sql_query_pre = SET NAMES utf8
}
the only thing what i can do is to test the same config on a windows 10 pc …
but anyway, if it runs, fine - then we know the same as now - it not runs on Windows Server 2016.
I mine it must be a problem with the free memory call on the server. So, if nobody can test this on a server, then the problem will never be found.
btw. a database software like Manticore/Sphinx runs mostly on a server system, not on a pc. Just my opinion …
could you provide search.log for cases with logdebug enabled for either problem exists and problem vanished. As from your description is not clear what happened.