我有一台服务器运行最新版本的Sphinx(2.0.1-id64-beta),并尝试使用最新的J / Connector JDBC驱动程序(5.1.18)通过Java应用程序访问其SphinxQL接口。每当尝试建立连接时,该进程将无限期地阻塞套接字读取。调用堆栈如下所示:
(StackExchange告诉我,由于我的声誉级别,我不允许直接发布图片。)
图片:http://dunkelhaft.dyndns-server.com/tmp/callstack.png
看起来JDBC驱动程序正在等待Sphinx服务器为其提供一些永远不会到达的消息。值得注意的是,如果我使用MySQL命令行客户端或Sequel Pro或简单的PHP脚本之类的东西,MySQL接口可以正常工作,这让我怀疑问题是Sphinx服务器和Sphinx服务器之间的某种协议差异。 JDBC协议。
有什么想法吗?
答案 0 :(得分:0)
你不是唯一一个有这个问题的人。我没有直接的解决方案,只是一些肮脏的解决方法让事情正常工作 - 看here [简而言之 - 你将不得不使用旧的连接器/ j并且需要在sphinx 2.0中进行小的改动。 3代码]。还有一个针对sphinx开发者的错误报告:#959。
修改。似乎将* mysql_version_string = 5.0.37 *添加到sphinx.conf should solve the problem。