[ https://issues.apache.org/jira/browse/MNG-7739?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17700035#comment-17700035 ]
Tamas Cservenak edited comment on MNG-7739 at 3/14/23 9:12 AM: --------------------------------------------------------------- Ok, so mystery resolved (had to do some historical digging): I assume when you mention 3.8.7 and 3.9.0 you DO NOT alter/modify the resolver transport, hence, it would be more correct to say "3.8.7 w/ Wagon transport" and "3.9.0 w/ native HTTP transport" (this is most probably obvious, but am stating to be clear that default transport between these two Maven versions did change). For more see here [https://maven.apache.org/guides/mini/guide-resolver-transport.html] So, what happened/happens: * the "new" method added here [https://github.com/apache/maven-site/commit/2647fb00efea98d0f9b21c2632e373bdf45742ad] is CLEARLY a documentation issue, the two added sections BOTH misses following sentence: "Works from Maven 3.9.0+ only, but applies to all transports (so wagon and native as well)". This was meant to "bridge" for people who use 3.9.0 but are in-limbo between Wagon and new native transport. This was not backported, so the "new" method never worked and will not work with Maven 3.8.x. * The "old" method (httpConfiguration/all) IS supported and both wagon and native will pick it up, but as reporter states, in 3.9.0 it does WARNs, as it expects to move to "new" method. This affects users who are in-limbo between 3.8.x and 3.9.x, and I think living with WARN is okay, and is gone once user migrates fully to 3.9.x and upgrades config to "new" method. * The "old" method (httpConfiguration/ANYTHING_BUT_ALL) is completely unsupported (hence ignored) by native-http, as per-method configuration works only with Wagon. Hence, this configuration works as before with Maven 3.8.x, and ALSO with Maven 3.9.x IF user opts out from benefits of using new transport by use of {{-Dmaven.resolver.transport=wagon}} was (Author: cstamas): Ok, so mystery resolved (had to do some historical digging): I assume when you mention 3.8.7 and 3.9.0 you DO NOT alter/modify the resolver transport, hence, it would be more correct to say "3.8.7 w/ Wagon transport" and "3.9.0 w/ native HTTP transport" (this is most probably obvious, but am stating to be clear that default transport between these two Maven versions did change). For more see here [https://maven.apache.org/guides/mini/guide-resolver-transport.html] So, what happened/happens: * the "new" method added here [https://github.com/apache/maven-site/commit/2647fb00efea98d0f9b21c2632e373bdf45742ad] is CLEARLY a documentation issue, the two added sections BOTH misses following sentence: "Works from Maven 3.9.0+ only, but applies to all transports (so wagon and native as well)". This was meant to "bridge" for people who use 3.9.0 but are in-limbo between Wagon and new native transport. This was not backported, so the "new" method never worked and will not work with Maven 3.8.x. * The "old" method (httpConfiguration/all) IS supported and both wagon and native will pick it up, but as reporter states, in 3.9.0 it does WARNs, as it expects to move to "new" method. This affects users who are in-limbo between 3.8.x and 3.9.x, and I think living with WARN is okay, and is gone once user migrates fully to 3.9.x and upgrades config to "new" method. * The "old" method (httpConfiguration/ANYTHING_BUT_ALL) is completely unsupported (hence ignored) by native-http, as per-method configuration works only with Wagon. Hence, this configuration works as before with Maven 3.8.x, and ALSO with Maven 3.9.x is user opts out from benefits of using new transport by use of {{-Dmaven.resolver.transport=wagon}} > server timeout config in settings.xml is incompatible between 3.8.7 and 3.9.0 > ----------------------------------------------------------------------------- > > Key: MNG-7739 > URL: https://issues.apache.org/jira/browse/MNG-7739 > Project: Maven > Issue Type: Bug > Components: Settings > Affects Versions: 3.9.0, 4.0.0-alpha-3, 4.0.0-alpha-4 > Reporter: James Z.M. Gao > Assignee: Tamas Cservenak > Priority: Blocker > Fix For: 4.0.0, 4.0.0-alpha-5, 3.9.1 > > > resolver in 3.9.0 uses different server configuration for connection timeout > with wagon in 3.8.7. Now it is not possible to write a correct server > settings working and clean for both maven versions. > > New method with dom path server/configuration/connectTimeout: > * 3.8.7: exception: Cannot find 'requestTimeout' in class > org.apache.maven.wagon.providers.http.HttpWagon$__sisu20 > * 3.9.0: works as expected > Old method with dom path > server/configuration/httpConfiguration/all/connectionTimeout: > * 3.8.7: works as expected > * 3.9.0: works, but warns legacy format > Old method with dom path > server/configuration/httpConfiguration/get/connectionTimeout: > * 3.8.7: works as expected > * 3.9.0: doesn't work, the configs are ignored -- This message was sent by Atlassian Jira (v8.20.10#820010)