From f3c7ed8baf03f298e9bdeb0db2b18d00103ad9d5 Mon Sep 17 00:00:00 2001 From: tjq Date: Sun, 18 Sep 2022 14:02:05 +0800 Subject: [PATCH] feat: add max queue size for log handler in worker to prevent OOM --- .../tech/powerjob/worker/background/OmsLogHandler.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/background/OmsLogHandler.java b/powerjob-worker/src/main/java/tech/powerjob/worker/background/OmsLogHandler.java index f84e8a66..ad4f51ba 100644 --- a/powerjob-worker/src/main/java/tech/powerjob/worker/background/OmsLogHandler.java +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/background/OmsLogHandler.java @@ -35,7 +35,7 @@ public class OmsLogHandler { // 上报锁,只需要一个线程上报即可 private final Lock reportLock = new ReentrantLock(); // 生产者消费者模式,异步上传日志 - private final BlockingQueue logQueue = Queues.newLinkedBlockingQueue(); + private final BlockingQueue logQueue = Queues.newLinkedBlockingQueue(10240); // 每次上报携带的数据条数 private static final int BATCH_SIZE = 20; @@ -61,7 +61,10 @@ public class OmsLogHandler { } InstanceLogContent tuple = new InstanceLogContent(instanceId, System.currentTimeMillis(), logLevel.getV(), logContent); - logQueue.offer(tuple); + boolean offerRet = logQueue.offer(tuple); + if (!offerRet) { + log.warn("[OmsLogHandler] [{}] submit log failed, maybe your log speed is too fast!", instanceId); + } }