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

Support SKIP LOCKED Syntax #18207

Open
shenli opened this issue Jun 24, 2020 · 7 comments
Open

Support SKIP LOCKED Syntax #18207

shenli opened this issue Jun 24, 2020 · 7 comments
Labels
feature/accepted This feature request is accepted by product managers sig/transaction SIG:Transaction type/feature-request Categorizes issue or PR as related to a new feature.
Milestone

Comments

@shenli
Copy link
Member

shenli commented Jun 24, 2020

Feature Request

Is your feature request related to a problem? Please describe:

Introduce a new syntax to handle hot rows

Describe the feature you'd like:

https://mysqlserverteam.com/mysql-8-0-1-using-skip-locked-and-nowait-to-handle-hot-rows/

Starting with MySQL 8.0.1 we are introducing the SKIP LOCKED modifier which can be used to non-deterministically read rows from a table while skipping over the rows which are locked.  

Describe alternatives you've considered:

Teachability, Documentation, Adoption, Migration Strategy:

@shenli shenli added sig/transaction SIG:Transaction type/feature-request Categorizes issue or PR as related to a new feature. labels Jun 24, 2020
@jackysp
Copy link
Member

jackysp commented Jun 24, 2020

I think we can actually implement it, not just syntax support.

@shenli shenli added this to the v5.0-alpha milestone Jun 29, 2020
@zz-jason zz-jason added the feature/accepted This feature request is accepted by product managers label Sep 8, 2020
@zz-jason
Copy link
Member

zz-jason commented Sep 8, 2020

@cfzjywxk @zhangjinpeng1987 PTAL

@ghost ghost mentioned this issue Sep 10, 2020
70 tasks
@jebter jebter modified the milestones: v5.0.0-alpha, v5.0.0-rc Jan 7, 2021
@jebter jebter modified the milestones: v5.0.0-rc, v5.0.0 Jan 18, 2021
@kassah
Copy link

kassah commented Dec 30, 2021

The above blog page has been removed. This is a link to the relevant documentation: https://dev.mysql.com/doc/refman/8.0/en/innodb-locking-reads.html#idm45429418133392

@you06
Copy link
Contributor

you06 commented Feb 24, 2022

I'll write an RFC about this issue.

@PATROMO
Copy link

PATROMO commented Dec 19, 2023

@jackysp what is the current status?

@yahonda
Copy link
Member

yahonda commented Sep 30, 2024

Recently, Rails 8.0 Beta 1 has been announced that includes a new job running framework, called Solid Queue.

https://rubyonrails.org/2024/9/27/rails-8-beta1-no-paas-required

This Solid Queue feature is making use of UPDATE SKIP LOCKED feature. Supporting this feature is really appreciated.

Solid Queue replaces the need for not just Redis, but also a separate job-running framework, like Resque, Delayed Job, or Sidekiq, for most people. For high-performance installations, it’s built on the new FOR UPDATE SKIP LOCKED mechanism first introduced in PostgreSQL 9.5, but now also available in MySQL 8.0 and beyond. For more modest needs, it also works with SQLite, which makes it ideal for that no-dependency path to the first HELLO WORLD dopamine hit you get from seeing your work in production right away.

@jackysp
Copy link
Member

jackysp commented Oct 1, 2024

Recently, Rails 8.0 Beta 1 has been announced that includes a new job running framework, called Solid Queue.

https://rubyonrails.org/2024/9/27/rails-8-beta1-no-paas-required

This Solid Queue featureis making use of UPDATE SKIP LOCKED feature. Supporting this feature is really appreciated.

Solid Queue replaces the need for not just Redis, but also a separate job-running framework, like Resque, Delayed Job, or Sidekiq, for most people. For high-performance installations, it’s built on the new FOR UPDATE SKIP LOCKED mechanism first introduced in PostgreSQL 9.5, but now also available in MySQL 8.0 and beyond. For more modest needs, it also works with SQLite, which makes it ideal for that no-dependency path to the first HELLO WORLD dopamine hit you get from seeing your work in production right away.

cc @you06 @cfzjywxk PTAL, thx!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature/accepted This feature request is accepted by product managers sig/transaction SIG:Transaction type/feature-request Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants