new sphinx, new connector/j headaches

sphinx 2.0.3 is out; and as new drama of getting mysql’s connector/j begins. i did not figure out [yet] any way of making both work using the latest 5.1.18 connector, but at least i’ve managed to convince one that i use now [ 5.1.15 ] to work with sphinx.

what works:
mysql-connector-java-5.1.13-bin.jar

"jdbc:mysql://host:9306/test1?socketTimeout=2000&connectTimeout=200&characterEncoding=utf8&maxAllowedPacket=512000"
// this also comes handy: enablePacketDebug=true&traceProtocol=true&logger=com.mysql.jdbc.log.StandardLogger

but.. only if you modify src/searchd.cpp and change sHandshake2[]

..
"\x08\x82" // server capabilities; CLIENT_PROTOCOL_41 | CLIENT_CONNECT_WITH_DB | SECURE_CONNECTION
..

into

..
"\x08\x02" // server capabilities; CLIENT_PROTOCOL_41 | CLIENT_CONNECT_WITH_DB | SECURE_CONNECTION
..

to sum-up: kill me down.

bug report in the sphinx issue tracking system: #959.

edit: it seems that adding mysql_version_string = 5.0.37 in the sphinx.conf should sort things out. i’ll have a chance to test it in a few weeks of time. edit. no – that does not work; at least not with connector/j 5.1.5.

2012-03-09 final edit[?] it seems that this commit fixes the problem with connector/j 5.1.18 ; sphinx from trunk – r3119 with “mysql_version_string = 5.0.37” in the sphinx.conf works fine with latest connector/j, requires “jdbc:mysql://host:9306/data?characterEncoding=utf8&maxAllowedPacket=512000” connection string; unfortunately this fix was not included in 2.0.4 although ‘fresh’ ; trunk version r3143 – seems to work fine.

2012-08-04 yet another final edit[?] it seems that 2.0.x branch will have broken handling for new connector/js. only option is to grab trunk version for the future 2.1.x branches and use it. i’m running it now on the test environment and probably will put it on the production after a while.

Leave a Reply

Your email address will not be published. Required fields are marked *

(Spamcheck Enabled)