MCPcopy Create free account
hub / github.com/Tencent/phxsql / SwitchNewFile

Method SwitchNewFile

phxbinlogsvr/core/storage/event_storage.cpp:526–547  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

524}
525
526int EventStorage::SwitchNewFile(const EventData &header, bool write_footer, EventDataInfo *data_info) {
527 int ret = OK;
528 if (write_footer) {
529 //write footor
530 ret = event_file_manager_->WriteData(header, data_info);
531 if (ret) {
532 ColorLogError("%s write footer fail", __func__);
533 return ret;
534 }
535 }
536 event_file_manager_->Flush();
537 //switch
538 event_file_manager_->SwitchNewWriteFile(header.instance_id());
539 //write header
540 ret = event_file_manager_->WriteData(header, data_info);
541 if (ret) {
542 ColorLogError("%s write header fail", __func__);
543 } else {
544 SetInstanceID(header.instance_id());
545 }
546 return ret;
547}
548
549int EventStorage::CheckAndSwitchFile(bool force) {
550 EventDataInfo data_info;

Callers 1

Calls 4

ColorLogErrorFunction · 0.85
FlushMethod · 0.80
SwitchNewWriteFileMethod · 0.80
WriteDataMethod · 0.45

Tested by

no test coverage detected