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.