scala-cli icon indicating copy to clipboard operation
scala-cli copied to clipboard

Retry publish on 502 from Maven

Open pawelprazak opened this issue 1 year ago • 0 comments

Is your feature request related to a problem? Please describe. When publishing to Maven central there are random 502 with error rate about 1-2 error(s) per 100 of packages published, e.g.:

scala.cli.errors.UploadError: Error uploading 1 file(s):
  org/virtuslab/besom-mysql_3/3.2.1-core.0.2-SNAPSHOT/besom-mysql_3-3.2.1-core.0.2-SNAPSHOT.jar: HTTP 502
<html>
<head><title>502 Bad Gateway</title></head>
<body>
<center><h1>502 Bad Gateway</h1></center>
</body>
</html>

  scala.cli.commands.publish.Publish$.prepareFilesAndUpload$$anonfun$1(Publish.scala:1124)
  scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
  scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
  scala.build.EitherCps$Helper.apply(EitherCps.scala:19)
  scala.cli.commands.publish.Publish$.prepareFilesAndUpload(Publish.scala:1188)
  scala.cli.commands.publish.Publish$.maybePublish(Publish.scala:447)
  scala.cli.commands.publish.Publish$.doRun(Publish.scala:355)
  scala.cli.commands.publish.Publish$.runCommand(Publish.scala:270)
  scala.cli.commands.publish.Publish$.runCommand(Publish.scala:212)
  scala.cli.commands.ScalaCommand.run(ScalaCommand.scala:368)
  scala.cli.commands.ScalaCommand.run(ScalaCommand.scala:350)
  caseapp.core.app.CaseApp.main(CaseApp.scala:157)
  scala.cli.commands.ScalaCommand.main(ScalaCommand.scala:335)
  caseapp.core.app.CommandsEntryPoint.main(CommandsEntryPoint.scala:166)
  scala.cli.ScalaCliCommands.main(ScalaCliCommands.scala:125)
  scala.cli.ScalaCli$.main0(ScalaCli.scala:302)
  scala.cli.ScalaCli$.main(ScalaCli.scala:141)
  scala.cli.ScalaCli.main(ScalaCli.scala)

Another type of 502 is when selecting the profile.

Describe the solution you'd like Would it be possible to retry with exponential backoff?

Describe alternatives you've considered I guess the alternative is:

  • not doing it since error rate is acceptable

Additional context I'm using publish with maven central repository.

pawelprazak avatar Feb 10 '24 19:02 pawelprazak