Skip to content

Commit 882e835

Browse files
committed
test consolidationPolicy in arangosearch views
1 parent b8f3400 commit 882e835

File tree

5 files changed

+82
-36
lines changed

5 files changed

+82
-36
lines changed

core/src/main/java/com/arangodb/entity/arangosearch/ConsolidationPolicy.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public Long getSegmentsMin() {
7171
* @param segmentsMin The minimum number of segments that will be evaluated as candidates for consolidation.
7272
* (default: 1)
7373
* @return this
74-
* @deprecated from ArangoDB 3.12.7 onwards.
74+
* @deprecated Removed from ArangoDB 3.12.7 onwards.
7575
*/
7676
@Deprecated
7777
public ConsolidationPolicy segmentsMin(final Long segmentsMin) {
@@ -87,7 +87,7 @@ public Long getSegmentsMax() {
8787
* @param segmentsMax The maximum number of segments that will be evaluated as candidates for consolidation.
8888
* (default: 10)
8989
* @return this
90-
* @deprecated from ArangoDB 3.12.7 onwards.
90+
* @deprecated Removed from ArangoDB 3.12.7 onwards.
9191
*/
9292
@Deprecated
9393
public ConsolidationPolicy segmentsMax(final Long segmentsMax) {
@@ -116,7 +116,7 @@ public Long getSegmentsBytesFloor() {
116116
* @param segmentsBytesFloor Defines the value (in bytes) to treat all smaller segments as equal for consolidation
117117
* selection. (default: 2097152)
118118
* @return this
119-
* @deprecated from ArangoDB 3.12.7 onwards.
119+
* @deprecated Removed from ArangoDB 3.12.7 onwards.
120120
*/
121121
@Deprecated
122122
public ConsolidationPolicy segmentsBytesFloor(final Long segmentsBytesFloor) {
@@ -131,7 +131,7 @@ public Long getMinScore() {
131131
/**
132132
* @param minScore Filter out consolidation candidates with a score less than this. (default: 0)
133133
* @return this
134-
* @deprecated from ArangoDB 3.12.7 onwards.
134+
* @deprecated Removed from ArangoDB 3.12.7 onwards.
135135
*/
136136
@Deprecated
137137
public ConsolidationPolicy minScore(final Long minScore) {

test-functional/src/test/java/com/arangodb/ArangoSearchAsyncTest.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ void createArangoSearchViewWithPrimarySort(ArangoDatabaseAsync db) throws Execut
162162
options.consolidationIntervalMsec(666666L);
163163
StoredValue storedValue = new StoredValue(Arrays.asList("a", "b"), ArangoSearchCompression.none);
164164
options.storedValues(storedValue);
165+
options.consolidationPolicy(createConsolidationPolicy());
165166

166167
final ArangoSearchAsync view = db.arangoSearch(viewName);
167168
final ViewEntity info = view.create(options).get();
@@ -696,6 +697,7 @@ void arangoSearchOptions(ArangoDatabaseAsync db) throws ExecutionException, Inte
696697
.primaryKeyCache(true);
697698
StoredValue storedValue = new StoredValue(Arrays.asList("a", "b"), ArangoSearchCompression.none, true);
698699
options.storedValues(storedValue);
700+
options.consolidationPolicy(createConsolidationPolicy());
699701
String[] optimizeTopK = new String[]{"BM25(@doc) DESC", "TFIDF(@doc) DESC"};
700702
options.optimizeTopK(optimizeTopK);
701703

@@ -1109,4 +1111,22 @@ void offsetFeature(ArangoDatabaseAsync db) throws ExecutionException, Interrupte
11091111
createGetAndDeleteTypedAnalyzer(db, analyzer);
11101112
}
11111113

1114+
private ConsolidationPolicy createConsolidationPolicy() {
1115+
ConsolidationPolicy consolidationPolicy;
1116+
if (isAtLeastVersion(3, 12, 7)) {
1117+
consolidationPolicy = ConsolidationPolicy.of(ConsolidationType.TIER)
1118+
.segmentsBytesMax(55555L)
1119+
.maxSkewThreshold(0.3)
1120+
.minDeletionRatio(0.4);
1121+
} else {
1122+
consolidationPolicy = ConsolidationPolicy.of(ConsolidationType.TIER)
1123+
.segmentsMin(3L)
1124+
.segmentsMax(44L)
1125+
.segmentsBytesMax(55555L)
1126+
.segmentsBytesFloor(666L)
1127+
.minScore(77L);
1128+
}
1129+
return consolidationPolicy;
1130+
}
1131+
11121132
}

test-functional/src/test/java/com/arangodb/ArangoSearchTest.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ void createArangoSearchViewWithPrimarySort(ArangoDatabase db) {
161161
options.consolidationIntervalMsec(666666L);
162162
StoredValue storedValue = new StoredValue(Arrays.asList("a", "b"), ArangoSearchCompression.none);
163163
options.storedValues(storedValue);
164+
options.consolidationPolicy(createConsolidationPolicy());
164165

165166
final ArangoSearch view = db.arangoSearch(viewName);
166167
final ViewEntity info = view.create(options);
@@ -702,6 +703,7 @@ void arangoSearchOptions(ArangoDatabase db) {
702703
.primaryKeyCache(true);
703704
StoredValue storedValue = new StoredValue(Arrays.asList("a", "b"), ArangoSearchCompression.none, true);
704705
options.storedValues(storedValue);
706+
options.consolidationPolicy(createConsolidationPolicy());
705707
String[] optimizeTopK = new String[]{"BM25(@doc) DESC", "TFIDF(@doc) DESC"};
706708
options.optimizeTopK(optimizeTopK);
707709

@@ -1115,4 +1117,22 @@ void offsetFeature(ArangoDatabase db) {
11151117
createGetAndDeleteTypedAnalyzer(db, analyzer);
11161118
}
11171119

1120+
private ConsolidationPolicy createConsolidationPolicy() {
1121+
ConsolidationPolicy consolidationPolicy;
1122+
if (isAtLeastVersion(3, 12, 7)) {
1123+
consolidationPolicy = ConsolidationPolicy.of(ConsolidationType.TIER)
1124+
.segmentsBytesMax(55555L)
1125+
.maxSkewThreshold(0.3)
1126+
.minDeletionRatio(0.4);
1127+
} else {
1128+
consolidationPolicy = ConsolidationPolicy.of(ConsolidationType.TIER)
1129+
.segmentsMin(3L)
1130+
.segmentsMax(44L)
1131+
.segmentsBytesMax(55555L)
1132+
.segmentsBytesFloor(666L)
1133+
.minScore(77L);
1134+
}
1135+
return consolidationPolicy;
1136+
}
1137+
11181138
}

test-functional/src/test/java/com/arangodb/InvertedIndexAsyncTest.java

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -81,21 +81,6 @@ private InvertedIndexOptions createOptions(String analyzerName) {
8181
);
8282
}
8383

84-
ConsolidationPolicy consolidationPolicy;
85-
if (isAtLeastVersion(3, 12, 7)) {
86-
consolidationPolicy = ConsolidationPolicy.of(ConsolidationType.TIER)
87-
.segmentsBytesMax(55555L)
88-
.maxSkewThreshold(0.3)
89-
.minDeletionRatio(0.4);
90-
} else {
91-
consolidationPolicy = ConsolidationPolicy.of(ConsolidationType.TIER)
92-
.segmentsMin(3L)
93-
.segmentsMax(44L)
94-
.segmentsBytesMax(55555L)
95-
.segmentsBytesFloor(666L)
96-
.minScore(77L);
97-
}
98-
9984
return new InvertedIndexOptions()
10085
.name(rndName())
10186
.inBackground(true)
@@ -119,14 +104,32 @@ private InvertedIndexOptions createOptions(String analyzerName) {
119104
.consolidationIntervalMsec(11L)
120105
.commitIntervalMsec(22L)
121106
.cleanupIntervalStep(33L)
122-
.consolidationPolicy(consolidationPolicy)
107+
.consolidationPolicy(createConsolidationPolicy())
123108
.writebufferIdle(44L)
124109
.writebufferActive(55L)
125110
.writebufferSizeMax(66L)
126111
.cache(cache)
127112
.primaryKeyCache(cache);
128113
}
129114

115+
private ConsolidationPolicy createConsolidationPolicy() {
116+
ConsolidationPolicy consolidationPolicy;
117+
if (isAtLeastVersion(3, 12, 7)) {
118+
consolidationPolicy = ConsolidationPolicy.of(ConsolidationType.TIER)
119+
.segmentsBytesMax(55555L)
120+
.maxSkewThreshold(0.3)
121+
.minDeletionRatio(0.4);
122+
} else {
123+
consolidationPolicy = ConsolidationPolicy.of(ConsolidationType.TIER)
124+
.segmentsMin(3L)
125+
.segmentsMax(44L)
126+
.segmentsBytesMax(55555L)
127+
.segmentsBytesFloor(666L)
128+
.minScore(77L);
129+
}
130+
return consolidationPolicy;
131+
}
132+
130133
private void assertCorrectIndexEntity(InvertedIndexEntity indexResult, InvertedIndexOptions options) {
131134
assertThat(indexResult).isNotNull();
132135
assertThat(indexResult.getId()).isNotNull().isNotEmpty();

test-functional/src/test/java/com/arangodb/InvertedIndexTest.java

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -80,21 +80,6 @@ private InvertedIndexOptions createOptions(String analyzerName) {
8080
);
8181
}
8282

83-
ConsolidationPolicy consolidationPolicy;
84-
if (isAtLeastVersion(3, 12, 7)) {
85-
consolidationPolicy = ConsolidationPolicy.of(ConsolidationType.TIER)
86-
.segmentsBytesMax(55555L)
87-
.maxSkewThreshold(0.3)
88-
.minDeletionRatio(0.4);
89-
} else {
90-
consolidationPolicy = ConsolidationPolicy.of(ConsolidationType.TIER)
91-
.segmentsMin(3L)
92-
.segmentsMax(44L)
93-
.segmentsBytesMax(55555L)
94-
.segmentsBytesFloor(666L)
95-
.minScore(77L);
96-
}
97-
9883
return new InvertedIndexOptions()
9984
.name(rndName())
10085
.inBackground(true)
@@ -118,14 +103,32 @@ private InvertedIndexOptions createOptions(String analyzerName) {
118103
.consolidationIntervalMsec(11L)
119104
.commitIntervalMsec(22L)
120105
.cleanupIntervalStep(33L)
121-
.consolidationPolicy(consolidationPolicy)
106+
.consolidationPolicy(createConsolidationPolicy())
122107
.writebufferIdle(44L)
123108
.writebufferActive(55L)
124109
.writebufferSizeMax(66L)
125110
.cache(cache)
126111
.primaryKeyCache(cache);
127112
}
128113

114+
private ConsolidationPolicy createConsolidationPolicy() {
115+
ConsolidationPolicy consolidationPolicy;
116+
if (isAtLeastVersion(3, 12, 7)) {
117+
consolidationPolicy = ConsolidationPolicy.of(ConsolidationType.TIER)
118+
.segmentsBytesMax(55555L)
119+
.maxSkewThreshold(0.3)
120+
.minDeletionRatio(0.4);
121+
} else {
122+
consolidationPolicy = ConsolidationPolicy.of(ConsolidationType.TIER)
123+
.segmentsMin(3L)
124+
.segmentsMax(44L)
125+
.segmentsBytesMax(55555L)
126+
.segmentsBytesFloor(666L)
127+
.minScore(77L);
128+
}
129+
return consolidationPolicy;
130+
}
131+
129132
private void assertCorrectIndexEntity(InvertedIndexEntity indexResult, InvertedIndexOptions options) {
130133
assertThat(indexResult).isNotNull();
131134
assertThat(indexResult.getId()).isNotNull().isNotEmpty();

0 commit comments

Comments
 (0)