mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-30 19:46:48 +00:00
The query processor is present in the global namespace and is widely accessed with global get(_local)?_query_processor(). There's a long-term task to get rid of this globality and make services and componenets reference each-other and, for and due-to this, start and stop in specific order. This set makes this for the query processor. The remaining users of it are -- alternator, controllers for client services, schema_tables and sys_dist_ks. All of them except for the schema_tables are fixed just by passing the reference on query processor with small patches. The schema tables accessing qp sit deep inside the paxos code, but can be "fixed" with the qctx thing until the qctx itself is de-globalized. * https://github.com/xemul/scylla/tree/br-rip-global-query-processor: code: RIP global query processor instance cql test env: Keep query processor reference on board system distributed keyspace: Start sharded service erarlier schema_tables: Use qctx to make internal requests transport: Keep sharded query processor reference on controller thrift: Keep sharded query processor reference on controller alternator: Use local query processor reference to get keys alternator: Keep local query processor reference in server