Don't spam logs about deleted users
User.get_or_fetch_by_(apid|nickname) are the only external users of fetch_and_prepare_user_from_ap_id, thus there’s no point in duplicating logging, expecially not at error level. Currently (duplicated) _not_found errors for users make up the bulk of my logs and are created almost every second. Deleted users are a common occurence and not worth logging outside of debug
This commit is contained in:
parent
8d8132b46a
commit
ad42de2ad7
5 changed files with 20 additions and 15 deletions
|
@ -2003,8 +2003,16 @@ def get_or_fetch_by_ap_id(ap_id, options \\ []) do
|
|||
Logger.debug("Rejected to fetch user due to MRF: #{ap_id}")
|
||||
{:error, {:reject, :mrf}}
|
||||
|
||||
e ->
|
||||
{_, {:error, :not_found}} ->
|
||||
Logger.debug("User doesn't exist (anymore): #{ap_id}")
|
||||
{:error, :not_found}
|
||||
|
||||
{_, {:error, e}} ->
|
||||
Logger.error("Could not fetch user #{ap_id}, #{inspect(e)}")
|
||||
{:error, e}
|
||||
|
||||
e ->
|
||||
Logger.error("Unexpected error condition while fetching user #{ap_id}, #{inspect(e)}")
|
||||
{:error, :not_found}
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1750,19 +1750,16 @@ defp fetch_and_prepare_user_from_ap_id(ap_id, additional) do
|
|||
else
|
||||
# If this has been deleted, only log a debug and not an error
|
||||
{:error, {"Object has been deleted", _, _} = e} ->
|
||||
Logger.debug("Could not decode user at fetch #{ap_id}, #{inspect(e)}")
|
||||
{:error, e}
|
||||
Logger.debug("User was explicitly deleted #{ap_id}, #{inspect(e)}")
|
||||
{:error, :not_found}
|
||||
|
||||
{:reject, reason} = e ->
|
||||
Logger.debug("Rejected user #{ap_id}: #{inspect(reason)}")
|
||||
{:reject, _reason} = e ->
|
||||
{:error, e}
|
||||
|
||||
{:valid, reason} ->
|
||||
Logger.debug("Data is not a valid user #{ap_id}: #{inspect(reason)}")
|
||||
{:error, "Not a user"}
|
||||
{:error, {:validate, reason}}
|
||||
|
||||
{:error, e} ->
|
||||
Logger.error("Could not decode user at fetch #{ap_id}, #{inspect(e)}")
|
||||
{:error, e}
|
||||
end
|
||||
end
|
||||
|
|
|
@ -241,11 +241,11 @@ test "it rejects posts without links" do
|
|||
|
||||
assert capture_log(fn ->
|
||||
{:reject, _} = AntiLinkSpamPolicy.filter(message)
|
||||
end) =~ "[error] Could not decode user at fetch http://invalid.actor"
|
||||
end) =~ "[error] Could not fetch user http://invalid.actor,"
|
||||
|
||||
assert capture_log(fn ->
|
||||
{:reject, _} = AntiLinkSpamPolicy.filter(update_message)
|
||||
end) =~ "[error] Could not decode user at fetch http://invalid.actor"
|
||||
end) =~ "[error] Could not fetch user http://invalid.actor,"
|
||||
end
|
||||
|
||||
test "it rejects posts with links" do
|
||||
|
@ -259,11 +259,11 @@ test "it rejects posts with links" do
|
|||
|
||||
assert capture_log(fn ->
|
||||
{:reject, _} = AntiLinkSpamPolicy.filter(message)
|
||||
end) =~ "[error] Could not decode user at fetch http://invalid.actor"
|
||||
end) =~ "[error] Could not fetch user http://invalid.actor,"
|
||||
|
||||
assert capture_log(fn ->
|
||||
{:reject, _} = AntiLinkSpamPolicy.filter(update_message)
|
||||
end) =~ "[error] Could not decode user at fetch http://invalid.actor"
|
||||
end) =~ "[error] Could not fetch user http://invalid.actor,"
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -29,7 +29,7 @@ test "relay actor is invisible" do
|
|||
test "returns errors when user not found" do
|
||||
assert capture_log(fn ->
|
||||
{:error, _} = Relay.follow("test-ap-id")
|
||||
end) =~ "Could not decode user at fetch"
|
||||
end) =~ "Could not fetch user test-ap-id,"
|
||||
end
|
||||
|
||||
test "returns activity" do
|
||||
|
@ -48,7 +48,7 @@ test "returns activity" do
|
|||
test "returns errors when user not found" do
|
||||
assert capture_log(fn ->
|
||||
{:error, _} = Relay.unfollow("test-ap-id")
|
||||
end) =~ "Could not decode user at fetch"
|
||||
end) =~ "Could not fetch user test-ap-id,"
|
||||
end
|
||||
|
||||
test "returns activity" do
|
||||
|
|
|
@ -132,7 +132,7 @@ test "show follow page with error when user can not be fetched by `acct` link",
|
|||
|> html_response(200)
|
||||
|
||||
assert response =~ "Error fetching user"
|
||||
end) =~ ":not_found"
|
||||
end) =~ "User doesn't exist (anymore): https://mastodon.social/users/not_found"
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue