# downsize\_upload 스크립트의 레이스 컨디션

**URL:** <https://meta.discourse.org/t/race-condition-in-downsize-upload-script/177152>\
**Category:** Bug\
**Created:** [1월 25, 2021, 7:45오전 UTC](https://meta.discourse.org/t/race-condition-in-downsize-upload-script/177152 "2021-01-25T07:45:56Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![concerto](https://avatars.discourse-cdn.com/v4/letter/c/dec6dc/32.png) [@concerto](https://meta.discourse.org/u/concerto)\
**Post date:** [1월 25, 2021, 7:45오전 UTC](https://meta.discourse.org/t/race-condition-in-downsize-upload-script/177152/1 "2021-01-25T07:45:56Z")

</div>

## 문제

`downsize_upload.rb` 스크립트를 사용하여 업로드된 이미지를 축소할 때, 일부 이미지는 변경되었지만 해당 이미지를 사용하는 게시글은 변경되지 않은 상태가 될 수 있습니다. 이로 인해 일부 게시글의 이미지가 사라진 것처럼 보일 수 있습니다.

 ![image](https://global.discourse-cdn.com/meta/original/3X/8/1/8191cbb6a3b64682a77349ab23fc85d4ec695d20.png)

## 가능한 원인

`shrink_uploaded_image.rb`에서 변환(이미지 URL 업데이트)할 게시글을 선택한 후에도, 업로드된 이미지를 사용하는 새 게시글이 여전히 생성될 수 있습니다. 하지만 이 새 게시글은 변환되지 않으며, 위의 이미지와 같이 이미지에 대한 오래된 참조를 사용합니다.

변환이 필요한 게시글은 먼저 여기에서 선택됩니다:

> <https://github.com/discourse/discourse/blob/d0ef952af296f4fe00c8be56f4e8cede8095d2d6/lib/shrink_uploaded_image.rb#L73>

이 시점 이후에 변환 중인 이미지를 사용하는 새 게시글이 생성되면 링크가 업데이트되지 않아 깨진 이미지(broken image)가 발생하게 됩니다.
