Skip to content

Don't fetch schema version on all connections #1289

@muzarski

Description

@muzarski

During internal discussion, we concluded that drivers unnecessarily executes SELECT schema_version FROM system.local WHERE key='local' query on all connections when it awaits schema agreement. Each table (including system tables) is defined "per-node" and all shards read from it.

There is a room for optimization - we can execute the query on just one connection to the specific node.

Part of the discussion for reference:

Analogously, when driver checks for schema agreement, it executes SELECT schema_version FROM system.local WHERE key='local' on each shard and checks if queried schema_versions match.

This is obviously inefficient, there is only one scylla.local table per node, and all shards read from it.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestperformanceImproves performance of existing features

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions