Ractor support
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza con lib/sqlite3/database.rb:89 y ejecuta la reproducción de Ractor del issue con Ruby 3. Sigue la ruta de C-extension implicada al abrir la base de datos y determina qué requiere la compatibilidad con Ractor. Se considera terminado cuando el ejemplo puede construir y usar la base de datos desde un Ractor que no sea el principal sin Ractor::UnsafeError.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Hello maintainers,
Is there any interest or planned change to add support to this gem for use within a Ruby 3 Ractor?
Currently, constructing a database instance is failing with the error message introduced into this Ruby commit. I have collected this stacktrace:
~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/sqlite3-1.4.2/lib/sqlite3/database.rb:89:in `open_v2': ractor unsafe method called from not main ractor (Ractor::UnsafeError)
from ~/.rbenv/versions/3.0.1/lib/ruby/gems/3.0.0/gems/sqlite3-1.4.2/lib/sqlite3/database.rb:89:in `initialize'
...
It can be reproduced by:
sqlite_ractor = Ractor.new do
db = SQLite3::Database.open "xyz.db"
end
puts sqlite_ractor.take
The Ruby commit message justifies the error because:
C extensions can violate the ractor-safety
However, this gem doesn't appear to store references to Ruby objects that might be accessed across Ractors / invalidly shared, so perhaps its C extensions can be marked as Ractor-safe?
- Lenguaje dominante
- Ruby
- Estrellas
- 845
- Forks
- 220
- Merge medio
- 2 d 2 h
- PR fusionados (30 d)
- 4
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de sparklemotion/sqlite3-ruby
-
needs-more-info
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
sparklemotion/sqlite3-ruby#653 · 3 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
sparklemotion/sqlite3-ruby#639 · 4 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 42/100
sparklemotion/sqlite3-ruby#628 · 10 comentarios · 1 reacción ·
-
bug help-wanted platform/windows
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
sparklemotion/sqlite3-ruby#618 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
sparklemotion/sqlite3-ruby#573 · 2 comentarios ·
Todos los issues de sparklemotion/sqlite3-ruby
Issues similares
-
Add ZammadPosiblemente ocupada @Arslan-TR la tomó hoy. Abiertorequest
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
endoflife-date/endoflife.date#11298 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
performance v/6
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
WITCodingClub/calendar-backend#689 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 86/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
rubys/roundhouse#571 ·
Los mantenedores suelen responder en 1 día
-
area/web interface
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
mastodon/mastodon#40924 · 1 comentario ·
Los mantenedores suelen responder en 1 día