duanhao8540
2016-03-14 07:23
浏览 591

大数据上的MongoDB聚合超时异常

I have written a query of aggregation framework (mongoDb PHP), which was working fine some days ago but now as records has been increased the query returns a MongoCursorTimeoutException

127.0.0.1:27017: Read timed out after reading 0 bytes, waited for 30.000000 seconds

and my query is

$cursor = $collection->aggregateCursor(array(
    array('$match' => $condition),
    array('$project' => $project),
    array('$group' => array(
        '_id' => $group,
        'counts' => array( '$sum' => 1)
    ))),
    array('allowDiskUse' => true, "maxTimeMS" => 300000)
);

I have also created a ticket on Jira but still there is no reply

also want to mention maxTimeMS option does not working

mongoDb version is v2.6.4

1.6.6 MongoDB database driver (legacy)

Can anybody help me to sort out this issue?

Thanks

图片转代码服务由CSDN问答提供 功能建议

我写了一个聚合框架(mongoDb PHP)的查询,它在几天前工作正常,但现在作为记录 已增加查询返回 MongoCursorTimeoutException

  127.0.0.1:27017:读取0字节后读取超时,等待30.000000秒
 <  / code>  
 
 

我的查询是

  $ cursor = $ collection-&gt; aggregateCursor(array(
 array) 匹配'=&gt; $ condition),
 array('$ project'=&gt; $ project),
 array('$ group'=&gt; array(
'_id'=&gt; $ group,
  'counts'=&gt; array('$ sum'=&gt; 1)
))),
 array('allowDiskUse'=&gt; true,“maxTimeMS”=&gt; 300000)
); 
 <  / code>  
 
 

我还在 Jira <上创建了一张票 / a>但仍然没有回复

还想提及 maxTimeMS 选项不起作用

mongoDb版本是 v2.6.4

1.6.6 MongoDB数据库驱动程序(旧版)

有人可以帮我解决这个问题吗?

谢谢

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dqblm40280 2016-03-15 07:39
    已采纳

    As I am using Doctrine MongoDB ODM module in my application I fixed my issue in the following way. In my connection configuration file socketTimeoutMS as mentioned in MongoDB PHP Docs

    'doctrine' => array(
        'connection' => array(
            'odm_default' => array(
                'server'    => '127.0.0.1',
                'port'      => '27017',
                'dbname'    => 'affiliate',
                'options'   => array('socketTimeoutMS' => 9000000)
            ),
        )
    

    you can get more details about it https://github.com/doctrine/DoctrineMongoODMModule.

    已采纳该答案
    打赏 评论

相关推荐 更多相似问题