External Report: Paket: 1912(https://github.com/fsprojects/Paket/issues/1912)
I build our solutions with FAKE. In Interaction with Nexus 3 the `paket update` took very long, if I have FAKE in it (I think the problem here is on Nexus 3 side, because it tries to download all the versions of FAKE - and there are a lot of them). And it fails.
C:\Temp\NexusTest>.paket\paket.exe update Paket version 3.19.1.0 Resolving packages for group Main: Paket failed with: Could not find versions for package FAKE on http://localhost:8081/repository/nuget-group.
I prepared a simple project to reproduce the steps:
https://github.com/WebDucer/Nexus3PaketIssue
1. Install the Docker container for Nexus 3
docker run -d -p 8081:8081 --name nuget-repo sonatype/docker-nexus3
2. Use the project above to execute `paket update` against nuget.org or Nexus3 as source (comment the unneded sources out).
Expected behavior
`paket update` should update quicker for packages with a lot of versions
Actual behavior
`paket update` need a lot of time, if package `FAKE` is in it.
Known workarounds
Using of two sources (nuget.org on the first place and Nexus 3 on the second).
Thread dump shows the thread getting all versions doing this:
qtp2081197315-75 id=75 state=RUNNABLE at java.util.HashMap.hash(HashMap.java:338) at java.util.HashMap.containsKey(HashMap.java:595) at com.orientechnologies.orient.core.db.record.OTrackedMap.put(OTrackedMap.java:72) at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.readEmbeddedMap(ORecordSerializerBinaryV0.java:439) at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.readSingleValue(ORecordSerializerBinaryV0.java:365) at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.readEmbeddedMap(ORecordSerializerBinaryV0.java:435) at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.readSingleValue(ORecordSerializerBinaryV0.java:365) at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.deserializePartial(ORecordSerializerBinaryV0.java:143) at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinary.fromStream(ORecordSerializerBinary.java:72) at com.orientechnologies.orient.core.record.impl.ODocument.deserializeFields(ODocument.java:1817) at com.orientechnologies.orient.core.sql.filter.OSQLFilterItemField.getValue(OSQLFilterItemField.java:105) at com.orientechnologies.orient.core.sql.filter.OSQLFilterCondition.evaluate(OSQLFilterCondition.java:315) at com.orientechnologies.orient.core.sql.filter.OSQLFilterCondition.evaluate(OSQLFilterCondition.java:76) at com.orientechnologies.orient.core.sql.filter.OSQLFilterCondition.evaluate(OSQLFilterCondition.java:320) at com.orientechnologies.orient.core.sql.filter.OSQLFilterCondition.evaluate(OSQLFilterCondition.java:76) at com.orientechnologies.orient.core.sql.filter.OSQLFilter.evaluate(OSQLFilter.java:100) at com.orientechnologies.orient.core.sql.OCommandExecutorSQLResultsetAbstract.evaluateRecord(OCommandExecutorSQLResultsetAbstract.java:401) at com.orientechnologies.orient.core.sql.OCommandExecutorSQLResultsetAbstract.filter(OCommandExecutorSQLResultsetAbstract.java:391) at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.executeSearchRecord(OCommandExecutorSQLSelect.java:570) at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.fetchFromTarget(OCommandExecutorSQLSelect.java:1481) at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.executeSearch(OCommandExecutorSQLSelect.java:502) at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.execute(OCommandExecutorSQLSelect.java:460) at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:90) at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.executeCommand(OAbstractPaginatedStorage.java:1547) at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.command(OAbstractPaginatedStorage.java:1528) at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:67) at org.sonatype.nexus.repository.storage.MetadataNodeEntityAdapter.browseByQuery(MetadataNodeEntityAdapter.java:160) at org.sonatype.nexus.repository.storage.StorageTxImpl.findAssets(StorageTxImpl.java:311) at org.sonatype.nexus.repository.storage.StorageTxImpl.findAssets(StorageTxImpl.java:317) at sun.reflect.GeneratedMethodAccessor77.invoke(Unknown Source)
- fixes
-
NEXUS-11141 support for nuget repository "package-versions" endpoint
-
- Closed
-