Continuum
  1. Continuum
  2. CONTINUUM-1572

Release should support Build Environments (formerly called Continuum Profiles)

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.1-beta-4, 1.1
    • Fix Version/s: 1.2.1
    • Component/s: Core - Profiles, Release
    • Labels:
      None

      Description

      Currently there's no way to specify parameters for the release, like JVM version or MAVEN_OPTS. I had a hard time "configuring" Maven to have enough memory during the release (actually I had to add MAVEN_OPTS=-Xmx512m as an environment variable – not a really nice solution).

      It would be nice to have a similar build configuration for the release as we have for other builds, with profiles and all. Maybe a default schedule called RELEASE would do.

        Issue Links

          Activity

          Lóránt Pintér created issue -
          Wendy Smoak made changes -
          Field Original Value New Value
          Link This issue is duplicated by CONTINUUM-1594 [ CONTINUUM-1594 ]
          Hide
          Wendy Smoak added a comment -

          Now that we have Continum Profiles, we need the ability to choose one of them to be used during the release process.

          From the user list...

          If I define a Continuum Profile (CP) [1] for scheduled builds, for
          example to build with a different JDK than the one Continuum is
          running under, how do I make sure that CP is used when I release the
          project?

          Under the Project Group Actions, I could argue that choosing a CP and
          then clicking Release could be expected to work. But how about the
          release icon to the right of each project in the list?

          [1] (this is confusing, Maven already has profiles...)

          Show
          Wendy Smoak added a comment - Now that we have Continum Profiles, we need the ability to choose one of them to be used during the release process. From the user list... If I define a Continuum Profile (CP) [1] for scheduled builds, for example to build with a different JDK than the one Continuum is running under, how do I make sure that CP is used when I release the project? Under the Project Group Actions, I could argue that choosing a CP and then clicking Release could be expected to work. But how about the release icon to the right of each project in the list? [1] (this is confusing, Maven already has profiles...)
          Wendy Smoak made changes -
          Component/s Core - Profiles [ 12481 ]
          Affects Version/s 1.1 [ 13605 ]
          Brett Porter made changes -
          Fix Version/s 1.3 [ 14168 ]
          Wendy Smoak made changes -
          Link This issue is related to CONTINUUM-1711 [ CONTINUUM-1711 ]
          Wendy Smoak made changes -
          Link This issue is related to CONTINUUM-1633 [ CONTINUUM-1633 ]
          Hide
          Wendy Smoak added a comment -

          Comments on CONTINUUM-1633 imply that with the current code, it's going to be difficult to release with a different version of Maven.

          Show
          Wendy Smoak added a comment - Comments on CONTINUUM-1633 imply that with the current code, it's going to be difficult to release with a different version of Maven.
          Wendy Smoak made changes -
          Summary Release should support profiles Release should support Build Environments (formerly called Continuum Profiles)
          Wendy Smoak made changes -
          Link This issue is duplicated by CONTINUUM-1861 [ CONTINUUM-1861 ]
          Hide
          Maria Catherine Tan added a comment -

          if you click the release icon to the right of each project, it will use the CP that is assigned to the default build definition of that project

          WDYT?

          Show
          Maria Catherine Tan added a comment - if you click the release icon to the right of each project, it will use the CP that is assigned to the default build definition of that project WDYT?
          Maria Catherine Tan made changes -
          Assignee Maria Catherine Tan [ ctan ]
          Hide
          Wendy Smoak added a comment -

          > if you click the release icon to the right of each project, it will use the CP that is assigned to the
          > default build definition of that project
          >
          > WDYT?

          Build definitions are not related to releases, so it doesn't feel quite right.

          Also, I think more than one build definition can have default=true. (Though that may be an error?)

          However, I'm not doing the work, so if that's the best available solution, go for it.

          Show
          Wendy Smoak added a comment - > if you click the release icon to the right of each project, it will use the CP that is assigned to the > default build definition of that project > > WDYT? Build definitions are not related to releases, so it doesn't feel quite right. Also, I think more than one build definition can have default=true. (Though that may be an error?) However, I'm not doing the work, so if that's the best available solution, go for it.
          Hide
          Maria Catherine Tan added a comment -

          I think we should just add a dropdown for the CP in the prepare release page

          Show
          Maria Catherine Tan added a comment - I think we should just add a dropdown for the CP in the prepare release page
          Hide
          Maria Catherine Tan added a comment -

          Fix committed in branch http://svn.apache.org/repos/asf/continuum/branches/CONTINUUM-1572

          Will merge to trunk after 1.2 is released.

          Show
          Maria Catherine Tan added a comment - Fix committed in branch http://svn.apache.org/repos/asf/continuum/branches/CONTINUUM-1572 Will merge to trunk after 1.2 is released.
          Wendy Smoak made changes -
          Link This issue is duplicated by CONTINUUM-1893 [ CONTINUUM-1893 ]
          Hide
          Luc Willems added a comment -

          Will this fix also use the CP for the second steps in release phaze ?
          will this fix be released in 1.2.1 ?

          I think it's important that the release cycle is done in same "environment" that the builds are defined.
          if a user selects a different build environment like MAVEN_OPT,JDK's , maven version , etc ...,
          than there is good reason why he is doing that.

          so release should run the release cycle in the same environment as the builds.
          this is mandotory to make reproducable releases

          Show
          Luc Willems added a comment - Will this fix also use the CP for the second steps in release phaze ? will this fix be released in 1.2.1 ? I think it's important that the release cycle is done in same "environment" that the builds are defined. if a user selects a different build environment like MAVEN_OPT,JDK's , maven version , etc ..., than there is good reason why he is doing that. so release should run the release cycle in the same environment as the builds. this is mandotory to make reproducable releases
          Hide
          Benoit Decherf added a comment -

          The release is done using the maven-release jar. So it won't be possible to choose a specific version of maven. This is possible in the Profile. How do this fix work with that ? The maven installation will be ignored ?

          Show
          Benoit Decherf added a comment - The release is done using the maven-release jar. So it won't be possible to choose a specific version of maven. This is possible in the Profile. How do this fix work with that ? The maven installation will be ignored ?
          Hide
          Maria Catherine Tan added a comment -

          There is an additional build environment field in the release prepare page. You can select the same environment you used in the builds here and yes, the CP will be used in the release:perform phase.

          I override some classes and used Continuum's ShellCommandHelper instead of the MavenExecutor, as it won't allow me to set the build environments. . So now it's possible to choose a specific version of maven.

          I already merged it to trunk so it will be included in 1.2.1

          Show
          Maria Catherine Tan added a comment - There is an additional build environment field in the release prepare page. You can select the same environment you used in the builds here and yes, the CP will be used in the release:perform phase. I override some classes and used Continuum's ShellCommandHelper instead of the MavenExecutor, as it won't allow me to set the build environments. . So now it's possible to choose a specific version of maven. I already merged it to trunk so it will be included in 1.2.1
          Maria Catherine Tan made changes -
          Fix Version/s 1.2.1 [ 14539 ]
          Fix Version/s 1.3 [ 14168 ]
          Hide
          Maria Catherine Tan added a comment -

          fix in revision 698412

          Show
          Maria Catherine Tan added a comment - fix in revision 698412
          Maria Catherine Tan made changes -
          Status Open [ 1 ] Closed [ 6 ]
          Resolution Fixed [ 1 ]
          Hide
          Luc Willems added a comment -

          this sounds promissing , can't wait for the release
          can anybody tell me if there is a release date/schedule forseen for 1.2.1

          Show
          Luc Willems added a comment - this sounds promissing , can't wait for the release can anybody tell me if there is a release date/schedule forseen for 1.2.1
          Hide
          Luc Willems added a comment - - edited

          Just tried latest SVN continuum 1.2.X branch (revision 701309) and got Null pointer when using a custom buildenvironment

          java.lang.NullPointerException
          at org.apache.maven.continuum.release.DefaultContinuumReleaseManager.getEnvironments(DefaultContinuumReleaseManager.java:244)
          at org.apache.maven.continuum.release.DefaultContinuumReleaseManager.getReleaseDescriptor(DefaultContinuumReleaseManager.java:293)
          at org.apache.maven.continuum.release.DefaultContinuumReleaseManager.prepare(DefaultContinuumReleaseManager.java:115)
          at org.apache.maven.continuum.web.action.ReleasePrepareAction.execute(ReleasePrepareAction.java:230)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
          at java.lang.reflect.Method.invoke(Method.java:597)
          at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:358)
          at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:218)
          at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:192)
          at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:175)
          at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
          at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
          at com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115)
          at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
          at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
          at org.apache.maven.continuum.web.interceptor.ForceContinuumConfigurationInterceptor.intercept(ForceContinuumConfigurationInterceptor.java:72)
          at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

          build environment included 1 entry for custom maven 2.0.9 installation

          looking at the line with eclipse in debug :
          Installation builder = profile.getBuilder();
          if ( builder != null )

          { envVars.put( installationService.getEnvVar( InstallationService.MAVEN2_TYPE ), builder.getVarValue() ); }

          installationService was was NULL , could found any place where this variable is set

          should i open a new issue ?

          Show
          Luc Willems added a comment - - edited Just tried latest SVN continuum 1.2.X branch (revision 701309) and got Null pointer when using a custom buildenvironment java.lang.NullPointerException at org.apache.maven.continuum.release.DefaultContinuumReleaseManager.getEnvironments(DefaultContinuumReleaseManager.java:244) at org.apache.maven.continuum.release.DefaultContinuumReleaseManager.getReleaseDescriptor(DefaultContinuumReleaseManager.java:293) at org.apache.maven.continuum.release.DefaultContinuumReleaseManager.prepare(DefaultContinuumReleaseManager.java:115) at org.apache.maven.continuum.web.action.ReleasePrepareAction.execute(ReleasePrepareAction.java:230) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:358) at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:218) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:192) at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:175) at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:115) at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) at org.apache.maven.continuum.web.interceptor.ForceContinuumConfigurationInterceptor.intercept(ForceContinuumConfigurationInterceptor.java:72) at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190) build environment included 1 entry for custom maven 2.0.9 installation looking at the line with eclipse in debug : Installation builder = profile.getBuilder(); if ( builder != null ) { envVars.put( installationService.getEnvVar( InstallationService.MAVEN2_TYPE ), builder.getVarValue() ); } installationService was was NULL , could found any place where this variable is set should i open a new issue ?
          Hide
          Maria Catherine Tan added a comment -

          Already fixed. Could you try it again? Thanks

          Show
          Maria Catherine Tan added a comment - Already fixed. Could you try it again? Thanks
          Hide
          Luc Willems added a comment -

          couldn't get it to work

          • first try would not release because some prject didn't got a succesfull build (some minor issues in unit tests)
          • add maven.test.skip=1 "quickly" bypass this issues
          • got selection menu , selected correct settings and started release
          • prepare step failed because of followin error :
            ....
            [INFO] Updating api to 1.1
            [INFO] Ignoring artifact version update for expression: $ {version}
            [INFO] Not generating release POMs
            [ERROR] org.apache.maven.shared.release.ReleaseExecutionException: Maven execution failed, exit code: '1'
            at org.apache.continuum.release.phase.AbstractContinuumRunGoalsPhase.execute(AbstractContinuumRunGoalsPhase.java:70)
            at org.apache.continuum.release.phase.RunPrepareGoalsPhase.execute(RunPrepareGoalsPhase.java:47)
            at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:194)
            at org.apache.maven.shared.release.DefaultReleaseManager.prepareWithResult(DefaultReleaseManager.java:107)
            at org.apache.maven.continuum.release.executors.PrepareReleaseTaskExecutor.execute(PrepareReleaseTaskExecutor.java:43)
            at org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:67)
            at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116)
            at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
            at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:178)
            at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
            at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
            at java.lang.Thread.run(Thread.java:619)
            Caused by: org.apache.maven.shared.release.exec.MavenExecutorException: Maven execution failed, exit code: '1'
            at org.apache.continuum.utils.shell.DefaultShellCommandHelper.executeGoals(DefaultShellCommandHelper.java:209)
            at org.apache.continuum.utils.shell.DefaultShellCommandHelper.executeGoals(DefaultShellCommandHelper.java:169)
            at org.apache.continuum.release.phase.AbstractContinuumRunGoalsPhase.execute(AbstractContinuumRunGoalsPhase.java:62)

            seems like problems using ${version}

            in parent pom.xml . the finalName was constructed like pmf-$

            {artifactId}

            -$

            {version}
          • removed this to bypass this problem
          • retried release , but pressing Release button doesn't do any thing
          • no way to initiate a release, can't find a error in logfiles

          luc

          Show
          Luc Willems added a comment - couldn't get it to work first try would not release because some prject didn't got a succesfull build (some minor issues in unit tests) add maven.test.skip=1 "quickly" bypass this issues got selection menu , selected correct settings and started release prepare step failed because of followin error : .... [INFO] Updating api to 1.1 [INFO] Ignoring artifact version update for expression: $ {version} [INFO] Not generating release POMs [ERROR] org.apache.maven.shared.release.ReleaseExecutionException: Maven execution failed, exit code: '1' at org.apache.continuum.release.phase.AbstractContinuumRunGoalsPhase.execute(AbstractContinuumRunGoalsPhase.java:70) at org.apache.continuum.release.phase.RunPrepareGoalsPhase.execute(RunPrepareGoalsPhase.java:47) at org.apache.maven.shared.release.DefaultReleaseManager.prepare(DefaultReleaseManager.java:194) at org.apache.maven.shared.release.DefaultReleaseManager.prepareWithResult(DefaultReleaseManager.java:107) at org.apache.maven.continuum.release.executors.PrepareReleaseTaskExecutor.execute(PrepareReleaseTaskExecutor.java:43) at org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:67) at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116) at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442) at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:178) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575) at java.lang.Thread.run(Thread.java:619) Caused by: org.apache.maven.shared.release.exec.MavenExecutorException: Maven execution failed, exit code: '1' at org.apache.continuum.utils.shell.DefaultShellCommandHelper.executeGoals(DefaultShellCommandHelper.java:209) at org.apache.continuum.utils.shell.DefaultShellCommandHelper.executeGoals(DefaultShellCommandHelper.java:169) at org.apache.continuum.release.phase.AbstractContinuumRunGoalsPhase.execute(AbstractContinuumRunGoalsPhase.java:62) seems like problems using ${version} in parent pom.xml . the finalName was constructed like pmf-$ {artifactId} -$ {version} removed this to bypass this problem retried release , but pressing Release button doesn't do any thing no way to initiate a release, can't find a error in logfiles luc
          Hide
          Luc Willems added a comment -

          ok , problem found why release didn't work anymore

          • parent pom.xml had version of 1.1 while all sub modules had 1.1-SNAPSHOT. i didn't do rollback after first failure build
          • Fresh build done , project pom was back to 1.1-SNAPSHOT
          • Retried Release , same error , NO pressed Rollback , got no response
            and following exception in continuum.log
            2008-10-06 21:11:51,086 [Thread-10] ERROR taskQueueExecutor#rollback-release - Error executing task
            edu.emory.mathcs.backport.java.util.concurrent.ExecutionException: java.lang.ClassCastException: org.apache.maven.shared.release.config.ReleaseDescriptor cannot be cast to org.apache.continuum.release.config.ContinuumReleaseDescriptor
            at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.getResult(FutureTask.java:301)
            at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.get(FutureTask.java:120)
            at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.waitForTask(ThreadedTaskQueueExecutor.java:159)
            at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.run(ThreadedTaskQueueExecutor.java:127)
            Caused by: java.lang.ClassCastException: org.apache.maven.shared.release.config.ReleaseDescriptor cannot be cast to org.apache.continuum.release.config.ContinuumReleaseDescriptor
            at org.apache.continuum.release.config.ContinuumPropertiesReleaseDescriptorStore.read(ContinuumPropertiesReleaseDescriptorStore.java:140)
            at org.apache.maven.shared.release.config.PropertiesReleaseDescriptorStore.read(PropertiesReleaseDescriptorStore.java:53)
            at org.apache.maven.shared.release.DefaultReleaseManager.loadReleaseDescriptor(DefaultReleaseManager.java:401)
            at org.apache.maven.shared.release.DefaultReleaseManager.rollback(DefaultReleaseManager.java:234)
            at org.apache.maven.continuum.release.executors.RollbackReleaseTaskExecutor.execute(RollbackReleaseTaskExecutor.java:40)
            at org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:67)
            at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116)
            at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
            at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:178)
            at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
            at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
            at java.lang.Thread.run(Thread.java:619)

          so rollback fails

          I think we should open a NEW issue to cover all this changes/errors ?

          Show
          Luc Willems added a comment - ok , problem found why release didn't work anymore parent pom.xml had version of 1.1 while all sub modules had 1.1-SNAPSHOT. i didn't do rollback after first failure build Fresh build done , project pom was back to 1.1-SNAPSHOT Retried Release , same error , NO pressed Rollback , got no response and following exception in continuum.log 2008-10-06 21:11:51,086 [Thread-10] ERROR taskQueueExecutor#rollback-release - Error executing task edu.emory.mathcs.backport.java.util.concurrent.ExecutionException: java.lang.ClassCastException: org.apache.maven.shared.release.config.ReleaseDescriptor cannot be cast to org.apache.continuum.release.config.ContinuumReleaseDescriptor at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.getResult(FutureTask.java:301) at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.get(FutureTask.java:120) at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.waitForTask(ThreadedTaskQueueExecutor.java:159) at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.run(ThreadedTaskQueueExecutor.java:127) Caused by: java.lang.ClassCastException: org.apache.maven.shared.release.config.ReleaseDescriptor cannot be cast to org.apache.continuum.release.config.ContinuumReleaseDescriptor at org.apache.continuum.release.config.ContinuumPropertiesReleaseDescriptorStore.read(ContinuumPropertiesReleaseDescriptorStore.java:140) at org.apache.maven.shared.release.config.PropertiesReleaseDescriptorStore.read(PropertiesReleaseDescriptorStore.java:53) at org.apache.maven.shared.release.DefaultReleaseManager.loadReleaseDescriptor(DefaultReleaseManager.java:401) at org.apache.maven.shared.release.DefaultReleaseManager.rollback(DefaultReleaseManager.java:234) at org.apache.maven.continuum.release.executors.RollbackReleaseTaskExecutor.execute(RollbackReleaseTaskExecutor.java:40) at org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:67) at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116) at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442) at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:178) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575) at java.lang.Thread.run(Thread.java:619) so rollback fails I think we should open a NEW issue to cover all this changes/errors ?
          Hide
          Maria Catherine Tan added a comment -

          Hi Luc,

          Sorry I'll reopen this issue... as the error pertains to the changes made for this.

          Was there a an error from the log why the release wasn't successful ( before the rollback ) cause I was able to prepare and perform release successfully?

          Show
          Maria Catherine Tan added a comment - Hi Luc, Sorry I'll reopen this issue... as the error pertains to the changes made for this. Was there a an error from the log why the release wasn't successful ( before the rollback ) cause I was able to prepare and perform release successfully?
          Hide
          Maria Catherine Tan added a comment -

          unable to rollback

          Show
          Maria Catherine Tan added a comment - unable to rollback
          Maria Catherine Tan made changes -
          Status Closed [ 6 ] Reopened [ 4 ]
          Resolution Fixed [ 1 ]
          Hide
          Luc Willems added a comment -
          • initial "prepare" failure was caused by a minor issues in my test so build failed because of this
          • My "normal" build defenitions had the -Dmaven.test.skip=1 option but the release:prepare step not (which is normal )
          • once i noticed this problem and i got my working copy back OK (al version = xxx-snapshot), i retried to see if rollback could solve this problem.
            just to check that i can go back to a valid state after a prepare error
          • this is the point where i got the ClassCastException exception and rollback failed ;-(
          • manually put the working copy back into good state
          • run de prepare step with extra -Dmaven.test.skip=1 parameter -> OK
          • run the release step with extra -Dmaven.test.skip=1 parameter -> OK

          so i have 1 successfull release done
          still feels a little bit fragile , many things can go wrong ,even if your builds are OK
          rollback doesn't seems to fix the problem always ;-(

          luc

          Show
          Luc Willems added a comment - initial "prepare" failure was caused by a minor issues in my test so build failed because of this My "normal" build defenitions had the -Dmaven.test.skip=1 option but the release:prepare step not (which is normal ) once i noticed this problem and i got my working copy back OK (al version = xxx-snapshot), i retried to see if rollback could solve this problem. just to check that i can go back to a valid state after a prepare error this is the point where i got the ClassCastException exception and rollback failed ;-( manually put the working copy back into good state run de prepare step with extra -Dmaven.test.skip=1 parameter -> OK run the release step with extra -Dmaven.test.skip=1 parameter -> OK so i have 1 successfull release done still feels a little bit fragile , many things can go wrong ,even if your builds are OK rollback doesn't seems to fix the problem always ;-( luc
          Hide
          Maria Catherine Tan added a comment -

          fixed rollback in rev 702680

          Show
          Maria Catherine Tan added a comment - fixed rollback in rev 702680
          Maria Catherine Tan made changes -
          Status Reopened [ 4 ] Closed [ 6 ]
          Resolution Fixed [ 1 ]
          Hide
          Luc Willems added a comment -

          hello,

          i was testing the rollback fix , it seems to work but no feedback is given after clicking the rollback button.
          the cursor stays in a "waiting" state , screen doesn change.

          pressing again rollback , gives this exception.
          2008-10-08 21:00:25,008 [pool-5-thread-1] ERROR taskQueueExecutor#rollback-release - Error executing task
          org.codehaus.plexus.taskqueue.execution.TaskExecutionException: Failed to rollback release
          at org.apache.maven.continuum.release.executors.RollbackReleaseTaskExecutor.execute(RollbackReleaseTaskExecutor.java:45)
          at org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:67)
          at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116)
          at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
          at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:178)
          at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
          at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
          at java.lang.Thread.run(Thread.java:619)
          Caused by: org.apache.maven.shared.release.ReleaseExecutionException: Cannot restore from a missing backup POM: /home/luc/src/continuum/continuum-webapp/data/working-directory/1/pom.xml.releaseBackup
          at org.apache.maven.shared.release.phase.RestoreBackupPomsPhase.restorePomBackup(RestoreBackupPomsPhase.java:90)
          at org.apache.maven.shared.release.phase.RestoreBackupPomsPhase.execute(RestoreBackupPomsPhase.java:69)
          at org.apache.maven.shared.release.DefaultReleaseManager.rollback(DefaultReleaseManager.java:248)
          at org.apache.maven.continuum.release.executors.RollbackReleaseTaskExecutor.execute(RollbackReleaseTaskExecutor.java:40)
          ... 7 more

          2008-10-08 21:00:26,775 [pool-1-thread-1] INFO continuumBuildExecutor#maven2 - Exit code: 0

          which is "normal" because rollback was already performed.
          is it possible to show some feedback of the rollback action to prevent this kind of errors.

          luc

          Show
          Luc Willems added a comment - hello, i was testing the rollback fix , it seems to work but no feedback is given after clicking the rollback button. the cursor stays in a "waiting" state , screen doesn change. pressing again rollback , gives this exception. 2008-10-08 21:00:25,008 [pool-5-thread-1] ERROR taskQueueExecutor#rollback-release - Error executing task org.codehaus.plexus.taskqueue.execution.TaskExecutionException: Failed to rollback release at org.apache.maven.continuum.release.executors.RollbackReleaseTaskExecutor.execute(RollbackReleaseTaskExecutor.java:45) at org.apache.maven.continuum.release.executors.AbstractReleaseTaskExecutor.executeTask(AbstractReleaseTaskExecutor.java:67) at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable$1.run(ThreadedTaskQueueExecutor.java:116) at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442) at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.run(FutureTask.java:178) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575) at java.lang.Thread.run(Thread.java:619) Caused by: org.apache.maven.shared.release.ReleaseExecutionException: Cannot restore from a missing backup POM: /home/luc/src/continuum/continuum-webapp/data/working-directory/1/pom.xml.releaseBackup at org.apache.maven.shared.release.phase.RestoreBackupPomsPhase.restorePomBackup(RestoreBackupPomsPhase.java:90) at org.apache.maven.shared.release.phase.RestoreBackupPomsPhase.execute(RestoreBackupPomsPhase.java:69) at org.apache.maven.shared.release.DefaultReleaseManager.rollback(DefaultReleaseManager.java:248) at org.apache.maven.continuum.release.executors.RollbackReleaseTaskExecutor.execute(RollbackReleaseTaskExecutor.java:40) ... 7 more 2008-10-08 21:00:26,775 [pool-1-thread-1] INFO continuumBuildExecutor#maven2 - Exit code: 0 which is "normal" because rollback was already performed. is it possible to show some feedback of the rollback action to prevent this kind of errors. luc
          Hide
          Wendy Smoak added a comment -

          There are known issues with release rollback, see CONTINUUM-1887 for example.

          Show
          Wendy Smoak added a comment - There are known issues with release rollback, see CONTINUUM-1887 for example.
          Wendy Smoak made changes -
          Link This issue relates to CONTINUUM-2002 [ CONTINUUM-2002 ]
          Wendy Smoak made changes -
          Link This issue relates to CONTINUUM-1513 [ CONTINUUM-1513 ]
          Mark Thomas made changes -
          Project Import Sun Apr 05 08:36:01 UTC 2015 [ 1428222961749 ]
          Mark Thomas made changes -
          Workflow jira [ 12710230 ] Default workflow, editable Closed status [ 12739928 ]
          Mark Thomas made changes -
          Project Import Sun Apr 05 21:12:18 UTC 2015 [ 1428268338676 ]
          Mark Thomas made changes -
          Workflow jira [ 12947450 ] Default workflow, editable Closed status [ 12985470 ]
          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Closed Closed
          308d 23h 16m 1 Maria Catherine Tan 23/Sep/08 22:58
          Closed Closed Reopened Reopened
          12d 21h 30m 1 Maria Catherine Tan 06/Oct/08 20:29
          Reopened Reopened Closed Closed
          1d 1h 45m 1 Maria Catherine Tan 07/Oct/08 22:14

            People

            • Assignee:
              Maria Catherine Tan
              Reporter:
              Lóránt Pintér
            • Votes:
              5 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development