Errores de importación en Yahoo Groups

Estoy trabajando en una importación mbox de Yahoo Groups y encontrando algunos errores. No estoy seguro de qué rumbo tomar en este momento para depurar e importar. Estos son los errores que he visto hasta ahora:
https://pastebin.com/raw/2WTN3GTj

¿Estás usando el script mbox, verdad? Funcionó muy bien para mí sin errores. Faltan los archivos adjuntos, pero en mi caso no es el fin del mundo.

Eso es correcto, @tobiaseigen. La importación se ejecutó durante más de 2 horas.

Además de la última pregunta, quería agregar que no estaba seguro de si debería proceder con la importación de esto, incluso con estos errores… Me pregunto si, una vez corregidos los errores/fallos, podemos simplemente volver a importarlos y el sistema omitirá los mensajes ya importados y continuará con la importación correcta.

@gerhard, quizás necesitemos alguna orientación y ayuda aquí… Incluso después de seguir tu guía, Sidekiq no muestra el procesamiento de estos ~35,000 mensajes.

No estoy seguro de que Sidekiq sea relevante aquí; creo que el script de importación se ejecuta fuera de Discourse.

Por si te sirve, aquí está mi registro de importación. De hecho, hay algunas líneas similares a las tuyas, pero decidí no preocuparme por ello. La vida es demasiado corta.

Dado que tienes tantos errores, parece que tienes un problema más sistemático. ¿Estás seguro de que el sistema tiene suficiente RAM disponible? No sé si ya lo has intentado, pero tal vez quieras examinar el archivo de importación con más detalle e intentar identificar si hay algo que puedas averiguar; quizás solo necesites ajustar split_regex de alguna manera o subir el archivo a tu servidor en un formato diferente.

Si sigues teniendo problemas, podrías pedir ayuda en Marketplace; hay algunos consultores por aquí que tienen mucha experiencia en realizar importaciones. Yo ciertamente no soy un experto; esta fue mi primera vez. :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
La importación de mbox está comenzando...

Cargando grupos existentes...
Cargando usuarios existentes...
Cargando categorías existentes...
Cargando publicaciones existentes...
Cargando temas existentes...

creando índice
indexando archivos en /shared/import/data/list
indexando /shared/import/data/list/18929486-3.mbox
indexando /shared/import/data/list/18929486-2.mbox

indexando respuestas y usuarios

creando categorías
        1 / 1 (100.0%)  [4916421 elementos/min]  
creando usuarios
       69 / 69 (100.0%)  [1178 elementos/min]  ]  
creando temas y publicaciones
Falta la fecha. Omitiendo 0462b41b966d8c11e6e32cc14c0b576d
        1 / 2333 (  0.0%)  [179689 elementos/min]  Falta la fecha. Omitiendo 0adb9bd80082595a33130f7749d7f530
        2 / 2333 (  0.1%)  [224693 elementos/min]  Falta la fecha. Omitiendo 3bd86d7adb396fbeb7d6dfcfe9f0be5f
        3 / 2333 (  0.1%)  [283328 elementos/min]  Falta la fecha. Omitiendo 4f5397838e6c7f96eedfe116ce27be13
        4 / 2333 (  0.2%)  [184374 elementos/min]  Falta la fecha. Omitiendo c8c14ab80e92ae1cacd4af99351319bd
       45 / 2333 (  1.9%)  [334 elementos/min]  No se pudo mapear la publicación para 2f401ce90708241252h30bdae5iad2ae0096e067b71@mail.gmail.com
método `hex` no definido para 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 `<module:Mbox>'
script/import_scripts/mbox.rb:10:in `<module:ImportScripts>'
script/import_scripts/mbox.rb:9:in `<main>'
      940 / 2333 ( 40.3%)  [398 elementos/min]  No se pudo mapear la publicación para BBCAF42471FF9540868B4DC02B885B1BBCDA1F@wn1217.or.providence.org
método `hex` no definido para 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 `<module:Mbox>'
script/import_scripts/mbox.rb:10:in `<module:ImportScripts>'
script/import_scripts/mbox.rb:9:in `<main>'
      944 / 2333 ( 40.5%)  [399 elementos/min]  No se pudo mapear la publicación para 3A1D6C799D451B41BD0500303339622A023AA1@s-mail.integral-corp.com
método `hex` no definido para 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 `<module:Mbox>'
script/import_scripts/mbox.rb:10:in `<module:ImportScripts>'
script/import_scripts/mbox.rb:9:in `<main>'
     1149 / 2333 ( 49.2%)  [408 elementos/min]  No se pudo mapear la publicación para FF35EE5B30156244A4370DC859B7F650F50626@s-mail.integral-corp.com
método `hex` no definido para 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 `<module:Mbox>'
script/import_scripts/mbox.rb:10:in `<module:ImportScripts>'
script/import_scripts/mbox.rb:9:in `<main>'
     2328 / 2333 ( 99.8%)  [467 elementos/min]  

Actualizando estado del tema

Actualizando bumped_at en temas

Actualizando last posted at en usuarios

Actualizando last seen at en usuarios

Actualizando conteos de respuestas de temas...
       70 / 70 (100.0%)  [10745 elementos/min]    
Actualizando first_post_created_at...

Actualizando post_count de usuario...

Actualizando topic_count de usuario...

Actualizando usuarios de temas

Actualizando tiempos de publicaciones

Actualizando usuarios de temas destacados

Actualizando temas destacados en categorías
        9 / 9 (100.0%)  [2505 elementos/min]  n]  
Actualizando conteos de respuestas de temas por usuario
       70 / 70 (100.0%)  [9174 elementos/min]   ]  
Restableciendo contadores de temas


Terminado (00h 06min 58seg)

Así que procedí a permitir que esto continuara (miraré los errores más tarde), pero ahora tengo una peculiaridad muy grande. Intenté importar estos en una carpeta llamada “old-yahoo-group” creando primero esta CATEGORÍA dentro del sistema y luego empujé todas las carpetas mbox a una carpeta aquí:

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

Pensé que había entendido las instrucciones de tal manera que estos mensajes, tras la importación, aparecerían en la categoría correspondiente; sin embargo, todos están ocultos en el sistema.

Puedo realizar una búsqueda y encontrar mensajes antiguos sin problemas, pero no aparecen en ninguna ubicación agregada.

¿Cómo puedo manipular esta última importación para que vaya a una categoría definida, de modo que todos los ~35k mensajes aparezcan en una sección conveniente que indique que son mensajes antiguos?

Al investigar más, parece que he encontrado lo que sucedió:

Ahora necesito averiguar cómo recuperarme de esto…

Así que esto funcionó perfectamente (donde old-yahoo-group ya había sido creado y NO existían otros publicaciones sin categoría (y de hecho estaba deshabilitado en la Configuración)):

/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)

Por cierto, tuve una experiencia similar. Por alguna razón, el script de importación ignoró la categoría existente que había creado, aunque el slug era el mismo. Pero creó una nueva categoría por mí, así que no tuve ningún problema. Simplemente eliminé la categoría que había creado y renombré la creada por el script.