mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-28 18:50:53 +00:00
" The table lists connected clients. For this the clients are stored in real table when they connect, update their statuses when needed and remove^w tombstone themselves when they disconnect. On start the whole table is cleared. This looks weird. Here's another approach (inspired by the hackathon project) that makes this table a pure virtual one. The schema is preserved so is the data returned. The benefits of doing it virtual are - no on-disk updates while processing clients - no potentially failing updates on non-failing disconnect - less usage of the global qctx thing - less calls to global storage_proxy - simpler support for thrift and alternator clients (today's table implementation doesn't track them) - the need to make virtual tables reg/unreg dynamic branch: https://github.com/xemul/scylla/tree/br-clients-virtual-table-4 tests: manual(dev), unit(dev) The manual test used 80-shards node and 1M connections from 1k different IP addresses. " * 'br-clients-virtual-table-4' of https://github.com/xemul/scylla: test: Add cql-pytest sanity test for system.clients table client_data: Sanitize connection_notifier transport: Indentation fix after previous patch code: Remove old on-disk version of system.clients table system_keyspace: Add clients_v virtual table protocol_server: Add get_client_data call transport: Track client state for real transport: Add stringifiers to client_data class generic_server: Gentle iterator generic_server: Type alias docs: Add system.clients description