Just how many keys are you passing to get_multi/set_multi?

Mentioning uwsgi, what form of thread/process configuration are you using? Keep 
in mind that in the case of forking, you must ensure the Connection object is 
create in the child process, not the parent process.

On Jul 17, 2014, at 9:19 AM, 孙如镇 <[email protected]> wrote:

> Hi Nunberg,
> 
>      My libcouchbase-dev is 2.3.2. I have tried to use your libcouchbase-dev 
> 2.4.0, but situation even be much worsen.A lot "timeout" were throw out,but 
> no "src/server.c:666: lcb_server_purge_implicit_responses: Assertion 
> `c->cmd_log.nbytes' failed." errors. Now I am sure that the error " 
> src/server.c:666: lcb_server_purge_implicit_responses: Assertion 
> `c->cmd_log.nbytes' failed." makes my python application container(uwsgi) 
> down before. By the way some time another error "evmap.c:401: Assertion ctx 
> failed in evmap_io_active", So really need your help.
> 
> Best regards.
> 
> 
> 2014-07-17 22:52 GMT+08:00 孙如镇 <[email protected]>:
> Hi Nunberg,
>   
>      Thanks for your replay. I will follow you advices and do some 
> experiments.
> 
> Best regards.
> 
> 
> 2014-07-17 22:42 GMT+08:00 M. Nunberg <[email protected]>:
> 
> Hi
> 
> Such errors would fall under the domain of the underlying libcouchbase. What 
> version of libcouchbase are you using? Version 2.3.1 and earlier has a bug 
> which may manifest itself in the symptom you are describing, so please try 
> 2.3.2 (http://www.couchbase.com/communities/c-client-library)
> 
> I would also suggest you try to run your tests with the new 2.4.0-beta 
> version to see how that goes. Get it here 
> http://packages.couchbase.com/clients/c/index.html
> 
> 
> On 07/17/2014 04:23 AM, Chen Sun wrote:
> I am a new guy to couchbase.I try to use couchbase and couchbase's
> python client in my python-base web APIs.But I find some errors when I
> use ab(a tool to test the web api performence) to test the api with some
> concurrecny http requests. The errors of the python clinet throwed
> bellow here.I want know why these errors occoured,and how to solve this
> problem.
> 
> The errors
> ---------------------------------------------------------------------------------------------------------------------------
> 
> uwsgi: src/server.c:666: lcb_server_purge_implicit_responses: Assertion 
> `c->cmd_log.nbytes' failed.
> python-couchbase: self->nremaining == 0 at src/oputil.c:77. AbortTraceback 
> (most recent call last):
>    File "api.py", line 111, in falcon.api.API.__call__ (falcon/api.c:1389)
>      #                                             startkey=start, endkey=end,
>    File "api.py", line 96, in falcon.api.API.__call__ (falcon/api.c:1210)
>      #                 end = '/' + adid + '/' + end
>    File "api.py", line 174, in on_post
>      query_results = couchbase_category.get_multi(keys, quiet=True)
>    File "/usr/local/lib/python2.7/dist-packages/couchbase/connection.py", 
> line 1053, in get_multi
>      return _Base.get_multi(self, keys, ttl=ttl, quiet=quiet, 
> replica=replica, no_format=no_format)
> couchbase.exceptions._TimeoutError_0x17 (generated, catch TimeoutError): 
> <Key=u'com.htc.fm', RC=0x17[Client-Side timeout exceeded for operation. 
> Inspect network conditions or increase the timeout], Operational Error, 
> Results=34, C Source=(src/multiresult.c,286)>
> 
> ------------------------------------------------------------------------------------------------------------------------------------
> 
> My python code
> 
> couchbase_category=  Couchbase.connect(
> 
>              bucket='Category',  host='127.0.0.1',  timeout=5)
> class  Category:
> 
>      def  on_post(self,  req,  resp):
> 
>          t1=  datetime.datetime.now()
>          content=  {}
>          # try:
>          params=  json.load(req.stream,  'utf-8')
>          keys=  []
>          for  appin  params['apps']:
> 
>              keys.append(app['bundle_id'])
> 
>          unknown_apps=  []
>          result=  {}
>          result['known_bundle_ids']  =  []
>          result['unknown_bundle_ids']  =  []
>          result['apps']  =  []
>          result['categorys']  =  []
> 
>          query_results=  couchbase_category.get_multi(keys,  quiet=True)
>          for  keyin  query_results:
> 
>              if  query_results[key].success:
>                  result['apps'].append(query_results[key].value)
>                  result['known_bundle_ids'].append(key)
>                  result['categorys'].append(
>                      query_results[key].value['categoryName'])
>              else:
>                  result['unknown_bundle_ids'].append(key)
>          result['categorys']  =  list(set(result['categorys']))
>          for  itemin  params['apps']:
> 
>              if  item['bundle_id']  in  result['unknown_bundle_ids']:
>                  unknown_apps.append(item)
>          timestamp=  time.time()
>          pipe=  r.pipeline()
>          for  appin  unknown_apps:
> 
>              pipe.zadd('uncached_apps',  timestamp,  app)
>          pipe.execute()
>          content['is_ok']  =  True
>          content['result']  =  result
>          t2=  datetime.datetime.now()
> 
>          content['total_time']  =  (t2 - t1).total_seconds()
>          # except Exception, err:
>       #   content['is_ok'] = False
>          # finally:
>          resp.status  =  falcon.HTTP_201
>          resp.body  =  json.dumps(content)
> 
> 
> --
> You received this message because you are subscribed to the Google
> Groups "Couchbase" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to [email protected]
> <mailto:[email protected]>.
> 
> For more options, visit https://groups.google.com/d/optout.
> 
> -- 
> You received this message because you are subscribed to a topic in the Google 
> Groups "Couchbase" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/couchbase/mhiJsqPkk7g/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to 
> [email protected].
> For more options, visit https://groups.google.com/d/optout.
> 
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Couchbase" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Couchbase" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to