From https://github.com/viritin/svg-visualizations * branch main -> FETCH_HEAD Already on 'main' Your branch is up to date with 'origin/main'. HEAD is now at f5569af Tuning testing setup for less stable CI environment [INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for in.virit:svg-visualizations:jar:1.0.1-SNAPSHOT [WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-surefire-plugin is missing. @ line 99, column 21 [WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. [WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects. [WARNING] [INFO] [INFO] --------------------< in.virit:svg-visualizations >--------------------- [INFO] Building svg-vizualizations 1.0.1-SNAPSHOT [INFO] from pom.xml [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- versions:2.21.0:set-property (default-cli) @ svg-visualizations --- [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 3.138 s [INFO] Finished at: 2026-03-02T16:04:17Z [INFO] ------------------------------------------------------------------------ [INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for in.virit:svg-visualizations:jar:1.0.1-SNAPSHOT [WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-surefire-plugin is missing. @ line 99, column 21 [WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. [WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects. [WARNING] [INFO] [INFO] --------------------< in.virit:svg-visualizations >--------------------- [INFO] Building svg-vizualizations 1.0.1-SNAPSHOT [INFO] from pom.xml [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- versions:2.21.0:set (default-cli) @ svg-visualizations --- [INFO] Searching for local aggregator root... [INFO] Local aggregation root: /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/svg-visualizations [INFO] Processing change of in.virit:vaadin-bom:1.0.1-SNAPSHOT -> 25.1.0-beta1 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1.691 s [INFO] Finished at: 2026-03-02T16:04:21Z [INFO] ------------------------------------------------------------------------ [INFO] Scanning for projects... [WARNING] [WARNING] Some problems were encountered while building the effective model for in.virit:svg-visualizations:jar:1.0.1-SNAPSHOT [WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-surefire-plugin is missing. @ line 99, column 21 [WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. [WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects. [WARNING] [INFO] [INFO] --------------------< in.virit:svg-visualizations >--------------------- [INFO] Building svg-vizualizations 1.0.1-SNAPSHOT [INFO] from pom.xml [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- clean:3.2.0:clean (default-clean) @ svg-visualizations --- [INFO] Deleting /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/svg-visualizations/target [INFO] [INFO] --- flatten:1.7.0:clean (flatten.clean) @ svg-visualizations --- [INFO] Deleting /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/svg-visualizations/.flattened-pom.xml [INFO] [INFO] --- resources:3.3.1:resources (default-resources) @ svg-visualizations --- [INFO] skip non existing resourceDirectory /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/svg-visualizations/src/main/resources [INFO] [INFO] --- flatten:1.7.0:flatten (flatten) @ svg-visualizations --- [INFO] Generating flattened POM of project in.virit:svg-visualizations:jar:1.0.1-SNAPSHOT... [INFO] [INFO] --- compiler:3.13.0:compile (default-compile) @ svg-visualizations --- [INFO] Recompiling the module because of changed source code. [INFO] Compiling 2 source files with javac [debug release 21] to target/classes [INFO] [INFO] --- resources:3.3.1:testResources (default-testResources) @ svg-visualizations --- [INFO] skip non existing resourceDirectory /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/svg-visualizations/src/test/resources [INFO] [INFO] --- compiler:3.13.0:testCompile (default-testCompile) @ svg-visualizations --- [INFO] Recompiling the module because of changed dependency. [INFO] Compiling 13 source files with javac [debug release 21] to target/test-classes [INFO] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/svg-visualizations/src/test/java/org/vaadin/svgvis/it/SvgVisualizationsIT.java: /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/svg-visualizations/src/test/java/org/vaadin/svgvis/it/SvgVisualizationsIT.java uses or overrides a deprecated API. [INFO] /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/svg-visualizations/src/test/java/org/vaadin/svgvis/it/SvgVisualizationsIT.java: Recompile with -Xlint:deprecation for details. [INFO] [INFO] --- surefire:3.2.5:test (default-test) @ svg-visualizations --- [INFO] Using auto detected provider org.apache.maven.surefire.junitplatform.JUnitPlatformProvider [INFO] [INFO] ------------------------------------------------------- [INFO] T E S T S [INFO] ------------------------------------------------------- [INFO] Running org.vaadin.svgvis.RenderingPerformanceTest Loaded 948423 weather records === System Information === CPU Model: AMD EPYC-Rome Processor CPU Cores: 4 OS: Linux 6.8.0-100-generic Java: 21 (Eclipse Adoptium) Architecture: amd64 === Baseline Info === Last Updated: 2026-03-02T15:17:19.017310718Z Baseline CPU: AMD EPYC-Rome Processor Baseline OS: Linux Loaded 948423 weather records for performance testing === Performance Summary === Baseline saved to: /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/svg-visualizations/performance-baseline.properties [ERROR] Tests run: 6, Failures: 0, Errors: 5, Skipped: 1, Time elapsed: 16.31 s <<< FAILURE! -- in org.vaadin.svgvis.RenderingPerformanceTest [ERROR] org.vaadin.svgvis.RenderingPerformanceTest.measureSparkLineDrawTime -- Time elapsed: 0.192 s <<< ERROR! java.lang.NoClassDefFoundError: com/vaadin/flow/server/frontend/FrontendVersion at com.github.mvysny.kaributools.SemanticVersion$Companion.fromString(VaadinVersion.kt:59) at com.github.mvysny.kaributools.VaadinVersion.getVaadinVersionFromPomProperties(VaadinVersion.kt:106) at com.github.mvysny.kaributools.VaadinVersion.get_delegate$lambda$0(VaadinVersion.kt:129) at kotlin.SafePublicationLazyImpl.getValue(LazyJVM.kt:125) at com.github.mvysny.kaributools.VaadinVersion.getGet(VaadinVersion.kt:119) at com.github.mvysny.kaributesting.v10.MockVaadin.setup(MockVaadin.kt:93) at com.github.mvysny.kaributesting.v10.MockVaadin.setup(MockVaadin.kt:72) at com.github.mvysny.kaributesting.v10.MockVaadin.setup$default(MockVaadin.kt:68) at com.github.mvysny.kaributesting.v10.MockVaadin.setup(MockVaadin.kt) at org.vaadin.svgvis.RenderingPerformanceTest.setupVaadin(RenderingPerformanceTest.java:65) Caused by: java.lang.ClassNotFoundException: com.vaadin.flow.server.frontend.FrontendVersion at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) ... 10 more [ERROR] org.vaadin.svgvis.RenderingPerformanceTest.measureWindRoseDrawTime -- Time elapsed: 0.010 s <<< ERROR! java.lang.NoClassDefFoundError: com/vaadin/flow/server/frontend/FrontendVersion at com.github.mvysny.kaributools.SemanticVersion$Companion.fromString(VaadinVersion.kt:59) at com.github.mvysny.kaributools.VaadinVersion.getVaadinVersionFromPomProperties(VaadinVersion.kt:106) at com.github.mvysny.kaributools.VaadinVersion.get_delegate$lambda$0(VaadinVersion.kt:129) at kotlin.SafePublicationLazyImpl.getValue(LazyJVM.kt:125) at com.github.mvysny.kaributools.VaadinVersion.getGet(VaadinVersion.kt:119) at com.github.mvysny.kaributesting.v10.MockVaadin.setup(MockVaadin.kt:93) at com.github.mvysny.kaributesting.v10.MockVaadin.setup(MockVaadin.kt:72) at com.github.mvysny.kaributesting.v10.MockVaadin.setup$default(MockVaadin.kt:68) at com.github.mvysny.kaributesting.v10.MockVaadin.setup(MockVaadin.kt) at org.vaadin.svgvis.RenderingPerformanceTest.setupVaadin(RenderingPerformanceTest.java:65) Caused by: java.lang.ClassNotFoundException: com.vaadin.flow.server.frontend.FrontendVersion ... 10 more [ERROR] org.vaadin.svgvis.RenderingPerformanceTest.measureScalingBehavior -- Time elapsed: 0.006 s <<< ERROR! java.lang.NoClassDefFoundError: com/vaadin/flow/server/frontend/FrontendVersion at com.github.mvysny.kaributools.SemanticVersion$Companion.fromString(VaadinVersion.kt:59) at com.github.mvysny.kaributools.VaadinVersion.getVaadinVersionFromPomProperties(VaadinVersion.kt:106) at com.github.mvysny.kaributools.VaadinVersion.get_delegate$lambda$0(VaadinVersion.kt:129) at kotlin.SafePublicationLazyImpl.getValue(LazyJVM.kt:125) at com.github.mvysny.kaributools.VaadinVersion.getGet(VaadinVersion.kt:119) at com.github.mvysny.kaributesting.v10.MockVaadin.setup(MockVaadin.kt:93) at com.github.mvysny.kaributesting.v10.MockVaadin.setup(MockVaadin.kt:72) at com.github.mvysny.kaributesting.v10.MockVaadin.setup$default(MockVaadin.kt:68) at com.github.mvysny.kaributesting.v10.MockVaadin.setup(MockVaadin.kt) at org.vaadin.svgvis.RenderingPerformanceTest.setupVaadin(RenderingPerformanceTest.java:65) Caused by: java.lang.ClassNotFoundException: com.vaadin.flow.server.frontend.FrontendVersion ... 10 more [ERROR] org.vaadin.svgvis.RenderingPerformanceTest.measureOutputSizeVsDrawTime -- Time elapsed: 0.007 s <<< ERROR! java.lang.NoClassDefFoundError: com/vaadin/flow/server/frontend/FrontendVersion at com.github.mvysny.kaributools.SemanticVersion$Companion.fromString(VaadinVersion.kt:59) at com.github.mvysny.kaributools.VaadinVersion.getVaadinVersionFromPomProperties(VaadinVersion.kt:106) at com.github.mvysny.kaributools.VaadinVersion.get_delegate$lambda$0(VaadinVersion.kt:129) at kotlin.SafePublicationLazyImpl.getValue(LazyJVM.kt:125) at com.github.mvysny.kaributools.VaadinVersion.getGet(VaadinVersion.kt:119) at com.github.mvysny.kaributesting.v10.MockVaadin.setup(MockVaadin.kt:93) at com.github.mvysny.kaributesting.v10.MockVaadin.setup(MockVaadin.kt:72) at com.github.mvysny.kaributesting.v10.MockVaadin.setup$default(MockVaadin.kt:68) at com.github.mvysny.kaributesting.v10.MockVaadin.setup(MockVaadin.kt) at org.vaadin.svgvis.RenderingPerformanceTest.setupVaadin(RenderingPerformanceTest.java:65) Caused by: java.lang.ClassNotFoundException: com.vaadin.flow.server.frontend.FrontendVersion ... 10 more [ERROR] org.vaadin.svgvis.RenderingPerformanceTest.measureMultiSeriesDrawTime -- Time elapsed: 0.002 s <<< ERROR! java.lang.NoClassDefFoundError: com/vaadin/flow/server/frontend/FrontendVersion at com.github.mvysny.kaributools.SemanticVersion$Companion.fromString(VaadinVersion.kt:59) at com.github.mvysny.kaributools.VaadinVersion.getVaadinVersionFromPomProperties(VaadinVersion.kt:106) at com.github.mvysny.kaributools.VaadinVersion.get_delegate$lambda$0(VaadinVersion.kt:129) at kotlin.SafePublicationLazyImpl.getValue(LazyJVM.kt:125) at com.github.mvysny.kaributools.VaadinVersion.getGet(VaadinVersion.kt:119) at com.github.mvysny.kaributesting.v10.MockVaadin.setup(MockVaadin.kt:93) at com.github.mvysny.kaributesting.v10.MockVaadin.setup(MockVaadin.kt:72) at com.github.mvysny.kaributesting.v10.MockVaadin.setup$default(MockVaadin.kt:68) at com.github.mvysny.kaributesting.v10.MockVaadin.setup(MockVaadin.kt) at org.vaadin.svgvis.RenderingPerformanceTest.setupVaadin(RenderingPerformanceTest.java:65) Caused by: java.lang.ClassNotFoundException: com.vaadin.flow.server.frontend.FrontendVersion ... 10 more [INFO] Running org.vaadin.svgvis.unit.WindRoseTest [INFO] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.086 s -- in org.vaadin.svgvis.unit.WindRoseTest [INFO] Running org.vaadin.svgvis.unit.SvgSparkLineTest [INFO] Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.054 s -- in org.vaadin.svgvis.unit.SvgSparkLineTest [INFO] Running org.vaadin.svgvis.SessionWeightTest Loaded 948423 weather records for testing === DataPoints Session Weight Analysis === Measuring serialized size of SvgSparkLine.DataPoint lists... Data points: 100 -> Serialized: 2.3 KB (23.2 bytes/point) Data points: 1,000 -> Serialized: 21.6 KB (22.1 bytes/point) Data points: 10,000 -> Serialized: 215.0 KB (22.0 bytes/point) Data points: 49,871 -> Serialized: 1.0 MB (22.0 bytes/point) Data points: 97,643 -> Serialized: 2.0 MB (22.0 bytes/point) Data points: 495,995 -> Serialized: 10.4 MB (22.0 bytes/point) Data points: 944,282 -> Serialized: 19.8 MB (22.0 bytes/point) === WindRose Data Session Weight Analysis === WindRose aggregates data into fixed sectors, so weight is constant. Input records: 100 -> Aggregated to 16 sectors -> Serialized: 505 B Input records: 1,000 -> Aggregated to 16 sectors -> Serialized: 505 B Input records: 10,000 -> Aggregated to 16 sectors -> Serialized: 505 B Input records: 50,000 -> Aggregated to 16 sectors -> Serialized: 505 B Input records: 100,000 -> Aggregated to 16 sectors -> Serialized: 505 B Input records: 500,000 -> Aggregated to 16 sectors -> Serialized: 505 B Input records: 948,423 -> Aggregated to 16 sectors -> Serialized: 505 B Conclusion: WindRose weight is ~constant regardless of input size! === Session Weight Growth Comparison === Comparing growth patterns of different data storage approaches... Size | Raw Data | Before Draw | After Smooth | After Draw | WindRose -------------|----------------|----------------|----------------|----------------|---------- 1,000 | 259.4 KB | 21.6 KB | 1.2 KB | 58 B | 155 B 10,000 | 2.5 MB | 215.0 KB | 1.2 KB | 58 B | 155 B 100,000 | 25.3 MB | 2.1 MB | 1.2 KB | 58 B | 155 B 948,423 | 239.7 MB | 19.9 MB | 1.2 KB | 58 B | 155 B Key insight: After draw(), SparkLine clears all data - session weight is ~0! Data is only needed during draw(), SVG elements retain the visualization. === Raw Weather Data Session Weight === For comparison: size of raw RawWeatherStationData objects... Raw records: 100 -> Serialized: 26.4 KB (271 bytes/record) Raw records: 1,000 -> Serialized: 259.4 KB (266 bytes/record) Raw records: 10,000 -> Serialized: 2.5 MB (265 bytes/record) Raw records: 50,000 -> Serialized: 12.6 MB (265 bytes/record) Raw records: 100,000 -> Serialized: 25.3 MB (265 bytes/record) Raw records: 500,000 -> Serialized: 126.4 MB (265 bytes/record) Raw records: 948,423 -> Serialized: 239.7 MB (265 bytes/record) === RDP Algorithm Point Reduction === Measuring how RDP reduces data points while preserving shape... Input Points | RDP Points | Reduction | Serialized Size -------------|------------|-----------|---------------- 100 | 40 | 60.0% | 997 B 1,000 | 132 | 86.8% | 3.0 KB 10,000 | 84 | 99.2% | 1.9 KB 49,871 | 94 | 99.8% | 2.1 KB 97,643 | 95 | 99.9% | 2.2 KB 944,282 | 187 | 100.0% | 4.1 KB RDP preserves shape-significant points, so reduction varies with data complexity. [INFO] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 19.87 s -- in org.vaadin.svgvis.SessionWeightTest [INFO] [INFO] Results: [INFO] [ERROR] Errors: [ERROR] RenderingPerformanceTest.setupVaadin:65 » NoClassDefFound com/vaadin/flow/server/frontend/FrontendVersion [ERROR] RenderingPerformanceTest.setupVaadin:65 » NoClassDefFound com/vaadin/flow/server/frontend/FrontendVersion [ERROR] RenderingPerformanceTest.setupVaadin:65 » NoClassDefFound com/vaadin/flow/server/frontend/FrontendVersion [ERROR] RenderingPerformanceTest.setupVaadin:65 » NoClassDefFound com/vaadin/flow/server/frontend/FrontendVersion [ERROR] RenderingPerformanceTest.setupVaadin:65 » NoClassDefFound com/vaadin/flow/server/frontend/FrontendVersion [INFO] [ERROR] Tests run: 23, Failures: 0, Errors: 5, Skipped: 1 [INFO] [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 44.776 s [INFO] Finished at: 2026-03-02T16:05:08Z [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.2.5:test (default-test) on project svg-visualizations: [ERROR] [ERROR] Please refer to /home/ghrunner/actions-runner/_work/vaadin-ecosystem-build/vaadin-ecosystem-build/work/svg-visualizations/target/surefire-reports for the individual test results. [ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream. [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException