From 3062828506e7b76fd835844621a9392a2aa3d4b0 Mon Sep 17 00:00:00 2001 From: Sebastian Baunsgaard Date: Wed, 17 Jun 2026 14:34:59 +0000 Subject: [PATCH] Deduplicate not-implemented logs in ColGroupTest The parameterized leftMultNoPreAgg test logged the same "not implemented: X or: Y" error for every base/other column group combination, producing hundreds of duplicate lines for shared type pairs. Track already-logged type pairs in a thread-safe set and log each unique permutation at most once per run. --- .../component/compress/colgroup/ColGroupTest.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/test/java/org/apache/sysds/test/component/compress/colgroup/ColGroupTest.java b/src/test/java/org/apache/sysds/test/component/compress/colgroup/ColGroupTest.java index 4c5fc3bd8a7..71c9c0ce549 100644 --- a/src/test/java/org/apache/sysds/test/component/compress/colgroup/ColGroupTest.java +++ b/src/test/java/org/apache/sysds/test/component/compress/colgroup/ColGroupTest.java @@ -29,6 +29,8 @@ import java.util.Collections; import java.util.List; import java.util.Random; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import org.apache.commons.lang3.NotImplementedException; import org.apache.commons.logging.Log; @@ -92,6 +94,9 @@ public class ColGroupTest extends ColGroupBase { protected static final Log LOG = LogFactory.getLog(ColGroupTest.class.getName()); + /** Tracks already-logged "not implemented" column group type pairs to avoid duplicate log spam. */ + private static final Set loggedNotImplemented = ConcurrentHashMap.newKeySet(); + public ColGroupTest(AColGroup base, AColGroup other, int nRow) { super(base, other, nRow); } @@ -1282,7 +1287,7 @@ public void leftMultNoPreAgg(int nRowLeft, int rl, int ru, int cl, int cu, Matri compare(bt, ot); } catch(NotImplementedException e) { - LOG.error("not implemented: " + base.getClass().getSimpleName() + " or: " + other.getClass().getSimpleName()); + logNotImplementedOnce(); } catch(Exception e) { e.printStackTrace(); @@ -1290,6 +1295,12 @@ public void leftMultNoPreAgg(int nRowLeft, int rl, int ru, int cl, int cu, Matri } } + private void logNotImplementedOnce() { + final String pair = base.getClass().getSimpleName() + " or: " + other.getClass().getSimpleName(); + if(loggedNotImplemented.add(pair)) + LOG.error("not implemented: " + pair); + } + @Test public void sparseSelection() { MatrixBlock mb = CLALibSelectionMultTest.createSelectionMatrix(nRow, 5, false);