Errori di importazione di Yahoo Groups

Sto lavorando all’importazione di un mbox da Yahoo Groups e sto riscontrando alcuni errori. Non sono sicuro di quale strada intraprendere in questo momento per il debug e l’importazione. Ecco gli errori che ho rilevato finora:
https://pastebin.com/raw/2WTN3GTj

Stai usando lo script mbox, giusto? Ha funzionato bene per me senza errori. Mancano gli allegati, ma nel mio caso non è la fine del mondo.

È corretto @tobiaseigen. L’importazione è durata oltre 2 ore.

Oltre all’ultima domanda, volevo aggiungere che non ero sicuro di dover procedere con l’importazione di questo, nonostante questi errori… Mi chiedevo se, una volta risolti gli errori/le interruzioni, potessimo semplicemente importarli di NUOVO e che il sistema saltasse i messaggi già importati, procedendo così con l’importazione corretta.

@gerhard forse abbiamo bisogno di un input e di un aiuto qui… Anche dopo aver seguito la tua guida, Sidekiq non mostra l’elaborazione di questi ~35.000 messaggi.

Non sono sicuro che Sidekiq sia rilevante qui: penso che lo script di importazione venga eseguito al di fuori di Discourse.

Nel caso possa essere utile, ecco il mio log di importazione. In effetti ci sono alcune righe simili alle tue, ma ho deciso semplicemente di non preoccuparmene. La vita è troppo breve.

Visto che hai così tanti errori, sembra che tu abbia un problema più sistematico. Sei sicuro che il sistema abbia abbastanza RAM disponibile? Non so se ci hai già provato, ma potresti dare un’occhiata più da vicino al file di importazione e cercare di capire se c’è qualcosa che puoi individuare: forse devi solo regolare split_regex in qualche modo, oppure caricare il file sul tuo server in un formato diverso?

Se continui ad avere problemi, potresti chiedere aiuto in Marketplace ci sono alcuni consulenti che si trovano qui e che hanno molta esperienza con le importazioni. Io certamente non sono un esperto: è stato il mio primo tentativo. :wink:

root@discourse:/var/discourse# ./launcher enter import
root@discourse-import:/var/www/discourse# RAILS_DB=secondsite
root@discourse-import:/var/www/discourse# export RAILS_DB
root@discourse-import:/var/www/discourse# import_mbox.sh
L'importazione mbox sta iniziando...

Caricamento dei gruppi esistenti...
Caricamento degli utenti esistenti...
Caricamento delle categorie esistenti...
Caricamento dei post esistenti...
Caricamento dei topic esistenti...

creazione dell'indice
indicizzazione dei file in /shared/import/data/list
indicizzazione di /shared/import/data/list/18929486-3.mbox
indicizzazione di /shared/import/data/list/18929486-2.mbox

indicizzazione delle risposte e degli utenti

creazione delle categorie
        1 / 1 (100.0%)  [4916421 elementi/min]  
creazione degli utenti
       69 / 69 (100.0%)  [1178 elementi/min]  ]  
creazione di topic e post
Mancante la data. Salto 0462b41b966d8c11e6e32cc14c0b576d
        1 / 2333 (  0.0%)  [179689 elementi/min]  Mancante la data. Salto 0adb9bd80082595a33130f7749d7f530
        2 / 2333 (  0.1%)  [224693 elementi/min]  Mancante la data. Salto 3bd86d7adb396fbeb7d6dfcfe9f0be5f
        3 / 2333 (  0.1%)  [283328 elementi/min]  Mancante la data. Salto 4f5397838e6c7f96eedfe116ce27be13
        4 / 2333 (  0.2%)  [184374 elementi/min]  Mancante la data. Salto c8c14ab80e92ae1cacd4af99351319bd
       45 / 2333 (  1.9%)  [334 elementi/min]  Impossibile mappare il post per 2f401ce90708241252h30bdae5iad2ae0096e067b71@mail.gmail.com
