Skip to content

Merge connection pools in vttablet component using taskPool #563

Description

@earayu

Background

Currently, the vttablet component has multiple connection pools for various tasks, leading to complexity and potential performance issues. To streamline and optimize this process, it is proposed to consolidate these connection pools into a unified taskPool.

Proposal

The proposal is to merge the existing connection pools in the vttablet component into a single taskPool. This consolidation will simplify the codebase, improve resource management, and enhance overall performance.

Step 1: Identify All Connection Pools

We can locate all connection pools and their active connection counts through vttablet's http://localhost:15100/metrics endpoint.

Connection pool metrics end with _active, so we can filter these metrics using a regular expression:

curl http://localhost:15100/metrics | grep -E "^\w+_active.*"

Step 2: Locate Code by Pool Names

Taking vttablet_health_streamer_active 1 as an example, we can search for "HealthStreamer" in the codebase. (Note: Convert characters after underscores to uppercase)
This will correspond to a connection pool named "HealthStreamer".

Step 3: Migrate Components to taskPool

Replace each component's connection pool with taskPool on a case-by-case basis...

Metadata

Metadata

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions