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

Simplify partition structure #728

Merged
merged 30 commits into from
Apr 21, 2020
Merged

Simplify partition structure #728

merged 30 commits into from
Apr 21, 2020

Conversation

tobim
Copy link
Member

@tobim tobim commented Jan 28, 2020

This needs to be cleaned and rebased. Do not review yet.

TODO:

  • Handle pattern matches in type queries
  • Unit tests
  • Cleanup partition
  • Reorganize commits

@tobim tobim added the refactoring Restructuring of existing code label Jan 28, 2020
@mavam mavam changed the title Simplify partition structure. Simplify partition structure Jan 28, 2020
@tobim tobim force-pushed the story/ch9680 branch 2 times, most recently from 3a481df to 96de62f Compare January 29, 2020 20:58
@dominiklohmann dominiklohmann self-requested a review March 23, 2020 15:44
Copy link
Member

@dominiklohmann dominiklohmann left a comment

Choose a reason for hiding this comment

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

This is looking fine so far. I'm excited for this change, but as you said in-person the export/count side needs to be implemented first to see if this all works out or if you forgot about some component that needs to be touched as well.

I can't see any besides the things we talked about yesterday. So far things are looking fine, but there's still lots of work to do.

libvast_test/src/main.cpp Outdated Show resolved Hide resolved
@tobim tobim force-pushed the story/ch9680 branch 3 times, most recently from 8906a41 to 6c6d6cf Compare April 6, 2020 22:06
Copy link
Member

@mavam mavam left a comment

Choose a reason for hiding this comment

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

Overall, the architecture of the change set feels right. Unfortunately there are too many difference concerns and optimizations in one big chunk that it's hard to review accurately. Splitting this up in more digestible pieces would be the next step.

libvast/src/system/index.cpp Outdated Show resolved Hide resolved
libvast/src/system/index.cpp Show resolved Hide resolved
libvast/src/system/index.cpp Show resolved Hide resolved
libvast/src/system/evaluator.cpp Outdated Show resolved Hide resolved
libvast_test/src/actor_system.cpp Outdated Show resolved Hide resolved
libvast/vast/system/partition.hpp Outdated Show resolved Hide resolved
libvast/vast/system/partition.hpp Outdated Show resolved Hide resolved
libvast/vast/column_index.hpp Outdated Show resolved Hide resolved
libvast/vast/column_index.hpp Outdated Show resolved Hide resolved
libvast/src/system/partition.cpp Outdated Show resolved Hide resolved
@tobim tobim force-pushed the story/ch9680 branch 3 times, most recently from a698e19 to fb587c3 Compare April 17, 2020 15:08
@tobim tobim marked this pull request as ready for review April 17, 2020 15:10
Copy link
Member

@mavam mavam left a comment

Choose a reason for hiding this comment

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

This is getting close. At this point I have mainly refactoring comments.

libvast/src/system/index.cpp Show resolved Hide resolved
libvast/src/system/index.cpp Outdated Show resolved Hide resolved
libvast/src/system/index.cpp Show resolved Hide resolved
libvast/src/system/indexer_downstream_manager.cpp Outdated Show resolved Hide resolved
libvast/src/system/indexer_downstream_manager.cpp Outdated Show resolved Hide resolved
libvast/vast/qualified_record_field.hpp Outdated Show resolved Hide resolved
libvast/vast/qualified_record_field.hpp Outdated Show resolved Hide resolved
libvast/vast/qualified_record_field.hpp Outdated Show resolved Hide resolved
libvast/vast/system/index.hpp Outdated Show resolved Hide resolved
libvast/vast/system/indexer_stage_driver.hpp Outdated Show resolved Hide resolved
@tobim tobim force-pushed the story/ch9680 branch 2 times, most recently from 00e29b6 to 5e549b1 Compare April 20, 2020 14:23
CHANGELOG.md Outdated Show resolved Hide resolved
libvast/src/system/index.cpp Outdated Show resolved Hide resolved
libvast/src/system/spawn_index.cpp Show resolved Hide resolved
@tobim
Copy link
Member Author

tobim commented Apr 21, 2020

The recent round of comments have been addressed or replied to.

Copy link
Member

@mavam mavam left a comment

Choose a reason for hiding this comment

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

Almost there!

libvast/src/system/index.cpp Outdated Show resolved Hide resolved
libvast/vast/table_slice_column.hpp Outdated Show resolved Hide resolved
libvast/test/system/indexer.cpp Outdated Show resolved Hide resolved
tobim and others added 26 commits April 21, 2020 17:01
Prior to this commit, a partition was a container for a set of
tables that each directly corresponded to one layout as imported
into VAST.

This commit modifies the index to decompose table slices into
columns at the boundary and promotes the indexer actors responsible
for each such column into a member of the partition.

The effect is twofold:
- An updated schema will not result in a duplication of all
  columns that exist in both versions of a type with the same
  name, but only the ones that are actually different.

- The filesystem structure is consolidated in the same way, which
  results in slightly less reads when a query hits a persisted
  partition, and it is easier to inspect the the disk space usage
  of the individual fields of the input.
Co-Authored-By: Matthias Vallentin <matthias@tenzir.com>
Co-Authored-By: Matthias Vallentin <matthias@tenzir.com>
@tobim tobim merged commit 5890689 into master Apr 21, 2020
@tobim tobim deleted the story/ch9680 branch April 21, 2020 21:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
refactoring Restructuring of existing code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants