From 47e5e94ac15d9723201f8e7182e95aec88219fc8 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Thu, 17 May 2018 19:32:26 -0700 Subject: [PATCH] modules/client/sync: Ignore errs for graceful degradation w/o killing entire polylog sync. --- modules/client/sync.cc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/client/sync.cc b/modules/client/sync.cc index aa9d48428..b965fd3cb 100644 --- a/modules/client/sync.cc +++ b/modules/client/sync.cc @@ -627,7 +627,7 @@ catch(const std::exception &e) { log::error { - "polylog sync ERROR %lu to %lu (vm @ %zu) :%s" + "polylog sync FAILED %lu to %lu (vm @ %zu) :%s" ,sp.since ,sp.current ,m::vm::current_sequence @@ -652,7 +652,7 @@ polylog_sync_presence(shortpoll &sp, (const m::user &user) { const m::user::room user_room{user}; - if(head_idx(user_room) <= sp.since) + if(head_idx(std::nothrow, user_room) <= sp.since) return; //TODO: can't check event_idx cuz only closed presence content @@ -704,7 +704,7 @@ polylog_sync_account_data(shortpoll &sp, { const auto &event_idx { - index(event) + index(event, std::nothrow) }; if(event_idx < sp.since || event_idx >= sp.current) @@ -772,7 +772,7 @@ polylog_sync_rooms__membership(shortpoll &sp, sp.rooms.for_each(membership, [&] (const m::room &room, const string_view &) { - if(head_idx(room) <= sp.since) + if(head_idx(std::nothrow, room) <= sp.since) return; const m::room::id &room_id{room.room_id}; @@ -882,7 +882,7 @@ polylog_sync_room_state(shortpoll &sp, const auto &event_idx { - index(event) + index(event, std::nothrow) }; if(event_idx < sp.since || event_idx >= sp.current) @@ -1001,7 +1001,7 @@ polylog_sync_room_ephemeral_events(shortpoll &sp, (const m::user &user) { const m::user::room user_room{user}; - if(head_idx(user_room) <= sp.since) + if(head_idx(std::nothrow, user_room) <= sp.since) return; user_room.get(std::nothrow, "ircd.read", room.room_id, [&] @@ -1009,7 +1009,7 @@ polylog_sync_room_ephemeral_events(shortpoll &sp, { const auto &event_idx { - index(event) + index(event, std::nothrow) }; if(event_idx < sp.since || event_idx >= sp.current)