Explain database client errors
This commit is contained in:
parent
7f6ebb89c0
commit
f8df50934c
2 changed files with 13 additions and 2 deletions
|
@ -107,6 +107,11 @@ pub async fn process_queued_incoming_activities(
|
||||||
};
|
};
|
||||||
if let Err(error) = handler_result {
|
if let Err(error) = handler_result {
|
||||||
job_data.failure_count += 1;
|
job_data.failure_count += 1;
|
||||||
|
if let HandlerError::DatabaseError(
|
||||||
|
DatabaseError::DatabaseClientError(ref pg_error)) = error
|
||||||
|
{
|
||||||
|
log::error!("database client error: {}", pg_error);
|
||||||
|
};
|
||||||
log::warn!(
|
log::warn!(
|
||||||
"failed to process activity ({}) (attempt #{}): {}",
|
"failed to process activity ({}) (attempt #{}): {}",
|
||||||
error,
|
error,
|
||||||
|
|
|
@ -16,7 +16,7 @@ use uuid::Uuid;
|
||||||
|
|
||||||
use mitra_config::Config;
|
use mitra_config::Config;
|
||||||
use mitra_models::{
|
use mitra_models::{
|
||||||
database::{get_database_client, DbPool},
|
database::{get_database_client, DatabaseError, DbPool},
|
||||||
emojis::queries::get_local_emoji_by_name,
|
emojis::queries::get_local_emoji_by_name,
|
||||||
posts::helpers::{add_related_posts, can_view_post},
|
posts::helpers::{add_related_posts, can_view_post},
|
||||||
posts::queries::{get_post_by_id, get_posts_by_author},
|
posts::queries::{get_post_by_id, get_posts_by_author},
|
||||||
|
@ -47,7 +47,7 @@ use super::identifiers::{
|
||||||
local_actor_subscribers,
|
local_actor_subscribers,
|
||||||
local_actor_outbox,
|
local_actor_outbox,
|
||||||
};
|
};
|
||||||
use super::receiver::receive_activity;
|
use super::receiver::{receive_activity, HandlerError};
|
||||||
|
|
||||||
pub fn is_activitypub_request(headers: &HeaderMap) -> bool {
|
pub fn is_activitypub_request(headers: &HeaderMap) -> bool {
|
||||||
let maybe_user_agent = headers.get(http_header::USER_AGENT)
|
let maybe_user_agent = headers.get(http_header::USER_AGENT)
|
||||||
|
@ -126,6 +126,12 @@ async fn inbox(
|
||||||
let db_client = &mut **get_database_client(&db_pool).await?;
|
let db_client = &mut **get_database_client(&db_pool).await?;
|
||||||
receive_activity(&config, db_client, &request, &activity).await
|
receive_activity(&config, db_client, &request, &activity).await
|
||||||
.map_err(|error| {
|
.map_err(|error| {
|
||||||
|
// TODO: preserve original error text in DatabaseError
|
||||||
|
if let HandlerError::DatabaseError(
|
||||||
|
DatabaseError::DatabaseClientError(ref pg_error)) = error
|
||||||
|
{
|
||||||
|
log::error!("database client error: {}", pg_error);
|
||||||
|
};
|
||||||
log::warn!(
|
log::warn!(
|
||||||
"failed to process activity ({}): {}",
|
"failed to process activity ({}): {}",
|
||||||
error,
|
error,
|
||||||
|
|
Loading…
Reference in a new issue