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.