every go routine needs to have its own collection factory

this is needed so concurrent reads and writes are possible.
This commit is contained in:
Oliver Sauder authored and Lorenzo Bolla committed 2022-01-27 09:30:14 +01:00
1 parent 4a6d53e16d
commit 208a2151c1
48 files changed
+305 -387

No files matched your search

+1 -11
View File
@@ -21,17 +21,7 @@ func apiGraph(c *gin.Context) {
ext := c.Params.ByName("ext")
layout := c.Request.URL.Query().Get("layout")
factory := context.CollectionFactory()
factory.RemoteRepoCollection().Lock()
defer factory.RemoteRepoCollection().Unlock()
factory.LocalRepoCollection().Lock()
defer factory.LocalRepoCollection().Unlock()
factory.SnapshotCollection().Lock()
defer factory.SnapshotCollection().Unlock()
factory.PublishedRepoCollection().Lock()
defer factory.PublishedRepoCollection().Unlock()
factory := context.NewCollectionFactory()
graph, err := deb.BuildGraph(factory, layout)
if err != nil {