Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix table deletion in table client for boltdb-shipper #2960

Merged

Conversation

sandeepsukhani
Copy link
Contributor

What this PR does / why we need it:
When listing contents of a directory in hosted object stores(s3, gcs etc), it needs to end with a separator otherwise get the list of all the directories starting with that prefix. The code was missing the delimiter causing deletion operation to find directories instead of files and hence fail the deletion operation.
This PR fixes it by adding a delimiter to the name of the table during list operation.

@@ -48,7 +48,7 @@ func (b *boltDBShipperTableClient) Stop() {
}

func (b *boltDBShipperTableClient) DeleteTable(ctx context.Context, name string) error {
objects, dirs, err := b.objectClient.List(ctx, name, delimiter)
objects, dirs, err := b.objectClient.List(ctx, name+delimiter, delimiter)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should add a test for this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A test is there but it uses filesystem object client which works with or without a delimiter, we don't have an easy way to test this with hosted object stores without mocking the client.

Copy link
Contributor

@cyriltovena cyriltovena left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@kavirajk kavirajk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@sandeepsukhani sandeepsukhani merged commit ae9c4b8 into grafana:master Nov 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants