Open ca-stefan-cordes opened 10 months ago
This is clearly nexus bug, as it violates steps as described here: https://stackoverflow.com/questions/35305084/100-continue-with-jersey2-with-jetty9
As can be seen from sources:
It DOES gets the parameters, hence, triggers request consumption while the full request is "not yet here".
In the meantime I found another workaround for us:
The maven 3.9 workaround is to switch back to the (outdated) wagon protocol via -Dmaven.resolver.transport=wagon
(Proposed solution is to fully support "http 100 expect continue")
Thanks for opening an issue @ca-stefan-cordes - we plan to investigate our compatibility with Maven 3.9 in the near future. In the interim, thank you for sharing the workaround you've discovered.
Do you know when approximately is "near future" ?
When putting a file to nexus3 with
the request fails after 30 seconds with a http 500 server error and the server shows
(full stacktace, see nexus-stacktrace-trycreate.txt )
when removing the --header 'Expect: 100-continue' it works as expected.
Do you have a workaround you are using at present? The error was in nexus before, too but previously on maven 3.8 we configured wagon not to send http 100-expect continue as workaround. With maven 3.9 the transport was changed and now on putting files the with
Expect: 100-continue
always. So with maven 3.9 default http transport and nexus3 we no longer have a workaround. The maven 3.9 workaround is to switch back to the (outdated) wagon protocol via -Dmaven.resolver.transport=wagonWhat feature or behavior is this required for? Uploading any artifact with maven 3.9
How could we solve this issue? (Not knowing is okay!)
Expect: 100-continue
should respond withHTTP/1.1 100 Continue
.Tell us about your Nexus Repository deployment: what version, operating system, and database are you using? Nexus: 3.60.0-02 Edition OSS java-1.8.0-ibm-1.8.0 (java.runtime.version 8.0.8.10 - pxz6480sr8fp10-20230703_02(SR8 FP10)) karaf.version 4.3.9 nexus-db-feature nexus-orient nexus.change.repo.blobstore.task.enabled false nexus.hazelcast.discovery.isEnabled true os.arch s390x os.name Linux os.version 5.14.21-150500.55.31-default sun.java.command com.install4j.runtime.launcher.UnixLauncher start 9d17dc87 0 0 org.sonatype.nexus.karaf.NexusMain ORIENTDB_HOME /srv/nexus/sonatype-work/nexus3/orient java.io.tmpdir ../sonatype-work/nexus3/tmp
Anything else? The problem is not related to our reverse proxy in front of nexus as I connect directly to the nexus instance http://test.nexus.canda.com:8081/ (application-port 8081) It happens independent of file size to be put. You cannot access the server from internet.