metodo non definito `hex' per nil:NilClass
/var/www/discourse/app/models/upload.rb:132:in `base62_sha1'
/var/www/discourse/app/models/upload.rb:386:in `short_url_basename'
/var/www/discourse/app/models/upload.rb:115:in `short_url'
/var/www/discourse/lib/upload_markdown.rb:17:in `image_markdown'
/var/www/discourse/lib/upload_markdown.rb:10:in `to_markdown'
/var/www/discourse/lib/email/receiver.rb:1085:in `block in add_attachments'
/var/www/discourse/lib/email/receiver.rb:1060:in `each'
/var/www/discourse/lib/email/receiver.rb:1060:in `add_attachments'
/var/www/discourse/script/import_scripts/mbox/importer.rb:137:in `format_raw'
/var/www/discourse/script/import_scripts/mbox/importer.rb:121:in `map_post'
/var/www/discourse/script/import_scripts/mbox/importer.rb:145:in `map_first_post'
/var/www/discourse/script/import_scripts/mbox/importer.rb:103:in `block (2 levels) in import_posts'
/var/www/discourse/script/import_scripts/base.rb:491:in `block in create_posts'
/var/www/discourse/script/import_scripts/base.rb:490:in `each'
/var/www/discourse/script/import_scripts/base.rb:490:in `create_posts'
/var/www/discourse/script/import_scripts/mbox/importer.rb:97:in `block in import_posts'
/var/www/discourse/script/import_scripts/base.rb:870:in `block in batches'
/var/www/discourse/script/import_scripts/base.rb:869:in `loop'
/var/www/discourse/script/import_scripts/base.rb:869:in `batches'
/var/www/discourse/script/import_scripts/mbox/importer.rb:83:in `batches'
/var/www/discourse/script/import_scripts/mbox/importer.rb:91:in `import_posts'
/var/www/discourse/script/import_scripts/mbox/importer.rb:35:in `execute'
/var/www/discourse/script/import_scripts/base.rb:47:in `perform'
script/import_scripts/mbox.rb:16:in `\u003cmodule:Mbox\u003e'
script/import_scripts/mbox.rb:10:in `\u003cmodule:ImportScripts\u003e'
script/import_scripts/mbox.rb:9:in `\u003cmain\u003e'
      940 / 2333 ( 40.3%)  [398 elementi/min]  Impossibile mappare il post per BBCAF42471FF9540868B4DC02B885B1BBCDA1F@wn1217.or.providence.org
metodo non definito `hex' per nil:NilClass
/var/www/discourse/app/models/upload.rb:132:in `base62_sha1'
/var/www/discourse/app/models/upload.rb:386:in `short_url_basename'
/var/www/discourse/app/models/upload.rb:115:in `short_url'
/var/www/discourse/lib/upload_markdown.rb:17:in `image_markdown'
/var/www/discourse/lib/upload_markdown.rb:10:in `to_markdown'
/var/www/discourse/lib/email/receiver.rb:1085:in `block in add_attachments'
/var/www/discourse/lib/email/receiver.rb:1060:in `each'
/var/www/discourse/lib/email/receiver.rb:1060:in `add_attachments'
/var/www/discourse/script/import_scripts/mbox/importer.rb:137:in `format_raw'
/var/www/discourse/script/import_scripts/mbox/importer.rb:121:in `map_post'
/var/www/discourse/script/import_scripts/mbox/importer.rb:159:in `map_reply'
/var/www/discourse/script/import_scripts/mbox/importer.rb:105:in `block (2 levels) in import_posts'
/var/www/discourse/script/import_scripts/base.rb:491:in `block in create_posts'
/var/www/discourse/script/import_scripts/base.rb:490:in `each'
/var/www/discourse/script/import_scripts/base.rb:490:in `create_posts'
/var/www/discourse/script/import_scripts/mbox/importer.rb:97:in `block in import_posts'
/var/www/discourse/script/import_scripts/base.rb:870:in `block in batches'
/var/www/discourse/script/import_scripts/base.rb:869:in `loop'
/var/www/discourse/script/import_scripts/base.rb:869:in `batches'
/var/www/discourse/script/import_scripts/mbox/importer.rb:83:in `batches'
/var/www/discourse/script/import_scripts/mbox/importer.rb:91:in `import_posts'
/var/www/discourse/script/import_scripts/mbox/importer.rb:35:in `execute'
/var/www/discourse/script/import_scripts/base.rb:47:in `perform'
script/import_scripts/mbox.rb:16:in `\u003cmodule:Mbox\u003e'
script/import_scripts/mbox.rb:10:in `\u003cmodule:ImportScripts\u003e'
script/import_scripts/mbox.rb:9:in `\u003cmain\u003e'
      944 / 2333 ( 40.5%)  [399 elementi/min]  Impossibile mappare il post per 3A1D6C799D451B41BD0500303339622A023AA1@s-mail.integral-corp.com
metodo non definito `hex' per nil:NilClass
/var/www/discourse/app/models/upload.rb:132:in `base62_sha1'
/var/www/discourse/app/models/upload.rb:386:in `short_url_basename'
/var/www/discourse/app/models/upload.rb:115:in `short_url'
/var/www/discourse/lib/upload_markdown.rb:17:in `image_markdown'
/var/www/discourse/lib/upload_markdown.rb:10:in `to_markdown'
/var/www/discourse/lib/email/receiver.rb:1085:in `block in add_attachments'
/var/www/discourse/lib/email/receiver.rb:1060:in `each'
/var/www/discourse/lib/email/receiver.rb:1060:in `add_attachments'
/var/www/discourse/script/import_scripts/mbox/importer.rb:137:in `format_raw'
/var/www/discourse/script/import_scripts/mbox/importer.rb:121:in `map_post'
/var/www/discourse/script/import_scripts/mbox/importer.rb:159:in `map_reply'
/var/www/discourse/script/import_scripts/mbox/importer.rb:105:in `block (2 levels) in import_posts'
/var/www/discourse/script/import_scripts/base.rb:491:in `block in create_posts'
/var/www/discourse/script/import_scripts/base.rb:490:in `each'
/var/www/discourse/script/import_scripts/base.rb:490:in `create_posts'
/var/www/discourse/script/import_scripts/mbox/importer.rb:97:in `block in import_posts'
/var/www/discourse/script/import_scripts/base.rb:870:in `block in batches'
/var/www/discourse/script/import_scripts/base.rb:869:in `loop'
/var/www/discourse/script/import_scripts/base.rb:869:in `batches'
/var/www/discourse/script/import_scripts/mbox/importer.rb:83:in `batches'
/var/www/discourse/script/import_scripts/mbox/importer.rb:91:in `import_posts'
/var/www/discourse/script/import_scripts/mbox/importer.rb:35:in `execute'
/var/www/discourse/script/import_scripts/base.rb:47:in `perform'
script/import_scripts/mbox.rb:16:in `\u003cmodule:Mbox\u003e'
script/import_scripts/mbox.rb:10:in `\u003cmodule:ImportScripts\u003e'
script/import_scripts/mbox.rb:9:in `\u003cmain\u003e'
     1149 / 2333 ( 49.2%)  [408 elementi/min]  Impossibile mappare il post per FF35EE5B30156244A4370DC859B7F650F50626@s-mail.integral-corp.com
metodo non definito `hex' per nil:NilClass
/var/www/discourse/app/models/upload.rb:132:in `base62_sha1'
/var/www/discourse/app/models/upload.rb:386:in `short_url_basename'
/var/www/discourse/app/models/upload.rb:115:in `short_url'
/var/www/discourse/lib/upload_markdown.rb:17:in `image_markdown'
/var/www/discourse/lib/upload_markdown.rb:10:in `to_markdown'
/var/www/discourse/lib/email/receiver.rb:1085:in `block in add_attachments'
/var/www/discourse/lib/email/receiver.rb:1060:in `each'
/var/www/discourse/lib/email/receiver.rb:1060:in `add_attachments'
/var/www/discourse/script/import_scripts/mbox/importer.rb:137:in `format_raw'
/var/www/discourse/script/import_scripts/mbox/importer.rb:121:in `map_post'
/var/www/discourse/script/import_scripts/mbox/importer.rb:159:in `map_reply'
/var/www/discourse/script/import_scripts/mbox/importer.rb:105:in `block (2 levels) in import_posts'
/var/www/discourse/script/import_scripts/base.rb:491:in `block in create_posts'
/var/www/discourse/script/import_scripts/base.rb:490:in `each'
/var/www/discourse/script/import_scripts/base.rb:490:in `create_posts'
/var/www/discourse/script/import_scripts/mbox/importer.rb:97:in `block in import_posts'
/var/www/discourse/script/import_scripts/base.rb:870:in `block in batches'
/var/www/discourse/script/import_scripts/base.rb:869:in `loop'
/var/www/discourse/script/import_scripts/base.rb:869:in `batches'
/var/www/discourse/script/import_scripts/mbox/importer.rb:83:in `batches'
/var/www/discourse/script/import_scripts/mbox/importer.rb:91:in `import_posts'
/var/www/discourse/script/import_scripts/mbox/importer.rb:35:in `execute'
/var/www/discourse/script/import_scripts/base.rb:47:in `perform'
script/import_scripts/mbox.rb:16:in `\u003cmodule:Mbox\u003e'
script/import_scripts/mbox.rb:10:in `\u003cmodule:ImportScripts\u003e'
script/import_scripts/mbox.rb:9:in `\u003cmain\u003e'
     2328 / 2333 ( 99.8%)  [467 elementi/min]  

