현상
Federails::Actor#sync! 호출 시, 원격 서버가 410 Gone을 반환하면 ActiveRecord::RecordNotFound가 발생합니다.
재현
# 삭제된 Mastodon actor에 대해
Federails::Actor.last.sync!
# => ActiveRecord::RecordNotFound
호출 경로
Actor#sync! → Webfinger.fetch_actor_url
get_json → 410 → RecordNotFound
signed_get_json fallback → 410 → RecordNotFound
- 예외가
sync!까지 전파
기대 동작
410 Gone 응답 시 actor.tombstone!을 호출하여 해당 actor를 tombstone 상태로 전환해야 합니다.
로그
Unhandled status code 410 for GET https://mastodon.social/ap/users/116328028731117799
Retrying with signed GET for https://mastodon.social/ap/users/116328028731117799
Unhandled status code 410 for signed GET https://mastodon.social/ap/users/116328028731117799
현상
Federails::Actor#sync!호출 시, 원격 서버가 410 Gone을 반환하면ActiveRecord::RecordNotFound가 발생합니다.재현
호출 경로
Actor#sync!→Webfinger.fetch_actor_urlget_json→ 410 →RecordNotFoundsigned_get_jsonfallback → 410 →RecordNotFoundsync!까지 전파기대 동작
410 Gone 응답 시
actor.tombstone!을 호출하여 해당 actor를 tombstone 상태로 전환해야 합니다.로그