Skip to content

Perform GC in parallel #4152

@vito

Description

@vito

In #3602 we noticed that during a VACUUM container counts would climb up and max out the workers.

This seems to imply that GC was held up somewhere. If containers are being created, queries are running to create those, so it's not like the whole table is locked up.

We currently run all of our collectors one after another:

func (c *aggregateCollector) Run(ctx context.Context) error {

Maybe one of the collectors was blocked waiting on the VACUUM? Should we run these in parallel on independent loops instead?

Can we confirm the slowdown by observing logs on the algorithm environment? (This is time-sensitive, since they don't currently aggregate anywhere.)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions