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

Install v2 problem #32

Closed
sebheitzmann opened this issue Sep 4, 2024 · 7 comments
Closed

Install v2 problem #32

sebheitzmann opened this issue Sep 4, 2024 · 7 comments

Comments

@sebheitzmann
Copy link
Contributor

Hi,

i'm interessed by your library for a spécific use case. But i can't install the v2 version.

I have tried with different go version ( 1.21, 1.22, 1.23 ) without success. Can't understand what's going on.

go get github.com/thomasjungblut/go-sstables@v2
go: github.com/thomasjungblut/go-sstables@v2: no matching versions for query "v2"

Thanks in advance.

@thomasjungblut
Copy link
Owner

Hey @sebheitzmann - terribly sorry for the late reply.

Thanks for reporting, I've certainly messed up the go mod here as the major version releases need to be defined differently as documented in https://go.dev/blog/v2-go-modules

I think I'm going to kick the v2 release out of the repo for now and will re-release the v2 as v1.4.0 and the current main as v1.5.0. Give me a few minutes, brb.

@thomasjungblut
Copy link
Owner

Done.

go get github.com/thomasjungblut/go-sstables

should get you the v1.5.0. Alternatively you can get the v1.4.0 which was the v2 release you've tried to pull earlier.
Note I found a failure path in #31 in the sstables, which is a bit nasty to repair after it happend. May or may not apply to you when you're using this.

Thanks!

@sebheitzmann
Copy link
Contributor Author

Thank you very much. I will give it a try tomorrow

@sebheitzmann
Copy link
Contributor Author

It works, thank you very much. I will close this issue.

Juste one question. It seems that there is no garbage collection implemented to effectively remove the thumbstoned keys. I am wrong ? If not i can maybe contribute to implement it.

@thomasjungblut
Copy link
Owner

Lovely, thanks for confirming.

The tombstoning GC is missing, that's right. Long-standing TODO here:

// TODO(thomas): this includes tombstones, do we really need to keep them?
err = sstables.NewSSTableMerger(db.cmp).MergeCompact(iterators, writer, sstables.ScanReduceLatestWins)
if err != nil {
return nil, err
}

Shouldn't be super difficult to add a more sophisticated version of the reduce function. If you want to contribute it, please do - happy to help you.

@sebheitzmann
Copy link
Contributor Author

PR created

@thomasjungblut
Copy link
Owner

Thank you @sebheitzmann - I hope I find some time today in the evening :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants