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

Init wal redo buffer for fpi #194

Merged
merged 4 commits into from
Aug 15, 2022
Merged

Init wal redo buffer for fpi #194

merged 4 commits into from
Aug 15, 2022

Conversation

knizhnik
Copy link

refer neondatabase/neon#1915

We are using very small buffer cache and inmem file i wal redo postgres to minimize their restart time.
Right now we are protected target page using wal_redo_buffer variable.
This hack looks pretty ugly but I do not know better solution.
The problem is that now wal_redo_buffer is assigned only when base image is provided for page reconstruction.
But if wal records contains FPI, base image is not needed. In this case wal_redo_buffer is not initialized and so is not protected from eviction. This PR fixing this problem.

This bug cause index page corruption in ketteq project.

Replaces #179

knizhnik and others added 4 commits August 14, 2022 17:36
Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>
@knizhnik knizhnik merged commit 68fa6f1 into main Aug 15, 2022
@knizhnik knizhnik deleted the init_wal_redo_buffer_for_fpi branch August 15, 2022 12:05
MMeent pushed a commit that referenced this pull request Aug 18, 2022
* Initialize wal_redo_buffer after applying record with FPI

refer #1915

* Update comment

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>
lubennikovaav pushed a commit that referenced this pull request Nov 21, 2022
* Initialize wal_redo_buffer after applying record with FPI

refer #1915

* Update comment

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>
MMeent pushed a commit that referenced this pull request Feb 10, 2023
* Initialize wal_redo_buffer after applying record with FPI

refer #1915

* Update comment

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>
MMeent pushed a commit that referenced this pull request Feb 10, 2023
* Initialize wal_redo_buffer after applying record with FPI

refer #1915

* Update comment

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>
MMeent pushed a commit that referenced this pull request May 11, 2023
* Initialize wal_redo_buffer after applying record with FPI

refer #1915

* Update comment

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>
tristan957 pushed a commit that referenced this pull request Aug 10, 2023
* Initialize wal_redo_buffer after applying record with FPI

refer #1915

* Update comment

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>
tristan957 pushed a commit that referenced this pull request Nov 8, 2023
* Initialize wal_redo_buffer after applying record with FPI

refer #1915

* Update comment

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>
tristan957 pushed a commit that referenced this pull request Nov 8, 2023
* Initialize wal_redo_buffer after applying record with FPI

refer #1915

* Update comment

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>
tristan957 pushed a commit that referenced this pull request Feb 5, 2024
* Initialize wal_redo_buffer after applying record with FPI

refer #1915

* Update comment

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>
tristan957 pushed a commit that referenced this pull request Feb 5, 2024
* Initialize wal_redo_buffer after applying record with FPI

refer #1915

* Update comment

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>
tristan957 pushed a commit that referenced this pull request Feb 6, 2024
* Initialize wal_redo_buffer after applying record with FPI

refer #1915

* Update comment

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>
tristan957 pushed a commit that referenced this pull request May 10, 2024
* Initialize wal_redo_buffer after applying record with FPI

refer #1915

* Update comment

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

* Update src/backend/tcop/zenith_wal_redo.c

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>

Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi>
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.

2 participants