PragmaTwice commented on PR #1489: URL: https://github.com/apache/incubator-kvrocks/pull/1489#issuecomment-1588487790
> > seems the ring buffer is shared between all connections, so just be curious that, will the functionality of SCAN get break if we have lots of client connections simultaneously? And could we make it duplicate per connections or able to adjust the buffer size dynamically? > > @PragmaTwice It cannot be per connection since we need to allow using the cursor in different connections. That's to say, the connection A got the cursor should can be visible to connection B from the client side. Is this property used by some client libraries? Actually I cannot find how and when these cursors become **invalid** (e.g. Will different connections lead to invalid cursor? Will adding and deleting elements lead to invalid cursor?) in the official document, which seems they just do not give any guarentee about this. It is sad. But I find such a statement. > Multiple parallel iterations > It is possible for an infinite number of clients to iterate the same collection at the same time, as the full state of the iterator is in the cursor, that is obtained and returned to the client at every call. No server side state is taken at all. It may make the implementation of redis cursor more harder, if we need to follow it. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
