这里只有一个连接和一个用户。
d = l.descriptions.first
Language#descriptions 1200270ms MATCH language137, language137-[rel1:`DESCRIBED_IN`]->(result_descriptions:`Description`) WHERE (ID(language137) = {ID_language137}) RETURN result_descriptions | {:ID_language137=>137}
Faraday::TimeoutError: too many connection resets (due to Net::ReadTimeout - Net::ReadTimeout) after 0 requests on 70156828873380, last used 1438628883.105085 seconds ago
之后不允许其他连接,直到服务器重新启动。这里出了什么问题?
这里是我想做的更详细的事情:选择一种语言,即英语。获取英语描述的计数。搜索第一个英文描述。这永远不会返回或传递连接错误。在最后一个连接的长时间运行期间,没有其他连接可以打开到数据库。
irb(main):001:0> l = Language.find_by(iso_639_2_code: 'eng')
CYPHER 316ms MATCH (n:`Language`) WHERE (n.iso_639_2_code = {n_iso_639_2_code}) RETURN n LIMIT {limit_1} | {:n_iso_639_2_code=>"eng", :limit_1=>1}
=> #<Language uuid: nil, english_name_of_language: "English", french_name_of_language: "anglais", german_name_of_language: "Englisch", iso_639_1_code: "en", iso_639_2_code: "eng", spoken_in: "English, a West Germanic language is the first language for about 309–400 million people. See: Countries by Languages - English Speaking Countries.">
irb(main):002:0>
irb(main):005:0* n = l.descriptions.count
Language#descriptions 17749ms MATCH language137, language137-[rel1:`DESCRIBED_IN`]->(result_descriptions:`Description`) WHERE (ID(language137) = {ID_language137}) RETURN count(result_descriptions) AS result_descriptions | {:ID_language137=>137}
=> 2107041
irb(main):006:0> d = l.descriptions.first
我认为我们在gems 5.0版本中修复了这个问题。你能试试升级吗?
这个问题被转移到neo4jrb git仓库,neo4j维护者通过建议从5.0.9升级到gem核心版本5.0.11来解决
如果Neo4j数据库服务器变得无响应,您可能会看到此错误。要解决这个问题,请重新启动Neo4j数据库服务器。
bundle exec rake neo4j:stop
bundle exec rake neo4j:start