Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
520f399
Merge pull request #2810 from bunkerity/dev
TheophileDiot Oct 24, 2025
5e942f9
Merge pull request #2811 from bunkerity/dev
TheophileDiot Oct 24, 2025
a197186
Merge pull request #2812 from bunkerity/dev
TheophileDiot Oct 24, 2025
7896c45
Merge pull request #2813 from bunkerity/dev
TheophileDiot Oct 24, 2025
1b94b5b
Merge pull request #2822 from bunkerity/dev
TheophileDiot Oct 27, 2025
163140a
Merge pull request #2823 from bunkerity/dev
TheophileDiot Oct 27, 2025
f95bef1
Merge pull request #2824 from bunkerity/dev
TheophileDiot Oct 27, 2025
79518d5
Merge pull request #2831 from bunkerity/dev
TheophileDiot Oct 29, 2025
41af152
Merge pull request #2832 from bunkerity/dev
TheophileDiot Oct 29, 2025
64cbb61
Merge pull request #2833 from bunkerity/dev
TheophileDiot Oct 29, 2025
91122e1
Merge pull request #2834 from bunkerity/dev
TheophileDiot Oct 29, 2025
43f7282
Merge pull request #2836 from bunkerity/dev
TheophileDiot Oct 29, 2025
11548cd
Merge pull request #2839 from bunkerity/dev
TheophileDiot Oct 30, 2025
bddeb4d
Merge pull request #2841 from bunkerity/dev
TheophileDiot Oct 30, 2025
7f00a5f
Merge pull request #2863 from bunkerity/dev
TheophileDiot Nov 5, 2025
467e31c
Merge pull request #2864 from bunkerity/dev
TheophileDiot Nov 5, 2025
408770d
Merge pull request #2884 from bunkerity/dev
TheophileDiot Nov 15, 2025
3570d3e
Merge pull request #2887 from bunkerity/dev
TheophileDiot Nov 17, 2025
b049364
Merge pull request #2903 from bunkerity/dev
TheophileDiot Nov 21, 2025
780279f
Merge pull request #2906 from bunkerity/dev
TheophileDiot Nov 22, 2025
ee3fbe3
Merge pull request #2908 from bunkerity/dev
TheophileDiot Nov 22, 2025
2e8ded6
bw - fix no memory errors on metrics
fl0ppy-d1sk Nov 24, 2025
e57a4c8
Merge pull request #2914 from bunkerity/dev
TheophileDiot Nov 24, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
- [FEATURE] Enhance default server configuration: when IP is whitelisted, serve the "nothing to see here" page even if the default server is deactivated.
- [BUGFIX] Fix default rate limit for POST /auth endpoint with API service
- [BUGFIX] Fix instant ban when using bad behavior with redis if the ban time is set to 0 (permanent ban)
- [BUGFIX] Fix "no memory" errors on metrics
- [LINUX] Enhance Easy Install script with manager and worker mode configurations
- [UI] Enhance bad behavior logging and UI actions with additional fields and filtering capabilities
- [UI] Optimize the reports page export functionality for large datasets by implementing server-side processing to handle data exports in manageable chunks, reducing memory usage and improving performance.
Expand Down
26 changes: 5 additions & 21 deletions src/common/core/metrics/metrics.lua
Original file line number Diff line number Diff line change
Expand Up @@ -254,29 +254,13 @@ function metrics:timer()
if type(value) == "table" then
value = encode(value)
end
-- Push to dict
-- Push to dict (with LRU eviction if needed)
local ok
ok, err = self.metrics_datastore:set(key .. "_" .. wid, value)
ok, err = self.metrics_datastore:set_with_retries(key .. "_" .. wid, value)
if not ok then
-- Fallback to direct set with LRU eviction if needed
if err == "no memory" then
local max_retries = tonumber(self.variables["METRICS_MEMORY_MAX_RETRIES"]) or 5
for attempt = 1, max_retries do --luacheck:ignore 213
ok, err = self.metrics_datastore.dict:set(key .. "_" .. wid, value)
if ok or err ~= "no memory" then
break
end
end
if not ok then
ret = false
ret_err = err
self.logger:log(ERR, "can't set " .. key .. "_" .. wid .. " : " .. err)
end
else
ret = false
ret_err = err
self.logger:log(ERR, "can't (safe) set " .. key .. "_" .. wid .. " : " .. err)
end
ret = false
ret_err = err
self.logger:log(ERR, "can't (safe) set " .. key .. "_" .. wid .. " : " .. err)
end
end

Expand Down
Loading