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

Buffer improvements #9476

Closed
17 of 18 tasks
binarylogic opened this issue Oct 5, 2021 · 2 comments
Closed
17 of 18 tasks

Buffer improvements #9476

binarylogic opened this issue Oct 5, 2021 · 2 comments
Labels
domain: buffers Anything related to Vector's memory/disk buffers type: enhancement A value-adding code change that enhances its existing functionality.

Comments

@binarylogic
Copy link
Contributor

binarylogic commented Oct 5, 2021

As part of ensuring Vector is enterprise-ready, we need to improve how Vector buffers data. This is core to achieving the level of reliability and durability that enterprises require.

Our disk buffers need a lot of improvement. The initial spike of this work was based on leveldb which has proven problematic for this use case.

This list of items is the high-level work stream related to designing, building, and doing a beta release our buffer improvements for 2022Q1:

@tobz
Copy link
Contributor

tobz commented Jan 20, 2022

Part of eventually releasing all of this buffer work in full is building confidence in the new disk buffer implementation, as well as deprecating older variants, switching to new ones, and so on.

Roughly speaking, here's the gameplan around the release cadence / feature status:

  • 0.20 release (02/08/2022):
    • disk v2 reaches beta status (confident in basic behavior, but not yet fully confident that all logic is resilient to corner cases)
    • switch to in memory v2 as impl for memory buffer type
  • 0.21 release (03/22/2022):
    • disk v2 reaches stable status (confident in basic behavior, confident in handling corner cases)
    • feature added to transparently migrate any existing disk v1 buffer to a disk v2 buffer
    • switch to disk v2 as impl for disk buffer type
    • deprecate disk v1 + in memory v1
  • 0.22 release (05/03/2022):
    • remove disk v1 and in memory v1 entirely
    • remove disk v1->v2 migration code

The biggest hurdle to the 0.20 release is finishing most of the testing-related issues (#10895, #10898, #10922) and the schema evolution issue (#10939) so that we can have more confidence, and hopefully avoid needing to change the on-disk format, once we move disk v2 to beta status.

The biggest hurdle for the 0.21 release would be encouraging users to experiment with the new disk v2 buffers, as well continuing to recreate real-life workloads to stress test it on our own. Additionally, and perhaps tied as the biggest hurdle, would be writing the migration logic to move disk v1 buffers to disk v2 buffers, and doing so correctly and reliably.

@jszwedko
Copy link
Member

Closing this since the epic was complete.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
domain: buffers Anything related to Vector's memory/disk buffers type: enhancement A value-adding code change that enhances its existing functionality.
Projects
None yet
Development

No branches or pull requests

3 participants