aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/test/java/com/yahoo/schema
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2024-06-19 13:48:50 +0200
committerTor Egge <Tor.Egge@online.no>2024-06-19 13:48:50 +0200
commitc0d0d08128be0d9054d603a636ee870ed68c283b (patch)
tree257cb2707ca4f03c64a856b58c3b288a0f4dd9dc /config-model/src/test/java/com/yahoo/schema
parent1f0e68e758e3779aab26b8389b142acf20239406 (diff)
Warn when using paged attribute setting in combination with HNSW indexing.
Diffstat (limited to 'config-model/src/test/java/com/yahoo/schema')
-rw-r--r--config-model/src/test/java/com/yahoo/schema/processing/PagedAttributeValidatorTestCase.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/config-model/src/test/java/com/yahoo/schema/processing/PagedAttributeValidatorTestCase.java b/config-model/src/test/java/com/yahoo/schema/processing/PagedAttributeValidatorTestCase.java
index 409e3b5df22..3f7c87ae37e 100644
--- a/config-model/src/test/java/com/yahoo/schema/processing/PagedAttributeValidatorTestCase.java
+++ b/config-model/src/test/java/com/yahoo/schema/processing/PagedAttributeValidatorTestCase.java
@@ -2,6 +2,7 @@
package com.yahoo.schema.processing;
import com.yahoo.config.model.application.provider.BaseDeployLogger;
+import com.yahoo.schema.derived.TestableDeployLogger;
import com.yahoo.schema.parser.ParseException;
import org.junit.jupiter.api.Test;
@@ -90,6 +91,31 @@ public class PagedAttributeValidatorTestCase {
assertPagedSupported("reference<parent>", Optional.of(getSd("parent", "int", false)));
}
+ @Test
+ void hnsw_index_triggers_warning_with_paged_setting() throws ParseException {
+ var logger = new TestableDeployLogger();
+ var sd = """
+ schema test {
+ document test {
+ field pos type tensor(x[2]) {
+ indexing: attribute | index
+ attribute: paged
+ index {
+ hnsw {
+ }
+ }
+ }
+ }
+ }
+ """;
+ var schema = createFromString(sd, logger);
+ assertEquals(1, logger.warnings.size());
+ assertEquals("For schema 'test', field 'pos': " +
+ "The 'paged' attribute setting in combination with HNSW indexing is strongly discouraged, see " +
+ "https://docs.vespa.ai/en/attributes.html#paged-attributes-disadvantages for details",
+ logger.warnings.get(0));
+ }
+
private void assertPagedSettingNotSupported(String fieldType) throws ParseException {
assertPagedSettingNotSupported(fieldType, false);
}