You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 13, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Aug 13, 2026. It is now read-only.
Stream keys on pbc issues, with early close of the stream [JIRA: CLIENTS-1051] #507
If you close a stream before it is finished, then it still try to drain an opened socket with incoming data.
Maybe you should close the resource instead of releasing it in such a case.
def close(self):
# We have to drain the socket to make sure that we don't get
# weird responses when some other request comes after a
# failed/prematurely-terminated one.
try:
while self.next():
pass
except StopIteration:
pass
self.resource.release()
Of course you cannot achieve that with the client wrapper that yields results through an iterator, and is not closeable.
changed the title [-]Stream keys on pbc issues, with early close of the stream[/-][+]Stream keys on pbc issues, with early close of the stream [JIRA: CLIENTS-1051][/+]on Nov 29, 2016
I also suggest that you update documentation. Because the stream_keys() wrapper cannot be manually closed as stated in documentation. The wrapper try/finally for us.
# obviously tthis is a method in a class with self.riak = client, and self.bucket, the bucket
def stream(self, limit=10):
i = 0
resource = self.riak._acquire()
transport = resource.object
stream = transport.stream_keys(self.bucket, timeout=timeout)
stream.attach(resource)
try:
for keylist in stream:
for key in keylist:
key = bytes_to_str(key)
i += 1
if limit and i > limit:
logger.debug('Stream limit reached (%d)' % limit)
raise StopIteration
yield self.bucket.get(key)
finally:
self.riak._choose_pool().delete_resource(stream.resource)
Activity
[-]Stream keys on pbc issues, with early close of the stream[/-][+]Stream keys on pbc issues, with early close of the stream [JIRA: CLIENTS-1051][/+]Guibod commentedon Nov 29, 2016
I also suggest that you update documentation. Because the stream_keys() wrapper cannot be manually closed as stated in documentation. The wrapper try/finally for us.
Guibod commentedon Nov 29, 2016
I've solved, by deleting my resource
lukebakken commentedon Dec 6, 2016
Hello ... I think I get what's going on, but it would be more helpful to have a complete example if possible. Can you provide one?