Open bwplotka opened 4 years ago
Can I work on this?
Hello đ Looks like there was no activity on this issue for the last two months.
Do you mind updating us on the status? Is this still reproducible or needed? If yes, just comment on this PR or push a commit. Thanks! đ¤
If there will be no activity in the next two weeks, this issue will be closed (we can always reopen an issue if we need!). Alternatively, use remind
command if you wish to be reminded at some point in future.
Still valid and help wanted.
Please @goku321 go ahead! We can assign this to you if you are still interested in.
Thanks @kakkoyun . Yes, I'm still interested. Currently, I'm trying to finish up exemplars api feature and then, will move to this one. Please feel free to assign it to me.
Has anyone considered using UploadPartCopy to do server-side concatenation of blocks during the compacting phase? This is exposed via the ComposeObject
method in the minio SDK (https://pkg.go.dev/github.com/minio/minio-go/v7#Client.ComposeObject), and allows concatenating multiple objects server-side, including specifying start offsets and lengths.
From the docs:
Uploads a part by copying data from an existing object as data source. You specify the data source by adding the request header x-amz-copy-source in your request and a byte range by adding the request header x-amz-copy-source-range in your request.
Hi @bwplotka, can you explain more about the implementation details about the same? I didn't find any similar implementation that solves this problem, so curious about the idea for implementation
I've started looking into this. Thanks everyone for your patience.
Hello đ Looks like there was no activity on this issue for the last two months.
Do you mind updating us on the status? Is this still reproducible or needed? If yes, just comment on this PR or push a commit. Thanks! đ¤
If there will be no activity in the next two weeks, this issue will be closed (we can always reopen an issue if we need!). Alternatively, use remind
command if you wish to be reminded at some point in future.
Closing for now as promised, let us know if you need this to be reopened! đ¤
Not stale đĽą
Hello đ Looks like there was no activity on this issue for the last two months.
Do you mind updating us on the status? Is this still reproducible or needed? If yes, just comment on this PR or push a commit. Thanks! đ¤
If there will be no activity in the next two weeks, this issue will be closed (we can always reopen an issue if we need!). Alternatively, use remind
command if you wish to be reminded at some point in future.
Hi, sounds like a great idea! I can see how this is going to keep disk space bounded but is it the same for memory? I thought that the chunks being opened with mmap only when needed and when finished memory map should get released.
Instead of downloading all bytes of chunks for blocks we want to process, we could easily just read and stream those through while using constant amount of mem / disk. We can do that because all of those operations go through chunks sequentially. We do that because series are sorted and chunks are placed by series ordered by oldest. See Prometheus compaction tests for confirmation:
With this println:
We have: