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