Uploaded image for project: 'Couchbase Python Client Library'
  1. Couchbase Python Client Library
  2. PYCBC-901

Async tests pass against mock, fail on real server

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 3.1.3
    • 3.0.0-rc
    • tests
    • None
    • 1
    • SDK17: FLE/DOC/ServerlessPF, SDK19: .N/Py Maint,FLE,Txn RFC

    Description

      At least, when I'm on a 6.0.3 cluster.  For instance - running nose tests acouchbase/tests/asyncio_tests.py:

      Traceback (most recent call last):
       File "/Users/davidkelly/projects/gerrit/couchbase-python-client/couchbase/cluster.py", line 520, in _operate_on_an_open_bucket
       return verb(self._get_an_open_bucket(kwargs.pop('err_msg', 'Cluster has no open buckets')),
       File "/Users/davidkelly/projects/gerrit/couchbase-python-client/couchbase/cluster.py", line 502, in _get_an_open_bucket
       raise NoBucketException(err_msg)
       couchbase_core.cluster.NoBucketException: <Query requires an open bucket>
       
      The above exception was the direct cause of the following exception:
       
      Traceback (most recent call last):
       File "/Users/davidkelly/projects/gerrit/couchbase-python-client/acouchbase/tests/fixtures.py", line 17, in wrapper
       loop.run_until_complete(future)
       File "/usr/local/Cellar/python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py", line 583, in run_until_complete
       return future.result()
       File "/Users/davidkelly/projects/gerrit/couchbase-python-client/acouchbase/tests/py34only.py", line 81, in test_n1ql
       it = cluster.query(self.query_props.statement)
       File "/Users/davidkelly/projects/gerrit/couchbase-python-client/acouchbase/cluster.py", line 84, in query
       return super(AIOClientMixin, self).query(*args, **kwargs)
       File "/Users/davidkelly/projects/gerrit/couchbase-python-client/couchbase/cluster.py", line 494, in query
       err_msg="Query requires an open bucket")
       File "/Users/davidkelly/projects/gerrit/couchbase-python-client/couchbase/cluster.py", line 512, in _maybe_operate_on_an_open_bucket
       return self._operate_on_an_open_bucket(verb, failtype, *args, **kwargs)
       File "/Users/davidkelly/projects/gerrit/couchbase-python-client/couchbase/cluster.py", line 525, in _operate_on_an_open_bucket
       inner_cause=e)), e)
       File "<string>", line 3, in raise_from
       couchbase.exceptions.QueryException: <RC=0x41E[LCB_ERR_QUERY (1054)], Cluster operation on bucket failed, inner_cause=<Query requires an open bucket>>
       

       

      I've not looked at why, but probably the cluster opened by the tests didn't open a bucket.  Or, the async stuff somehow doesn't keep track of a cluster's open buckets?  Probably since it isn't tested against live servers (integration tests), this was missed for quite some time.  

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              jared.casey Jared Casey
              david.kelly David Kelly (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty