Skip to content

sync!가 410 Gone 응답을 처리하지 못함 #13

Description

@stadia

현상

Federails::Actor#sync! 호출 시, 원격 서버가 410 Gone을 반환하면 ActiveRecord::RecordNotFound가 발생합니다.

재현

# 삭제된 Mastodon actor에 대해
Federails::Actor.last.sync!
# => ActiveRecord::RecordNotFound

호출 경로

  1. Actor#sync!Webfinger.fetch_actor_url
  2. get_json → 410 → RecordNotFound
  3. signed_get_json fallback → 410 → RecordNotFound
  4. 예외가 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions