33 keys were used by get_multi, my uwsgi command is "*sudo uwsgi -s
/tmp/uwsgi.sock  --wsgi-file api.py --callable app --master --process 4  -R
10000", *I didn't use threads.


2014-07-18 0:24 GMT+08:00 Mark Nunberg <[email protected]>:

> 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 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.

Reply via email to