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);