-
Notifications
You must be signed in to change notification settings - Fork 1.6k
PVF: Vote invalid on panics in execution thread (after a retry) #7155
PVF: Vote invalid on panics in execution thread (after a retry) #7155
Commits on May 1, 2023
-
PVF: Remove
rayon
and some uses oftokio
1. We were using `rayon` to spawn a superfluous thread to do execution, so it was removed. 2. We were using `rayon` to set a threadpool-specific thread stack size, and AFAIK we couldn't do that with `tokio` (it's possible [per-runtime](https://docs.rs/tokio/latest/tokio/runtime/struct.Builder.html#method.thread_stack_size) but not per-thread). Since we want to remove `tokio` from the workers [anyway](https://github.com/paritytech/polkadot/issues/7117), I changed it to spawn threads with the `std::thread` API instead of `tokio`.[^1] [^1]: NOTE: This PR does not totally remove the `tokio` dependency just yet. 3. Since `std::thread` API is not async, we could no longer `select!` on the threads as futures, so the `select!` was changed to a naive loop. 4. The order of thread selection was flipped to make (3) sound (see note in code). I left some TODO's related to panics which I'm going to address soon as part of #7045.
Configuration menu - View commit details
-
Copy full SHA for 866a690 - Browse repository at this point
Copy the full SHA 866a690View commit details -
PVF: Vote invalid on panics in execution thread (after a retry)
Also make sure we kill the worker process on panic errors and internal errors to potentially clear any error states independent of the candidate.
Configuration menu - View commit details
-
Copy full SHA for aff4779 - Browse repository at this point
Copy the full SHA aff4779View commit details -
Merge branch 'mrcnski/pvf-remove-rayon-tokio' into mrcnski/pvf-catch-…
…panics-in-execution
Configuration menu - View commit details
-
Copy full SHA for fc481bc - Browse repository at this point
Copy the full SHA fc481bcView commit details -
Addresses a couple of follow-up TODOs from #7153.
Configuration menu - View commit details
-
Copy full SHA for b03e1b0 - Browse repository at this point
Copy the full SHA b03e1b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0fcedbe - Browse repository at this point
Copy the full SHA 0fcedbeView commit details -
Configuration menu - View commit details
-
Copy full SHA for c7e44d1 - Browse repository at this point
Copy the full SHA c7e44d1View commit details -
Configuration menu - View commit details
-
Copy full SHA for dc0e9c9 - Browse repository at this point
Copy the full SHA dc0e9c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 67994f5 - Browse repository at this point
Copy the full SHA 67994f5View commit details
Commits on May 2, 2023
-
Update roadmap/implementers-guide/src/node/utility/candidate-validati…
…on.md Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 181e89f - Browse repository at this point
Copy the full SHA 181e89fView commit details -
Address comments + couple other changes (see message)
- Measure the CPU time in the prepare thread, so the observed time is not affected by any delays in joining on the thread. - Measure the full CPU time in the execute thread.
Configuration menu - View commit details
-
Copy full SHA for df22727 - Browse repository at this point
Copy the full SHA df22727View commit details -
Implement proper thread synchronization
Use condvars i.e. `Arc::new((Mutex::new(true), Condvar::new()))` as per the std docs. Considered also using a condvar to signal the CPU thread to end, in place of an mpsc channel. This was not done because `Condvar::wait_timeout_while` is documented as being imprecise, and `mpsc::Receiver::recv_timeout` is not documented as such. Also, we would need a separate condvar, to avoid this case: the worker thread finishes its job, notifies the condvar, the CPU thread returns first, and we join on it and not the worker thread. So it was simpler to leave this part as is.
Configuration menu - View commit details
-
Copy full SHA for 5223995 - Browse repository at this point
Copy the full SHA 5223995View commit details -
Configuration menu - View commit details
-
Copy full SHA for d4eb740 - Browse repository at this point
Copy the full SHA d4eb740View commit details -
Configuration menu - View commit details
-
Copy full SHA for 850d2c0 - Browse repository at this point
Copy the full SHA 850d2c0View commit details -
Merge branch 'mrcnski/pvf-remove-rayon-tokio' into mrcnski/pvf-catch-…
…panics-in-execution
Configuration menu - View commit details
-
Copy full SHA for 5885222 - Browse repository at this point
Copy the full SHA 5885222View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4f8f1cc - Browse repository at this point
Copy the full SHA 4f8f1ccView commit details -
Merge remote-tracking branch 'origin/mrcnski/pvf-catch-panics-in-exec…
…ution' into mrcnski/pvf-catch-panics-in-execution
Configuration menu - View commit details
-
Copy full SHA for 87437b8 - Browse repository at this point
Copy the full SHA 87437b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for f4c0b4b - Browse repository at this point
Copy the full SHA f4c0b4bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 883952c - Browse repository at this point
Copy the full SHA 883952cView commit details
Commits on May 3, 2023
-
Configuration menu - View commit details
-
Copy full SHA for cc89ab8 - Browse repository at this point
Copy the full SHA cc89ab8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1967ddb - Browse repository at this point
Copy the full SHA 1967ddbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6e7a13c - Browse repository at this point
Copy the full SHA 6e7a13cView commit details -
Merge branch 'mrcnski/pvf-remove-rayon-tokio' into mrcnski/pvf-catch-…
…panics-in-execution
Configuration menu - View commit details
-
Copy full SHA for 566a438 - Browse repository at this point
Copy the full SHA 566a438View commit details -
Configuration menu - View commit details
-
Copy full SHA for 660dadd - Browse repository at this point
Copy the full SHA 660daddView commit details -
Configuration menu - View commit details
-
Copy full SHA for 187528c - Browse repository at this point
Copy the full SHA 187528cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d7cbf0 - Browse repository at this point
Copy the full SHA 6d7cbf0View commit details -
Configuration menu - View commit details
-
Copy full SHA for a2d0c72 - Browse repository at this point
Copy the full SHA a2d0c72View commit details
Commits on May 4, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 6c54e42 - Browse repository at this point
Copy the full SHA 6c54e42View commit details
Commits on May 16, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 7da8cdf - Browse repository at this point
Copy the full SHA 7da8cdfView commit details -
Configuration menu - View commit details
-
Copy full SHA for da7d191 - Browse repository at this point
Copy the full SHA da7d191View commit details