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
Tokio based walredo #2875
Tokio based walredo #2875
Commits on Dec 7, 2022
-
walredo: tests for existing implementation
adds pageserver/fixtures for the page image.
Configuration menu - View commit details
-
Copy full SHA for 6be11d5 - Browse repository at this point
Copy the full SHA 6be11d5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4f575b8 - Browse repository at this point
Copy the full SHA 4f575b8View commit details -
bench: do single threaded bench in current thread
also reuse threads between runs for less noise in profiling.
Configuration menu - View commit details
-
Copy full SHA for 3cf6f6e - Browse repository at this point
Copy the full SHA 3cf6f6eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 54ba906 - Browse repository at this point
Copy the full SHA 54ba906View commit details -
bench: stop repeating the request
it seems that we get much more stable values and less warnings out of criterion this way.
Configuration menu - View commit details
-
Copy full SHA for dab77cf - Browse repository at this point
Copy the full SHA dab77cfView commit details -
walredo: asyncify wal redo process
reimplements the older poll and std::process::Command based implementation to work on tokio primitives and latch on to task_mgr lifecycle management. there is a minor gain in performance with the pipelined requests, which is partly negated by tokio just being slower than the blocking poll. the implementation will get faster with future tokio enhancements, such as vectored writes.
Configuration menu - View commit details
-
Copy full SHA for 09c5f34 - Browse repository at this point
Copy the full SHA 09c5f34View commit details -
now it should be the hierarchy: - walredo ctrl per tenant (tenant_id) - walredo per process (pid) - stdin_task - stdout_task - stderr_task
Configuration menu - View commit details
-
Copy full SHA for 950b907 - Browse repository at this point
Copy the full SHA 950b907View commit details -
first step in multi process controller. this implementation scales down to zero in X times the outer queue read timeout in stdin_task, it is probably too fast.
Configuration menu - View commit details
-
Copy full SHA for 943e896 - Browse repository at this point
Copy the full SHA 943e896View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9ca9c5e - Browse repository at this point
Copy the full SHA 9ca9c5eView commit details -
walredo: simple multiprocess controller (external)
integrate the process controller.
Configuration menu - View commit details
-
Copy full SHA for e4e6174 - Browse repository at this point
Copy the full SHA e4e6174View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9eec603 - Browse repository at this point
Copy the full SHA 9eec603View commit details -
Configuration menu - View commit details
-
Copy full SHA for 56c7d15 - Browse repository at this point
Copy the full SHA 56c7d15View commit details