)]}'
{"acouchbase/views.py":[{"author":{"_account_id":1005035,"name":"Dimitris Christodoulou","email":"dimitris.christodoulou@couchbase.com","username":"DemetrisChr","avatars":[{"url":"https://www.gravatar.com/avatar/4291f7baa025a5558b77019a9c264ab2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/4291f7baa025a5558b77019a9c264ab2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/4291f7baa025a5558b77019a9c264ab2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/4291f7baa025a5558b77019a9c264ab2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"585a2853ede2a0927d0613dc2d874e45ba6b77b1","unresolved":true,"context_lines":[{"line_number":35,"context_line":"                 encoded_query,"},{"line_number":36,"context_line":"                 **kwargs"},{"line_number":37,"context_line":"                 ):"},{"line_number":38,"context_line":"        num_workers \u003d kwargs.pop(\u0027num_workers\u0027, None) or 1"},{"line_number":39,"context_line":"        super().__init__(connection, encoded_query, **kwargs)"},{"line_number":40,"context_line":"        self._loop \u003d loop"},{"line_number":41,"context_line":"        self._tp_executor \u003d ThreadPoolExecutor(num_workers)"}],"source_content_type":"text/x-python","patch_set":1,"id":"0f9f91a1_b80fda6b","line":38,"updated":"2026-06-15 15:51:49.000000000","message":"NIT: Can this be `kwargs.pop(\u0027num_workers\u0027, 1)` instead?","commit_id":"04a50357918e3567204083af36050bdfaede8fa7"},{"author":{"_account_id":1004568,"name":"Jared Casey","email":"jared.casey@couchbase.com","username":"thejcfactor","avatars":[{"url":"https://www.gravatar.com/avatar/20ac69da8a1fb4cc11bdd1c880389132.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/20ac69da8a1fb4cc11bdd1c880389132.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/20ac69da8a1fb4cc11bdd1c880389132.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/20ac69da8a1fb4cc11bdd1c880389132.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"89ccb085e4eecbbe883219dc66b4d395a6911a7d","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                 encoded_query,"},{"line_number":36,"context_line":"                 **kwargs"},{"line_number":37,"context_line":"                 ):"},{"line_number":38,"context_line":"        num_workers \u003d kwargs.pop(\u0027num_workers\u0027, None) or 1"},{"line_number":39,"context_line":"        super().__init__(connection, encoded_query, **kwargs)"},{"line_number":40,"context_line":"        self._loop \u003d loop"},{"line_number":41,"context_line":"        self._tp_executor \u003d ThreadPoolExecutor(num_workers)"}],"source_content_type":"text/x-python","patch_set":1,"id":"0ff1018f_862fbfee","line":38,"in_reply_to":"0f9f91a1_b80fda6b","updated":"2026-06-15 17:13:39.000000000","message":"So, when we build the request (`BucketRequestBuilder.build_view_query_request()`), we do `num_workers \u003d kwargs.pop(\u0027num_workers\u0027, None)`, so most likely the request has `num_workers \u003d None` (this is not really a \"public\" option in that we don\u0027t advertise it, but folks can pass it into the kwargs of the various streaming operations).  Since we want to default to 1 and not the max the machine will allow, the `kwargs.pop(\u0027num_workers\u0027, None) or 1` is necessary.\n\nNote:  this applies to all streaming operations.","commit_id":"04a50357918e3567204083af36050bdfaede8fa7"}],"couchbase/logic/streaming.py":[{"author":{"_account_id":1005035,"name":"Dimitris Christodoulou","email":"dimitris.christodoulou@couchbase.com","username":"DemetrisChr","avatars":[{"url":"https://www.gravatar.com/avatar/4291f7baa025a5558b77019a9c264ab2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/4291f7baa025a5558b77019a9c264ab2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/4291f7baa025a5558b77019a9c264ab2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/4291f7baa025a5558b77019a9c264ab2.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"585a2853ede2a0927d0613dc2d874e45ba6b77b1","unresolved":true,"context_lines":[{"line_number":61,"context_line":"        req._process_core_span()"},{"line_number":62,"context_line":"        return row"},{"line_number":63,"context_line":"    except asyncio.QueueEmpty:"},{"line_number":64,"context_line":"        excptn \u003d _internal_exception(f\u0027Unexpected QueueEmpty exception caught when doing {op_name} query.\u0027)"},{"line_number":65,"context_line":"        req._finalize(exc_val\u003dexcptn)"},{"line_number":66,"context_line":"        raise excptn"},{"line_number":67,"context_line":"    except StopAsyncIteration:"}],"source_content_type":"text/x-python","patch_set":1,"id":"e85b6ce2_3a244cb0","line":64,"updated":"2026-06-15 15:51:49.000000000","message":"Out of curiosity, do we ever see an `asyncio.QueueEmpty`? It doesn\u0027t sound like something that would happen (the exception message does say this tbf)","commit_id":"04a50357918e3567204083af36050bdfaede8fa7"},{"author":{"_account_id":1004568,"name":"Jared Casey","email":"jared.casey@couchbase.com","username":"thejcfactor","avatars":[{"url":"https://www.gravatar.com/avatar/20ac69da8a1fb4cc11bdd1c880389132.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/20ac69da8a1fb4cc11bdd1c880389132.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/20ac69da8a1fb4cc11bdd1c880389132.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/20ac69da8a1fb4cc11bdd1c880389132.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"89ccb085e4eecbbe883219dc66b4d395a6911a7d","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        req._process_core_span()"},{"line_number":62,"context_line":"        return row"},{"line_number":63,"context_line":"    except asyncio.QueueEmpty:"},{"line_number":64,"context_line":"        excptn \u003d _internal_exception(f\u0027Unexpected QueueEmpty exception caught when doing {op_name} query.\u0027)"},{"line_number":65,"context_line":"        req._finalize(exc_val\u003dexcptn)"},{"line_number":66,"context_line":"        raise excptn"},{"line_number":67,"context_line":"    except StopAsyncIteration:"}],"source_content_type":"text/x-python","patch_set":1,"id":"d35ebb72_9f61fef3","line":64,"in_reply_to":"e85b6ce2_3a244cb0","updated":"2026-06-15 17:13:39.000000000","message":"Ahh, good catch.  I created PYCBC-1779 to remove these (it is left over from long ago).","commit_id":"04a50357918e3567204083af36050bdfaede8fa7"}]}
