Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Parallelized truncates

Aperta
#116 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
mysql, rails, ruby
Ambito
databases, testing

Direzione di ricerca

Inizia da lib/database_cleaner/active_record/truncation.rb intorno alla riga 106 e traccia il modo in cui la troncatura viene condivisa tra gli adapters. Verifica il comportamento degli adapters e il flusso di pulizia esistente prima di decidere se la troncatura con thread tramite opt-in sia sicura. Per considerare concluso il lavoro, servirebbero un design tra adapters definito e una decisione chiara sull'impostazione proposta e sull'ambito del PR.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Hello,

I am working in an application that has a pretty large data model that is initially cleaned up with as of today 141 tables being truncated. Each TRUNCATE taking between 10ms and 20ms. That's almost 3 seconds of waiting for my database to be empty.

  • Before I start any work, are there any concerns against parallelizing those truncate statements using threads for example?
  • Would you be interested by a PR?

Ideas:

  • opt-in setting, parallelization would be turned off by default
  • I am most familiar with MySQL, but I don't see how running parallel truncates on different tables would be a concern
  • The threading would be positioned here, common for all adapters

Thanks,

Lingua principale
Ruby
Stelle
76
Fork
76
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

  • Include un Dockerfile o un file Docker Compose
  • Nessun modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di DatabaseCleaner/database_cleaner-active_record

Tutte le issue di DatabaseCleaner/database_cleaner-active_record

Issue simili

Altre issue su Ruby

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.