Merge pull request #3311 from vector-im/rav/rageshake_culling

More aggressive rageshake log culling
pull/3333/head
Richard van der Hoff 2017-02-23 14:38:36 +00:00 committed by GitHub
commit bb4d8ee3e8
1 changed files with 14 additions and 6 deletions

View File

@ -314,17 +314,24 @@ class IndexedDBLogStore {
let size = 0; let size = 0;
for (let i = 0; i < allLogIds.length; i++) { for (let i = 0; i < allLogIds.length; i++) {
let lines = await fetchLogs(allLogIds[i]); let lines = await fetchLogs(allLogIds[i]);
// always include at least one log file, but only include
// subsequent ones if they won't take us over the MAX_LOG_SIZE
if (i > 0 && size + lines.length > MAX_LOG_SIZE) {
// the remaining log IDs should be removed. If we go out of
// bounds this is just []
//
// XXX: there's nothing stopping the current session exceeding
// MAX_LOG_SIZE. We ought to think about culling it.
removeLogIds = allLogIds.slice(i + 1);
break;
}
logs.push({ logs.push({
lines: lines, lines: lines,
id: allLogIds[i], id: allLogIds[i],
}); });
size += lines.length; size += lines.length;
if (size > MAX_LOG_SIZE) {
// the remaining log IDs should be removed. If we go out of
// bounds this is just []
removeLogIds = allLogIds.slice(i + 1);
break;
}
} }
if (removeLogIds.length > 0) { if (removeLogIds.length > 0) {
console.log("Removing logs: ", removeLogIds); console.log("Removing logs: ", removeLogIds);
@ -485,6 +492,7 @@ module.exports = {
user_agent: userAgent, user_agent: userAgent,
}, },
json: true, json: true,
timeout: 5 * 60 * 1000,
}, (err, res) => { }, (err, res) => {
if (err) { if (err) {
reject(err); reject(err);