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: add page index for metadata #1000

Merged
merged 19 commits into from
Jun 20, 2023

Conversation

MichaelLeeHZ
Copy link
Contributor

Rationale

Now there is no page index in the meta_data, we should build page index if we want to use row selection.

Detailed Changes

  • build page index for meta_data
  • add some debug log

Test Plan

@MichaelLeeHZ MichaelLeeHZ changed the title Fix add page index for metadata fix: add page index for metadata Jun 19, 2023
@MichaelLeeHZ MichaelLeeHZ marked this pull request as ready for review June 19, 2023 07:20
MichaelLeeHZ and others added 7 commits June 19, 2023 15:28
## Rationale
In current design, sst files may be picked multiple times.

## Detailed Changes
- Mark files as in compacting when pick files candidates, and reset it
to false when CompactionTask is dropped.

## Test Plan
Manually
## Rationale
The metadata for arrow schema is encoded into the parquet file. However,
this part is lost when building our custom metadata.

## Detailed Changes
Keep the other metadata in the parquet metadata after extracting our
custom metadata.

## Test Plan
Add unit test `test_arrow_meta_data` for it.
## Rationale
Part of apache#990.

Some background jobs are still allowed to execute, and it will lead to
data corrupted when a table is migrated between different nodes because
of multiple writers for the same table.

## Detailed Changes
Introduce a flag called `invalid` in the table data to denote whether
the serial executor is valid, and this flag is protected with the
`TableOpSerialExecutor` in table data, and the `TableOpSerialExecutor`
won't be acquired if the flag is set, that is to say, any table
operation including updating manifest, altering table and so on, can't
be executed after the flag is set because these operations require the
`TableOpSerialExecutor`. Finally, the flag will be set when the table is
closed.
Copy link
Contributor

@jiacai2050 jiacai2050 left a comment

Choose a reason for hiding this comment

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

LGTM

@jiacai2050 jiacai2050 merged commit 41fe63a into apache:main Jun 20, 2023
6 checks passed
Rachelint added a commit that referenced this pull request Jun 25, 2023
ShiKaiWi added a commit to ShiKaiWi/ceresdb that referenced this pull request Jun 26, 2023
ShiKaiWi added a commit that referenced this pull request Jun 26, 2023
This reverts commit 41fe63a.

## Rationale
#1000 leads to some commits missing.

## Detailed Changes
Revert #1000

## Test Plan
ShiKaiWi pushed a commit that referenced this pull request Jun 26, 2023
## Rationale
#1000 was reverted in #1026, here to create a new one. See details in
#1000

## Detailed Changes
add page index for metadata.
Rachelint added a commit that referenced this pull request Jun 28, 2023
dust1 pushed a commit to dust1/ceresdb that referenced this pull request Aug 9, 2023
## Rationale
Now there is no page index in the `meta_data`, we should build page
index if we want to use row selection.

## Detailed Changes
* build page index for `meta_data`
* add some debug log

## Test Plan

---------

Co-authored-by: Jiacai Liu <dev@liujiacai.net>
Co-authored-by: WEI Xikai <ShiKaiWi@users.noreply.github.com>
dust1 pushed a commit to dust1/ceresdb that referenced this pull request Aug 9, 2023
This reverts commit 41fe63a.

## Rationale
apache#1000 leads to some commits missing.

## Detailed Changes
Revert apache#1000

## Test Plan
dust1 pushed a commit to dust1/ceresdb that referenced this pull request Aug 9, 2023
## Rationale
apache#1000 was reverted in apache#1026, here to create a new one. See details in
apache#1000

## Detailed Changes
add page index for metadata.
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

Successfully merging this pull request may close these issues.

None yet

3 participants