Skip to content

Commit

Permalink
close #872, fix container file fd not close if multiple configs monit…
Browse files Browse the repository at this point in the history
…or the same dir (#873)
  • Loading branch information
yyuuttaaoo authored May 26, 2023
1 parent 5f664c3 commit 6b8dc3c
Showing 1 changed file with 15 additions and 9 deletions.
24 changes: 15 additions & 9 deletions core/event_handler/EventHandler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -238,8 +238,14 @@ void CreateModifyHandler::Handle(const Event& event) {
}
if ((event.IsCreate() || event.IsMoveTo()) && isDir) {
mCreateHandlerPtr->Handle(event);
} else if (event.IsCreate() || event.IsModify() || event.IsMoveFrom() || event.IsMoveTo() || event.IsDeleted()
|| event.IsContainerStopped()) {
} else if (event.IsContainerStopped() && isDir) {
for (auto& pair : mModifyHandlerPtrMap) {
LOG_DEBUG(sLogger,
("Handle container stopped event, config", pair.first)("Source", event.GetSource())(
"Object", event.GetObject())("Dev", event.GetDev())("Inode", event.GetInode()));
pair.second->Handle(event);
}
} else if (event.IsCreate() || event.IsModify() || event.IsMoveFrom() || event.IsMoveTo() || event.IsDeleted()) {
if (!event.GetConfigName().empty()) {
Config* pConfig = ConfigManager::GetInstance()->FindConfigByName(event.GetConfigName());
if (pConfig != NULL) {
Expand Down Expand Up @@ -953,10 +959,10 @@ void ModifyHandler::DeleteTimeoutReader(int32_t timeoutInterval) {
if (interval > timeoutInterval) {
LOG_INFO(sLogger,
("remove the corresponding reader from the log reader queue",
"current file has not been updated for a long time")(
"project", (*iter)->GetProjectName())("logstore", (*iter)->GetCategory())(
"config", mConfigName)("log reader queue name", (*iter)->GetLogPath())(
"log reader queue size", readerArray.size() - 1)(
"current file has not been updated for a long time")("project", (*iter)->GetProjectName())(
"logstore", (*iter)->GetCategory())("config", mConfigName)(
"log reader queue name", (*iter)->GetLogPath())("log reader queue size",
readerArray.size() - 1)(
"file device", (*iter)->GetDevInode().dev)("file inode", (*iter)->GetDevInode().inode)(
"file size", (*iter)->GetFileSize())("last file position", (*iter)->GetLastFilePos()));
mDevInodeReaderMap.erase((*iter)->GetDevInode());
Expand Down Expand Up @@ -990,9 +996,9 @@ void ModifyHandler::DeleteRollbackReader() {
LOG_INFO(
sLogger,
("remove the corresponding reader from the reader rotator pool",
"current file has not been updated for a long time")(
"project", readerIter->second->GetProjectName())("logstore", readerIter->second->GetCategory())(
"config", mConfigName)("file name", readerIter->second->GetRealLogPath())(
"current file has not been updated for a long time")("project", readerIter->second->GetProjectName())(
"logstore", readerIter->second->GetCategory())("config", mConfigName)(
"file name", readerIter->second->GetRealLogPath())(
"file device", readerIter->second->GetDevInode().dev)("file inode",
readerIter->second->GetDevInode().inode)(
"file size", readerIter->second->GetFileSize())("last file position",
Expand Down

0 comments on commit 6b8dc3c

Please sign in to comment.