Add TdDb::get_binlog debug.
GitOrigin-RevId: c1a155df722fbc8901f02875eabb00e857179914
This commit is contained in:
parent
76b4de2413
commit
3a2af5d4b1
@ -1626,7 +1626,9 @@ void NotificationManager::on_notification_removed(NotificationId notification_id
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
VLOG(notifications) << "Remove from binlog " << notification_id << " with logevent " << it->second;
|
VLOG(notifications) << "Remove from binlog " << notification_id << " with logevent " << it->second;
|
||||||
binlog_erase(G()->td_db()->get_binlog(), it->second);
|
if (!is_being_destroyed_) {
|
||||||
|
binlog_erase(G()->td_db()->get_binlog("on_notification_removed"), it->second);
|
||||||
|
}
|
||||||
temporary_notification_logevent_ids_.erase(it);
|
temporary_notification_logevent_ids_.erase(it);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3170,7 +3172,7 @@ void NotificationManager::process_message_push_notification(DialogId dialog_id,
|
|||||||
VLOG(notifications) << "Don't need message push notification for " << message_id << "/" << random_id << " from "
|
VLOG(notifications) << "Don't need message push notification for " << message_id << "/" << random_id << " from "
|
||||||
<< dialog_id << ": " << r_info.error();
|
<< dialog_id << ": " << r_info.error();
|
||||||
if (logevent_id != 0) {
|
if (logevent_id != 0) {
|
||||||
binlog_erase(G()->td_db()->get_binlog(), logevent_id);
|
binlog_erase(G()->td_db()->get_binlog("process_message_push_notification"), logevent_id);
|
||||||
}
|
}
|
||||||
if (r_info.error().code() == 406) {
|
if (r_info.error().code() == 406) {
|
||||||
promise.set_error(r_info.move_as_error());
|
promise.set_error(r_info.move_as_error());
|
||||||
@ -3223,7 +3225,8 @@ void NotificationManager::process_message_push_notification(DialogId dialog_id,
|
|||||||
sender_name, date, contains_mention, is_silent,
|
sender_name, date, contains_mention, is_silent,
|
||||||
loc_key, arg, notification_id};
|
loc_key, arg, notification_id};
|
||||||
auto storer = LogEventStorerImpl<AddMessagePushNotificationLogEvent>(logevent);
|
auto storer = LogEventStorerImpl<AddMessagePushNotificationLogEvent>(logevent);
|
||||||
logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::AddMessagePushNotification, storer);
|
logevent_id = binlog_add(G()->td_db()->get_binlog("process_message_push_notification 2"),
|
||||||
|
LogEvent::HandlerType::AddMessagePushNotification, storer);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (logevent_id != 0) {
|
if (logevent_id != 0) {
|
||||||
@ -3451,6 +3454,7 @@ void NotificationManager::destroy_all_notifications() {
|
|||||||
if (is_destroyed_) {
|
if (is_destroyed_) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
is_being_destroyed_ = true;
|
||||||
|
|
||||||
size_t cur_pos = 0;
|
size_t cur_pos = 0;
|
||||||
for (auto it = groups_.begin(); it != groups_.end() && cur_pos < max_notification_group_count_; ++it, cur_pos++) {
|
for (auto it = groups_.begin(); it != groups_.end() && cur_pos < max_notification_group_count_; ++it, cur_pos++) {
|
||||||
@ -3548,7 +3552,7 @@ void NotificationManager::on_binlog_events(vector<BinlogEvent> &&events) {
|
|||||||
switch (event.type_) {
|
switch (event.type_) {
|
||||||
case LogEvent::HandlerType::AddMessagePushNotification: {
|
case LogEvent::HandlerType::AddMessagePushNotification: {
|
||||||
if (!G()->parameters().use_message_db || is_disabled() || max_notification_group_count_ == 0) {
|
if (!G()->parameters().use_message_db || is_disabled() || max_notification_group_count_ == 0) {
|
||||||
binlog_erase(G()->td_db()->get_binlog(), event.id_);
|
binlog_erase(G()->td_db()->get_binlog("AddMessagePushNotification"), event.id_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -331,6 +331,7 @@ class NotificationManager : public Actor {
|
|||||||
SyncState contact_registered_notifications_sync_state_ = SyncState::NotSynced;
|
SyncState contact_registered_notifications_sync_state_ = SyncState::NotSynced;
|
||||||
bool disable_contact_registered_notifications_ = false;
|
bool disable_contact_registered_notifications_ = false;
|
||||||
|
|
||||||
|
bool is_being_destroyed_ = false;
|
||||||
bool is_destroyed_ = false;
|
bool is_destroyed_ = false;
|
||||||
|
|
||||||
bool is_inited_ = false;
|
bool is_inited_ = false;
|
||||||
|
@ -598,13 +598,14 @@ void PollManager::do_set_poll_answer(PollId poll_id, FullMessageId full_message_
|
|||||||
auto storer = LogEventStorerImpl<SetPollAnswerLogEvent>(logevent);
|
auto storer = LogEventStorerImpl<SetPollAnswerLogEvent>(logevent);
|
||||||
if (pending_answer.generation_ == 0) {
|
if (pending_answer.generation_ == 0) {
|
||||||
CHECK(pending_answer.logevent_id_ == 0);
|
CHECK(pending_answer.logevent_id_ == 0);
|
||||||
logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::SetPollAnswer, storer);
|
logevent_id =
|
||||||
|
binlog_add(G()->td_db()->get_binlog("do_set_poll_answer"), LogEvent::HandlerType::SetPollAnswer, storer);
|
||||||
LOG(INFO) << "Add set poll answer logevent " << logevent_id;
|
LOG(INFO) << "Add set poll answer logevent " << logevent_id;
|
||||||
} else {
|
} else {
|
||||||
CHECK(pending_answer.logevent_id_ != 0);
|
CHECK(pending_answer.logevent_id_ != 0);
|
||||||
logevent_id = pending_answer.logevent_id_;
|
logevent_id = pending_answer.logevent_id_;
|
||||||
auto new_logevent_id = binlog_rewrite(G()->td_db()->get_binlog(), pending_answer.logevent_id_,
|
auto new_logevent_id = binlog_rewrite(G()->td_db()->get_binlog("do_set_poll_answer_2"),
|
||||||
LogEvent::HandlerType::SetPollAnswer, storer);
|
pending_answer.logevent_id_, LogEvent::HandlerType::SetPollAnswer, storer);
|
||||||
LOG(INFO) << "Rewrite set poll answer logevent " << logevent_id << " with " << new_logevent_id;
|
LOG(INFO) << "Rewrite set poll answer logevent " << logevent_id << " with " << new_logevent_id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -663,7 +664,7 @@ void PollManager::on_set_poll_answer(PollId poll_id, uint64 generation,
|
|||||||
|
|
||||||
if (pending_answer.logevent_id_ != 0) {
|
if (pending_answer.logevent_id_ != 0) {
|
||||||
LOG(INFO) << "Delete set poll answer logevent " << pending_answer.logevent_id_;
|
LOG(INFO) << "Delete set poll answer logevent " << pending_answer.logevent_id_;
|
||||||
binlog_erase(G()->td_db()->get_binlog(), pending_answer.logevent_id_);
|
binlog_erase(G()->td_db()->get_binlog("on_set_poll_answer"), pending_answer.logevent_id_);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto promises = std::move(pending_answer.promises_);
|
auto promises = std::move(pending_answer.promises_);
|
||||||
@ -729,7 +730,7 @@ void PollManager::do_stop_poll(PollId poll_id, FullMessageId full_message_id, ui
|
|||||||
if (logevent_id == 0 && G()->parameters().use_message_db) {
|
if (logevent_id == 0 && G()->parameters().use_message_db) {
|
||||||
StopPollLogEvent logevent{poll_id, full_message_id};
|
StopPollLogEvent logevent{poll_id, full_message_id};
|
||||||
auto storer = LogEventStorerImpl<StopPollLogEvent>(logevent);
|
auto storer = LogEventStorerImpl<StopPollLogEvent>(logevent);
|
||||||
logevent_id = binlog_add(G()->td_db()->get_binlog(), LogEvent::HandlerType::StopPoll, storer);
|
logevent_id = binlog_add(G()->td_db()->get_binlog("do_stop_poll"), LogEvent::HandlerType::StopPoll, storer);
|
||||||
}
|
}
|
||||||
|
|
||||||
auto new_promise = get_erase_logevent_promise(logevent_id, std::move(promise));
|
auto new_promise = get_erase_logevent_promise(logevent_id, std::move(promise));
|
||||||
@ -978,7 +979,7 @@ void PollManager::on_binlog_events(vector<BinlogEvent> &&events) {
|
|||||||
switch (event.type_) {
|
switch (event.type_) {
|
||||||
case LogEvent::HandlerType::SetPollAnswer: {
|
case LogEvent::HandlerType::SetPollAnswer: {
|
||||||
if (!G()->parameters().use_message_db) {
|
if (!G()->parameters().use_message_db) {
|
||||||
binlog_erase(G()->td_db()->get_binlog(), event.id_);
|
binlog_erase(G()->td_db()->get_binlog("SetPollAnswer"), event.id_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -997,7 +998,7 @@ void PollManager::on_binlog_events(vector<BinlogEvent> &&events) {
|
|||||||
}
|
}
|
||||||
case LogEvent::HandlerType::StopPoll: {
|
case LogEvent::HandlerType::StopPoll: {
|
||||||
if (!G()->parameters().use_message_db) {
|
if (!G()->parameters().use_message_db) {
|
||||||
binlog_erase(G()->td_db()->get_binlog(), event.id_);
|
binlog_erase(G()->td_db()->get_binlog("StopPoll"), event.id_);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
#include "td/telegram/DialogDb.h"
|
#include "td/telegram/DialogDb.h"
|
||||||
#include "td/telegram/files/FileDb.h"
|
#include "td/telegram/files/FileDb.h"
|
||||||
|
#include "td/telegram/Global.h"
|
||||||
#include "td/telegram/logevent/LogEvent.h"
|
#include "td/telegram/logevent/LogEvent.h"
|
||||||
#include "td/telegram/MessagesDb.h"
|
#include "td/telegram/MessagesDb.h"
|
||||||
#include "td/telegram/TdParameters.h"
|
#include "td/telegram/TdParameters.h"
|
||||||
@ -146,8 +147,8 @@ std::shared_ptr<SqliteConnectionSafe> &TdDb::get_sqlite_connection_safe() {
|
|||||||
return sql_connection_;
|
return sql_connection_;
|
||||||
}
|
}
|
||||||
|
|
||||||
BinlogInterface *TdDb::get_binlog() {
|
BinlogInterface *TdDb::get_binlog(const char *source) {
|
||||||
CHECK(binlog_);
|
LOG_CHECK(binlog_) << G()->close_flag() << " " << source;
|
||||||
return binlog_.get();
|
return binlog_.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -70,7 +70,7 @@ class TdDb {
|
|||||||
|
|
||||||
std::shared_ptr<FileDbInterface> get_file_db_shared();
|
std::shared_ptr<FileDbInterface> get_file_db_shared();
|
||||||
std::shared_ptr<SqliteConnectionSafe> &get_sqlite_connection_safe();
|
std::shared_ptr<SqliteConnectionSafe> &get_sqlite_connection_safe();
|
||||||
BinlogInterface *get_binlog();
|
BinlogInterface *get_binlog(const char *source = "unknown");
|
||||||
|
|
||||||
std::shared_ptr<KeyValueSyncInterface> get_binlog_pmc_shared();
|
std::shared_ptr<KeyValueSyncInterface> get_binlog_pmc_shared();
|
||||||
std::shared_ptr<KeyValueSyncInterface> get_config_pmc_shared();
|
std::shared_ptr<KeyValueSyncInterface> get_config_pmc_shared();
|
||||||
|
Reference in New Issue
Block a user