Aggiornamento dello stato dei topic

Aggiornamento di bumped_at sui topic

Aggiornamento di last posted at sugli utenti

Aggiornamento di last seen at sugli utenti

Aggiornamento dei conteggi delle risposte nei topic...
       70 / 70 (100.0%)  [10745 elementi/min]    
Aggiornamento di first_post_created_at...

Aggiornamento di post_count per gli utenti...

Aggiornamento di topic_count per gli utenti...

Aggiornamento degli utenti nei topic

Aggiornamento dei tempi dei post

Aggiornamento degli utenti nei topic in evidenza

Aggiornamento dei topic in evidenza nelle categorie
        9 / 9 (100.0%)  [2505 elementi/min]  n]  
Aggiornamento dei conteggi delle risposte per gli utenti
       70 / 70 (100.0%)  [9174 elementi/min]   ]  
Reset dei contatori dei topic


Fatto (00h 06min 58sec)

Quindi ho proceduto a permettere che questo avvenisse (valuterò gli errori in seguito), ma ora ho una stranezza molto grande. Avevo tentato di importarli in una cartella chiamata “old-yahoo-group” creando prima questa CATEGORIA all’interno del sistema e poi spostando tutte le cartelle mbox in una directory qui:

/var/discourse/shared/standalone/import/data/old-yahoo-group

Pensavo di aver compreso le istruzioni in modo che questi messaggi, una volta importati, apparissero nella categoria appropriata; invece, sono tutti nascosti nel sistema.

Posso eseguire una ricerca e trovare i vecchi messaggi senza problemi, ma non appaiono in alcuna posizione aggregata.

Come posso manipolare questo ultimo import in modo che vada in una categoria definita, così che tutti i ~35k messaggi appaiano in una sezione comoda che indichi che si tratta di vecchi messaggi?

Dopo aver indagato ulteriormente, sembra di aver capito cosa è successo:

Ora devo capire come recuperare da questa situazione…

Quindi questo ha funzionato perfettamente (dove old-yahoo-group era già stato creato e non esistevano altri post non categorizzati (ed era effettivamente disabilitato nelle Impostazioni)):

/var/discourse/launcher enter app
rails c
un=Category.find_by_slug('uncategorized')
newcat=Category.find_by_slug('old-yahoo-group')
Topic.where(category_id: un.id).update_all(category_id: newcat.id)

A proposito, ho avuto un’esperienza simile. Per qualche motivo, lo script di importazione ha ignorato la categoria esistente che avevo creato, anche se lo slug era lo stesso. Tuttavia, ha creato una nuova categoria per me, quindi non ho avuto problemi. Ho semplicemente eliminato la categoria che avevo creato e rinominato quella generata dallo script.