From 788613098b34613c30916f3c59b3ea1a7c5a1c6e Mon Sep 17 00:00:00 2001 From: Pavel Tiunov Date: Sat, 11 Apr 2020 18:30:26 -0700 Subject: [PATCH] fix: Do not DoS agent with huge payloads --- packages/cubejs-server-core/core/agentCollect.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/cubejs-server-core/core/agentCollect.js b/packages/cubejs-server-core/core/agentCollect.js index f1a8451a70668..5fa032df6d890 100644 --- a/packages/cubejs-server-core/core/agentCollect.js +++ b/packages/cubejs-server-core/core/agentCollect.js @@ -2,7 +2,7 @@ const fetch = require('node-fetch'); const crypto = require('crypto'); let flushPromise = null; -let trackEvents = []; +const trackEvents = []; module.exports = async (event, endpointUrl, logger) => { trackEvents.push({ @@ -12,8 +12,7 @@ module.exports = async (event, endpointUrl, logger) => { }); const flush = async (toFlush, retries) => { if (!toFlush) { - toFlush = trackEvents; - trackEvents = []; + toFlush = trackEvents.splice(0, 20); } if (!toFlush.length) { return null;