summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/schema
diff options
context:
space:
mode:
authorArne H Juul <arnej@yahooinc.com>2022-06-16 13:58:18 +0000
committerArne H Juul <arnej@yahooinc.com>2022-06-17 11:18:07 +0000
commit2f68ebb8b6cea8a2450eebfb5874df7c209de7af (patch)
treed9c60dd7d0292978b1704558fe184b4c62c4c628 /config-model/src/main/java/com/yahoo/schema
parenta18e8e12faec6318c1d5768fd4edf42efd0ecb78 (diff)
remove sort in SearchOrderer
* to keep unit tests deterministic, sort earlier instead
Diffstat (limited to 'config-model/src/main/java/com/yahoo/schema')
-rw-r--r--config-model/src/main/java/com/yahoo/schema/ApplicationBuilder.java11
-rw-r--r--config-model/src/main/java/com/yahoo/schema/derived/SearchOrderer.java4
2 files changed, 9 insertions, 6 deletions
diff --git a/config-model/src/main/java/com/yahoo/schema/ApplicationBuilder.java b/config-model/src/main/java/com/yahoo/schema/ApplicationBuilder.java
index 29482431aa0..9141ed45293 100644
--- a/config-model/src/main/java/com/yahoo/schema/ApplicationBuilder.java
+++ b/config-model/src/main/java/com/yahoo/schema/ApplicationBuilder.java
@@ -132,6 +132,8 @@ public class ApplicationBuilder {
this.deployLogger = deployLogger;
this.properties = properties;
this.documentsOnly = documentsOnly;
+ var list = new ArrayList<>(applicationPackage.getSchemas());
+ list.sort((a, b) -> a.getName().compareTo(b.getName()));
for (NamedReader reader : applicationPackage.getSchemas())
addSchema(reader);
}
@@ -407,8 +409,13 @@ public class ApplicationBuilder {
properties,
rankProfileRegistry,
queryProfileRegistry);
- for (var i = Files.list(new File(dir).toPath()).filter(p -> p.getFileName().toString().endsWith(".sd")).iterator(); i.hasNext(); ) {
- builder.addSchemaFile(i.next().toString());
+
+ var fnli = Files.list(new File(dir).toPath())
+ .map(p -> p.toString())
+ .filter(fn -> fn.endsWith(".sd"))
+ .sorted();
+ for (var i = fnli.iterator(); i.hasNext(); ) {
+ builder.addSchemaFile(i.next());
}
builder.build(true);
return builder;
diff --git a/config-model/src/main/java/com/yahoo/schema/derived/SearchOrderer.java b/config-model/src/main/java/com/yahoo/schema/derived/SearchOrderer.java
index 3bab808beff..d08cc472f82 100644
--- a/config-model/src/main/java/com/yahoo/schema/derived/SearchOrderer.java
+++ b/config-model/src/main/java/com/yahoo/schema/derived/SearchOrderer.java
@@ -33,10 +33,6 @@ public class SearchOrderer {
* @return a new list containing the same search instances in the right order
*/
public List<Schema> order(List<Schema> unordered) {
- // Description above state that the original order should be preserved, except for the dependency constraint.
- // Yet we botch that guarantee by sorting the list...
- unordered.sort(Comparator.comparing(Schema::getName));
-
// No, this is not a fast algorithm...
indexOnDocumentName(unordered);
List<Schema> ordered = new ArrayList<>(unordered.size());