Yahoo Groups 가져오기 오류

Yahoo Groups mbox 가져오기를 진행하던 중 몇 가지 오류가 발생했습니다. 현재 디버깅 및 가져오기에 대해 어떤 방향으로 진행해야 할지 막막합니다. 지금까지 확인된 오류는 다음과 같습니다:
https://pastebin.com/raw/2WTN3GTj

mbox 스크립트를 사용 중이시죠? 제 경우엔 오류 없이 잘 작동했습니다. 첨부파일이 누락되긴 했지만, 제 상황에서는 치명적인 문제는 아니었습니다.

맞습니다, @tobiaseigen. 가져오기가 2시간 이상 진행되었습니다.

마지막 질문 외에도, 이러한 실패가 있는 상태에서 이 가져오기를 계속 진행해야 할지 확신이 서지 않았습니다… 오류/실패를 수정한 후 다시 가져오기를 실행하면 이미 가져온 메시지는 건너뛰고 정상적으로 가져오기를 계속 진행할 수 있을지 궁금합니다.

@gerhard 여기서는 어떤 입력과 도움이 필요한 것 같습니다… 당신의 가이드를 살펴봐도 약 35,000개의 메시지 처리가 Sidekiq에 표시되지 않습니다.

Sidekiq이 여기서는 관련이 없는 것 같습니다. 저는 가져오기 스크립트가 Discourse 외부에서 실행된다고 생각하거든요.

도움이 될지 모르겠지만, 제 가져오기 로그를 첨부합니다. 사실 여러분과 유사한 줄이 몇 줄 있지만, 그냥 신경 쓰지 않기로 했습니다. 인생은 너무 짧으니까요. :wink:

에러가 많이 발생하고 있으니, 보다 체계적인 문제가 있는 것 같습니다. 시스템에 충분한 RAM이 있는지 확인해 보셨나요? 이미 시도해 보셨을 수도 있지만, 가져오기 파일을 좀 더 자세히 살펴보고 거기서 발견할 수 있는 것이 있는지 파악해 보시는 것이 좋습니다. 어쩌면 split_regex를 어떻게든 조정하거나, 파일을 다른 형식으로 서버에 업로드해야 할 수도 있습니다.

문제가 계속되면 Marketplace 채널에서 도움을 요청해 보세요.那里에는 가져오기 작업에 매우 숙련된 컨설턴트들이 몇 명 있습니다. 저는 전문가가 아닙니다. 이건 제 첫 시도였거든요. :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
The mbox import is starting...

Loading existing groups...
Loading existing users...
Loading existing categories...
Loading existing posts...
Loading existing topics...

creating index
indexing files in /shared/import/data/list
indexing /shared/import/data/list/18929486-3.mbox
indexing /shared/import/data/list/18929486-2.mbox

indexing replies and users

creating categories
        1 / 1 (100.0%)  [4916421 items/min]  
creating users
       69 / 69 (100.0%)  [1178 items/min]  ]  
creating topics and posts
Date is missing. Skipping 0462b41b966d8c11e6e32cc14c0b576d
        1 / 2333 (  0.0%)  [179689 items/min]  Date is missing. Skipping 0adb9bd80082595a33130f7749d7f530
        2 / 2333 (  0.1%)  [224693 items/min]  Date is missing. Skipping 3bd86d7adb396fbeb7d6dfcfe9f0be5f
        3 / 2333 (  0.1%)  [283328 items/min]  Date is missing. Skipping 4f5397838e6c7f96eedfe116ce27be13
        4 / 2333 (  0.2%)  [184374 items/min]  Date is missing. Skipping c8c14ab80e92ae1cacd4af99351319bd
       45 / 2333 (  1.9%)  [334 items/min]  Failed to map post for 2f401ce90708241252h30bdae5iad2ae0096e067b71@mail.gmail.com
undefined method `hex' for 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 items/min]  Failed to map post for BBCAF42471FF9540868B4DC02B885B1BBCDA1F@wn1217.or.providence.org
undefined method `hex' for 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 items/min]  Failed to map post for 3A1D6C799D451B41BD0500303339622A023AA1@s-mail.integral-corp.com
undefined method `hex' for 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 items/min]  Failed to map post for FF35EE5B30156244A4370DC859B7F650F50626@s-mail.integral-corp.com
undefined method `hex' for 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 items/min]  

Updating topic status

Updating bumped_at on topics

Updating last posted at on users

Updating last seen at on users

Updating topic reply counts...
       70 / 70 (100.0%)  [10745 items/min]    
Updating first_post_created_at...

Updating user post_count...

Updating user topic_count...

Updating topic users

Updating post timings

Updating featured topic users

Updating featured topics in categories
        9 / 9 (100.0%)  [2505 items/min]  n]  
Updating user topic reply counts
       70 / 70 (100.0%)  [9174 items/min]   ]  
Resetting topic counters


Done (00h 06min 58sec)

그래서 나는 일단 진행을 허용했습니다(에러는 나중에 확인하기로 하고요), 그런데 이제 매우 큰 특이점이 발생했습니다. 저는 이 메시지들을 "old-yahoo-group"이라는 폴더로 가져오려고 시도했는데, 먼저 시스템 내에 해당 CATEGORY를 생성한 뒤 모든 mbox 폴더를 다음 폴더로 이동시켰습니다:

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

제 이해에 따르면, 이 메시지들은 가져오기 후 적절한 카테고리에 표시되어야 했으나, 실제로는 모두 시스템에 숨겨진 상태입니다.

검색을 통해 오래된 메시지를 찾기는 하지만, 어떤 집계된 위치에도 표시되지 않습니다.

이 마지막 가져오기 작업이 정의된 카테고리로 이동하도록 조작하여 약 35,000개의 메시지가 모두 '이것들은 오래된 메시지입니다’라는 것을 나타내는 편리한 섹션에 표시되도록 할 수 있는 방법이 있을까요?

더 자세히 살펴보니, 무슨 일이 일어났는지 파악한 것 같습니다:

이제 이 상황에서 어떻게 복구할지 알아내야 합니다…

다음 방법은 완벽하게 작동했습니다(old-yahoo-group가 이미 생성되어 있었고, 다른 미분류 게시물이 없었으며, 실제로 설정에서 비활성화되어 있던 상태):

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

참고로 저도 비슷한 경험을 했습니다. 슬러그가 동일함에도 불구하고, 왜인지 모르겠지만 가져오기 스크립트가 제가 이미 만든 기존 카테고리를 무시했습니다. 하지만 스크립트가 새 카테고리를 대신 생성해 주었기 때문에 문제는 없었습니다. 제가 만든 카테고리를 삭제하고 스크립트가 생성한 카테고리의 이름을 변경하기만 했습니다.