Skip to content

Commit 16890a0

Browse files
committed
simplify usages of model catalog.
we know what model catalog we need for a given edition, and we know what point in the plugin lifecycle we need it. so we just get what we need, when we need it. nothing clever. concretely, the invariant is that all extension entry points run and finish before any lifecycles initialise. so while we have several extensions needing model catalog, we can illustrate in code the guarantees we know about. specifically, when an extension needs model catalog in it's lifecycle only, then we can just get the already created one; whereas when you need it in extension init itself, you are competing and must do a synchronised singleton get-or-create type thing. this will be much clearer when we merge the extensions.
1 parent 2441029 commit 16890a0

File tree

4 files changed

+2
-176
lines changed

4 files changed

+2
-176
lines changed

edition-api/src/main/java/org/neo4j/gds/EditionLifecycleAdapter.java

Lines changed: 0 additions & 93 deletions
This file was deleted.

model-catalog-api/src/main/java/org/neo4j/gds/core/model/ModelCatalogProvider.java

Lines changed: 0 additions & 35 deletions
This file was deleted.

open-model-catalog/src/main/java/org/neo4j/gds/core/model/OpenModelCatalogProvider.java

Lines changed: 0 additions & 46 deletions
This file was deleted.

procedures/extension/src/main/java/org/neo4j/gds/extension/OpenGraphDataScienceExtension.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
import org.neo4j.gds.configuration.DefaultsConfiguration;
2828
import org.neo4j.gds.configuration.LimitsConfiguration;
2929
import org.neo4j.gds.core.OpenGdsIdMapBehavior;
30-
import org.neo4j.gds.core.model.OpenModelCatalogProvider;
30+
import org.neo4j.gds.core.model.OpenModelCatalog;
3131
import org.neo4j.gds.core.write.NativeExportBuildersProvider;
3232
import org.neo4j.gds.metrics.Metrics;
3333
import org.neo4j.gds.procedures.ExporterBuildersProviderService;
@@ -71,7 +71,7 @@ public Lifecycle newInstance(ExtensionContext extensionContext, Dependencies dep
7171
var featureTogglesRepository = new FeatureTogglesRepository();
7272
var idMapBehavior = new OpenGdsIdMapBehavior();
7373
var metrics = Metrics.DISABLED; // no metrics in OpenGDS
74-
var modelCatalog = new OpenModelCatalogProvider().get().orElseThrow();
74+
var modelCatalog = new OpenModelCatalog();
7575
var modelRepository = new OpenModelRepository(); // no model storing in OpenGDS
7676
var poolSizes = new OpenGdsPoolSizes(); // limited to four
7777

0 commit comments

Comments
 (0)