#826  Failure when trying to upgrade from 7.3.2 to 7.4.9
Closed
wojtek opened 2 weeks ago

I just tried to upgrade from 7.3.2 to 7.4.9 and it failed:

Defaulted container "onedev" out of: onedev, init (init)
INFO  - Launching application from '/app'...
INFO  - Starting server...
INFO  - Upgrading /opt/onedev...
INFO  - >>> INFO  - Launching application from '/opt/onedev'...
INFO  - >>> INFO  - Cleaning temp directory...
INFO  - >>> INFO  - Starting server...
INFO  - >>> ERROR - Data version mismatch (app data version: 87, db data version: 95)
ERROR - Unable to upgrade specified installation due to above error

We are deploying to our k8s cluster using official docker images.

Robin Shen commented 2 weeks ago

Are you using OneDev official helm chart install/upgrade?

Robin Shen commented 2 weeks ago

You may check if there are any upgrade errors by running:

kubectl logs -n onedev <onedev pod name>
wojtek commented 2 weeks ago

Are you using OneDev official helm chart install/upgrade?

No, we are not: https://github.com/tigase/helm-charts/tree/master/onedev. At the time of the deployment official helm wasn't available.
Though, the upgrade should be handled by the docker image (see https://code.onedev.io/projects/160/files/main/server-product/docker/entrypoint.sh, line 20) - am I correct?

You may check if there are any upgrade errors by running:

Above output is from the logs of the deployment (i.e. $ kubectl -n onedev-prod logs deployments/onedev). Pod logs are virtually the same:

$ kubectl -n onedev-prod logs pods/onedev-…-…
Defaulted container "onedev" out of: onedev, init (init)
INFO  - Launching application from '/app'...
INFO  - Starting server...
INFO  - Upgrading /opt/onedev...
INFO  - >>> INFO  - Launching application from '/opt/onedev'...
INFO  - >>> INFO  - Cleaning temp directory...
INFO  - >>> INFO  - Starting server...
INFO  - >>> ERROR - Data version mismatch (app data version: 87, db data version: 95)
ERROR - Unable to upgrade specified installation due to above error

It seems that the upgrade is ran ("INFO - Upgrading /opt/onedev...") but fails for some reason?

Robin Shen commented 2 weeks ago

Firstable please take a backup of your OneDev database and data volume.

So you are still using the old kubectl resource based deployment? If so, please follow below link to switch to maintenance mode:

https://code.onedev.io/projects/162/files/5.0/pages/maintenance-mode.md

Then follow below steps to do a manual upgrade to see if there is any errors:
1. Check if content of file /app/version.txt is 7.4.9
2. Run /app/bin/upgrade.sh /opt/onedev

wojtek commented 2 weeks ago
  1. Check if content of file /app/version.txt is 7.4.9

Result:

root@onedev-6757c5f4cc-j9m8q:/# cat /app/version.txt
7.4.9
  1. Run /app/bin/upgrade.sh /opt/onedev

same error as outputed by kubectl logs…:

root@onedev-6757c5f4cc-j9m8q:/# /app/bin/upgrade.sh /opt/onedev
Running OneDev Upgrade...
--> Wrapper Started as Console
Java Service Wrapper Standard Edition 64-bit 3.5.48
  Copyright (C) 1999-2021 Tanuki Software, Ltd. All Rights Reserved.
    http://wrapper.tanukisoftware.com
  Licensed to OneDev for Service Wrapping

Launching a JVM...
WrapperManager: Initializing...
INFO  - Launching application from '/app'...
INFO  - Starting server...
INFO  - Upgrading /opt/onedev...
INFO  - >>> INFO  - Launching application from '/opt/onedev'...
INFO  - >>> INFO  - Cleaning temp directory...
INFO  - >>> INFO  - Starting server...
INFO  - >>> ERROR - Data version mismatch (app data version: 87, db data version: 95)
ERROR - Unable to upgrade specified installation due to above error
Robin Shen commented 2 weeks ago

Seems that for some reason, the app code did not copy from /app to /opt/onedev. This seems pretty odd. Can you please tar content of of /app and /opt/onedev (excluding sub directory site, sampledb, and temp) and upload to some file service such as dropbox so that I can check what might be wrong?

wojtek commented 2 weeks ago

Before uploading I checked the contents of those directories (see the end of the message) and it seems that

1) everything is copied from /app to /opt/onedev
2) there is a mismatch in version.txt with /opt/onedev/version.txt having version 7.3.2 and /app/version.txt version 7.4.9
3) why there are two, virtually same directories? and in /opt/onedev/ we have /opt/onedev/site/projects/ in it (the directory is a mount resource)?
4) how is the update handled? If I'm correct it seems you are copying and overriding files (https://github.com/theonedev/onedev/blob/main/server-core/src/main/java/io/onedev/server/maintenance/Upgrade.java#L146)!?

root@onedev-6757c5f4cc-j9m8q:/# ls -lah /app/
total 64K
drwxr-xr-x. 1 root root   41 Aug  4 16:30 .
dr-xr-xr-x. 1 root root   73 Aug  4 16:23 ..
drwxr-xr-x. 2 root root 4.0K Jul 29 09:29 3rdparty-licenses
drwxr-xr-x. 4 root root   29 Jul 29 09:29 agent
drwxr-xr-x. 1 root root    6 Aug  4 16:30 bin
drwxr-xr-x. 2 root root 4.0K Jul 29 09:29 boot
-rw-r--r--. 1 root root    0 Jul 29 09:24 build.txt
drwxr-xr-x. 2 root root 4.0K Jul 29 09:29 conf
drwxr-xr-x. 2 root root   34 Jul 29 09:29 incompatibilities
drwxr-xr-x. 2 root root  20K Jul 29 09:29 lib
-rw-r--r--. 1 root root 1.1K Jul 29 09:24 license.txt
drwxr-xr-x. 1 root root   25 Aug  4 16:30 logs
-rw-r--r--. 1 root root   18 Jul 29 09:24 readme.txt
drwxr-xr-x. 4 root root   31 Jul 29 09:29 site
drwxr-xr-x. 3 root root   21 Aug  4 16:30 temp
-rw-r--r--. 1 root root    5 Jul 29 09:29 version.txt
root@onedev-6757c5f4cc-j9m8q:/# ls -lah /opt/
total 12K
drwxr-xr-x.  1 root root   20 Aug  4 16:23 .
dr-xr-xr-x.  1 root root   73 Aug  4 16:23 ..
drwxr-xr-x. 13 root root 4.0K Aug  1 11:28 onedev
root@onedev-6757c5f4cc-j9m8q:/# ls -lah /opt/onedev/
total 100K
drwxr-xr-x. 13 root root 4.0K Aug  1 11:28 .
drwxr-xr-x.  1 root root   20 Aug  4 16:23 ..
drwxr-xr-x.  2 root root 4.0K May 31 12:16 3rdparty-licenses
drwxr-xr-x.  4 root root 4.0K May 31 12:16 agent
drwxr-xr-x.  2 root root 4.0K Jun  1 15:15 bin
drwxr-xr-x.  2 root root 4.0K May 31 12:16 boot
-rw-r--r--.  1 root root    0 May 31 12:14 build.txt
drwxr-xr-x.  2 root root 4.0K Jun  1 15:15 conf
drwxr-xr-x.  2 root root 4.0K Jun  1 17:45 incompatibilities
-rw-r--r--.  1 root root    0 Jun  1 15:19 IN_DOCKER
drwxr-xr-x.  2 root root  28K May 31 12:16 lib
-rw-r--r--.  1 root root 1.1K May 31 12:14 license.txt
drwxr-xr-x.  2 root root 4.0K Jul 30 10:22 logs
drwx------.  2 root root  16K Feb  7 17:55 lost+found
-rw-r--r--.  1 root root   18 May 31 12:14 readme.txt
drwxr-xr-x. 11 root root 4.0K Jul  5 16:28 site
drwxr-xr-x.  8 root root 4.0K Aug  4 16:30 temp
-rw-r--r--.  1 root root    5 May 31 12:16 version.txt
root@onedev-6757c5f4cc-j9m8q:/# diff /app/ /opt/onedev/
Common subdirectories: /app/3rdparty-licenses and /opt/onedev/3rdparty-licenses
Common subdirectories: /app/agent and /opt/onedev/agent
Common subdirectories: /app/bin and /opt/onedev/bin
Common subdirectories: /app/boot and /opt/onedev/boot
Common subdirectories: /app/conf and /opt/onedev/conf
Common subdirectories: /app/incompatibilities and /opt/onedev/incompatibilities
Only in /opt/onedev/: IN_DOCKER
Common subdirectories: /app/lib and /opt/onedev/lib
Common subdirectories: /app/logs and /opt/onedev/logs
Only in /opt/onedev/: lost+found
Common subdirectories: /app/site and /opt/onedev/site
Common subdirectories: /app/temp and /opt/onedev/temp
diff /app/version.txt /opt/onedev/version.txt
1c1
< 7.4.9
\ No newline at end of file
---
> 7.3.2
\ No newline at end of file

BTW. Why to you have onedev-server/server-product/docker/kubectl and onedev-server/server-product/docker/docker binaries in repository (it made cloning repository quite slow due to those files being quite big and the bandwidth of code.onedev.io rather limited)?

Robin Shen commented 2 weeks ago

The diff command will not show differences in sub directories. Please run diff /app/lib /opt/onedev/lib. I believe there are many differences there.

OneDev app code is versioned and can only read data of same version. When a new app version connects to database of old version, it will not work, OneDev will call old app to export data, upgrading exported data, and then import data with new app. This is the reason why we have /app (for new version) and /opt/onedev (for old version).

If an old app connects to a new database, the upgrade will no longer work. And a manual upgrade will be necessary by running:

  1. rm /opt/onedev/boot/*
  2. rm /opt/onedev/lib/*
  3. cp /app/boot/* /opt/onedev/boot/
  4. cp /app/lib/* /opt/onedev/lib/
  5. cp /app/version.txt /opt/onedev/
wojtek commented 1 week ago

The diff command will not show differences in sub directories. Please run diff /app/lib /opt/onedev/lib. I believe there are many differences there.

Indeed:

root@onedev-6757c5f4cc-j9m8q:/# diff /app/lib /opt/onedev/lib
Only in /opt/onedev/lib: com.github.jnr.jffi-1.2.17.jar
Only in /app/lib: com.github.jnr.jffi-1.3.9.jar
Only in /app/lib: com.github.jnr.jnr-a64asm-1.0.0.jar
Only in /app/lib: com.github.jnr.jnr-constants-0.10.3.jar
Only in /opt/onedev/lib: com.github.jnr.jnr-constants-0.9.9.jar
Only in /opt/onedev/lib: com.github.jnr.jnr-ffi-2.1.8.jar
Only in /app/lib: com.github.jnr.jnr-ffi-2.2.11.jar
Only in /opt/onedev/lib: com.github.jnr.jnr-posix-3.0.45.jar
Only in /app/lib: com.github.jnr.jnr-posix-3.1.15.jar
Only in /app/lib: com.github.stephenc.jcip.jcip-annotations-1.0-1.jar
Only in /app/lib: com.nimbusds.content-type-2.2.jar
Only in /opt/onedev/lib: com.nimbusds.lang-tag-1.4.jar
Only in /app/lib: com.nimbusds.lang-tag-1.6.jar
Only in /opt/onedev/lib: com.nimbusds.nimbus-jose-jwt-2.26.1.jar
Only in /app/lib: com.nimbusds.nimbus-jose-jwt-9.22.jar
Only in /opt/onedev/lib: com.nimbusds.oauth2-oidc-sdk-3.4.1.jar
Only in /app/lib: com.nimbusds.oauth2-oidc-sdk-9.35.jar
Only in /opt/onedev/lib: io.onedev.agent-1.3.10.jar
Only in /app/lib: io.onedev.agent-1.3.17.jar
Only in /opt/onedev/lib: io.onedev.commons-codeassist-2.1.2.jar
Only in /app/lib: io.onedev.commons-codeassist-2.2.4.jar
Only in /opt/onedev/lib: io.onedev.commons-jsymbol-2.1.2.jar
Only in /app/lib: io.onedev.commons-jsymbol-2.2.4.jar
Only in /opt/onedev/lib: io.onedev.commons-loader-2.1.2.jar
Only in /app/lib: io.onedev.commons-loader-2.2.4.jar
Only in /opt/onedev/lib: io.onedev.commons-utils-2.1.2.jar
Only in /app/lib: io.onedev.commons-utils-2.2.4.jar
Only in /app/lib: io.onedev.k8s-helper-2.6.14.jar
Only in /opt/onedev/lib: io.onedev.k8s-helper-2.6.7.jar
Only in /opt/onedev/lib: io.onedev.server-core-7.3.2.jar
Only in /app/lib: io.onedev.server-core-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-authenticator-ldap-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-authenticator-ldap-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-buildspec-gradle-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-buildspec-gradle-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-buildspec-maven-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-buildspec-maven-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-buildspec-node-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-buildspec-node-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-executor-kubernetes-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-executor-kubernetes-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-executor-remotedocker-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-executor-remotedocker-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-executor-remoteshell-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-executor-remoteshell-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-executor-serverdocker-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-executor-serverdocker-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-executor-servershell-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-executor-servershell-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-import-bitbucketcloud-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-import-bitbucketcloud-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-import-gitea-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-import-gitea-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-import-github-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-import-github-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-import-gitlab-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-import-gitlab-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-import-jiracloud-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-import-jiracloud-7.4.9.jar
Only in /app/lib: io.onedev.server-plugin-import-url-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-import-youtrack-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-import-youtrack-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-report-checkstyle-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-report-checkstyle-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-report-clover-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-report-clover-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-report-coverage-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-report-coverage-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-report-cpd-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-report-cpd-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-report-jacoco-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-report-jacoco-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-report-jest-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-report-jest-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-report-junit-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-report-junit-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-report-markdown-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-report-markdown-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-report-pmd-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-report-pmd-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-report-problem-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-report-problem-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-report-spotbugs-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-report-spotbugs-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-report-unittest-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-report-unittest-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-sso-discord-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-sso-discord-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-plugin-sso-openid-7.3.2.jar
Only in /app/lib: io.onedev.server-plugin-sso-openid-7.4.9.jar
Only in /opt/onedev/lib: io.onedev.server-product-7.3.2.jar
Only in /app/lib: io.onedev.server-product-7.4.9.jar
Only in /opt/onedev/lib: net.jcip.jcip-annotations-1.0.jar
Only in /app/lib: net.minidev.accessors-smart-2.4.8.jar
Only in /opt/onedev/lib: net.minidev.json-smart-1.1.1.jar
Only in /app/lib: net.minidev.json-smart-2.4.8.jar
Only in /opt/onedev/lib: org.apache.commons.commons-email-1.5.jar
Only in /opt/onedev/lib: org.ow2.asm.asm-5.0.3.jar
Only in /app/lib: org.ow2.asm.asm-9.1.jar
Only in /opt/onedev/lib: org.ow2.asm.asm-analysis-5.0.3.jar
Only in /app/lib: org.ow2.asm.asm-analysis-9.2.jar
Only in /opt/onedev/lib: org.ow2.asm.asm-commons-5.0.3.jar
Only in /app/lib: org.ow2.asm.asm-commons-9.2.jar
Only in /opt/onedev/lib: org.ow2.asm.asm-tree-5.0.3.jar
Only in /app/lib: org.ow2.asm.asm-tree-9.2.jar
Only in /opt/onedev/lib: org.ow2.asm.asm-util-5.0.3.jar
Only in /app/lib: org.ow2.asm.asm-util-9.2.jar

OneDev app code is versioned and can only read data of same version. When a new app version connects to database of old version, it will not work, OneDev will call old app to export data, upgrading exported data, and then import data with new app. This is the reason why we have /app (for new version) and /opt/onedev (for old version).

It seems a little bit convoluted. Should this be handled in-place, i.e. (ignoring docker for a moment): you have /opt/onedev-<version-x> with configuration and database and actual data stored externally to the directory, then you want to upgrade so you unpack new version in /opt/onedev-<version-x+1>, point to the same configuration (which also configures database access information and local storaga path) and then new version upgrades those (db and local storage) to current version?

If an old app connects to a new database, the upgrade will no longer work. And a manual upgrade will be necessary by running:

   rm /opt/onedev/boot/*
   rm /opt/onedev/lib/*
   cp /app/boot/* /opt/onedev/boot/
   cp /app/lib/* /opt/onedev/lib/
   cp /app/version.txt /opt/onedev/

Ran:

root@onedev-6757c5f4cc-j9m8q:/# rm -v /opt/onedev/lib/*
removed '/opt/onedev/lib/antlr.antlr-2.7.7.jar'
removed '/opt/onedev/lib/aopalliance.aopalliance-1.0.jar'
removed '/opt/onedev/lib/backport-util-concurrent.backport-util-concurrent-3.1.jar'
removed '/opt/onedev/lib/cglib.cglib-nodep-3.2.5.jar'
removed '/opt/onedev/lib/com.beust.jcommander-1.48.jar'
removed '/opt/onedev/lib/com.fasterxml.classmate-1.3.1.jar'
removed '/opt/onedev/lib/com.fasterxml.jackson.core.jackson-annotations-2.13.2.jar'
removed '/opt/onedev/lib/com.fasterxml.jackson.core.jackson-core-2.13.2.jar'
removed '/opt/onedev/lib/com.fasterxml.jackson.core.jackson-databind-2.13.2.1.jar'
removed '/opt/onedev/lib/com.fasterxml.jackson.module.jackson-module-jaxb-annotations-2.8.4.jar'
removed '/opt/onedev/lib/com.github.albfernandez.juniversalchardet-2.4.0.jar'
removed '/opt/onedev/lib/com.github.javaparser.javaparser-core-3.0.0.jar'
removed '/opt/onedev/lib/com.github.jnr.jffi-1.2.17.jar'
removed '/opt/onedev/lib/com.github.jnr.jnr-constants-0.9.9.jar'
removed '/opt/onedev/lib/com.github.jnr.jnr-ffi-2.1.8.jar'
removed '/opt/onedev/lib/com.github.jnr.jnr-posix-3.0.45.jar'
removed '/opt/onedev/lib/com.github.jnr.jnr-x86asm-1.0.2.jar'
removed '/opt/onedev/lib/com.github.oshi.oshi-core-5.8.2.jar'
removed '/opt/onedev/lib/com.google.code.findbugs.jsr305-3.0.2.jar'
removed '/opt/onedev/lib/com.google.code.gson.gson-2.6.2.jar'
removed '/opt/onedev/lib/com.googlecode.javaewah.JavaEWAH-1.1.12.jar'
removed '/opt/onedev/lib/com.google.errorprone.error_prone_annotations-2.1.3.jar'
removed '/opt/onedev/lib/com.google.guava.guava-25.1-android.jar'
removed '/opt/onedev/lib/com.google.inject.extensions.guice-assistedinject-4.2.2.jar'
removed '/opt/onedev/lib/com.google.inject.extensions.guice-multibindings-4.2.2.jar'
removed '/opt/onedev/lib/com.google.inject.extensions.guice-servlet-4.2.2.jar'
removed '/opt/onedev/lib/com.google.inject.guice-4.2.2.jar'
removed '/opt/onedev/lib/com.google.j2objc.j2objc-annotations-1.1.jar'
removed '/opt/onedev/lib/com.google.zxing.core-3.2.1.jar'
removed '/opt/onedev/lib/com.google.zxing.javase-3.2.1.jar'
removed '/opt/onedev/lib/com.ibm.icu.icu4j-59.1.jar'
removed '/opt/onedev/lib/com.joestelmach.natty-0.13.jar'
removed '/opt/onedev/lib/com.mchange.c3p0-0.9.5.4.jar'
removed '/opt/onedev/lib/com.mchange.mchange-commons-java-0.2.15.jar'
removed '/opt/onedev/lib/commons-beanutils.commons-beanutils-1.9.4.jar'
removed '/opt/onedev/lib/commons-codec.commons-codec-1.7.jar'
removed '/opt/onedev/lib/commons-collections.commons-collections-3.2.2.jar'
removed '/opt/onedev/lib/commons-digester.commons-digester-1.8.jar'
removed '/opt/onedev/lib/commons-fileupload.commons-fileupload-1.3.3.jar'
removed '/opt/onedev/lib/commons-httpclient.commons-httpclient-3.1.jar'
removed '/opt/onedev/lib/commons-io.commons-io-2.7.jar'
removed '/opt/onedev/lib/commons-lang.commons-lang-2.6.jar'
removed '/opt/onedev/lib/commons-logging.commons-logging-1.0.4.jar'
removed '/opt/onedev/lib/commons-validator.commons-validator-1.4.0.jar'
removed '/opt/onedev/lib/com.nimbusds.lang-tag-1.4.jar'
removed '/opt/onedev/lib/com.nimbusds.nimbus-jose-jwt-2.26.1.jar'
removed '/opt/onedev/lib/com.nimbusds.oauth2-oidc-sdk-3.4.1.jar'
removed '/opt/onedev/lib/com.sun.istack.istack-commons-runtime-3.0.7.jar'
removed '/opt/onedev/lib/com.sun.mail.javax.mail-1.6.2.jar'
removed '/opt/onedev/lib/com.sun.xml.fastinfoset.FastInfoset-1.2.15.jar'
removed '/opt/onedev/lib/com.thoughtworks.xstream.xstream-1.4.19.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-0.62.2.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-ext-anchorlink-0.62.2.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-ext-autolink-0.62.2.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-ext-definition-0.62.2.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-ext-gfm-tasklist-0.62.2.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-ext-tables-0.62.2.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-ext-toc-0.62.2.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-util-0.62.2.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-util-ast-0.62.2.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-util-builder-0.62.2.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-util-collection-0.62.2.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-util-data-0.62.2.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-util-dependency-0.62.2.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-util-format-0.62.2.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-util-html-0.62.2.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-util-misc-0.62.2.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-util-options-0.62.2.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-util-sequence-0.62.2.jar'
removed '/opt/onedev/lib/com.vladsch.flexmark.flexmark-util-visitor-0.62.2.jar'
removed '/opt/onedev/lib/com.zaxxer.HikariCP-2.7.9.jar'
removed '/opt/onedev/lib/com.zaxxer.HikariCP-java7-2.4.13.jar'
removed '/opt/onedev/lib/de.taimos.totp-1.0.jar'
removed '/opt/onedev/lib/io.github.microutils.kotlin-logging-1.7.9.jar'
removed '/opt/onedev/lib/io.github.x-stream.mxparser-1.2.2.jar'
removed '/opt/onedev/lib/io.onedev.agent-1.3.10.jar'
removed '/opt/onedev/lib/io.onedev.commons-codeassist-2.1.2.jar'
removed '/opt/onedev/lib/io.onedev.commons-jsymbol-2.1.2.jar'
removed '/opt/onedev/lib/io.onedev.commons-loader-2.1.2.jar'
removed '/opt/onedev/lib/io.onedev.commons-utils-2.1.2.jar'
removed '/opt/onedev/lib/io.onedev.k8s-helper-2.6.7.jar'
removed '/opt/onedev/lib/io.onedev.server-core-7.3.2.jar'
removed '/opt/onedev/lib/io.onedev.server-plugin-authenticator-ldap-7.3.2.jar'
removed '/opt/onedev/lib/io.onedev.server-plugin-buildspec-gradle-7.3.2.jar'
removed '/opt/onedev/lib/io.onedev.server-plugin-buildspec-maven-7.3.2.jar'
removed '/opt/onedev/lib/io.onedev.server-plugin-buildspec-node-7.3.2.jar'
removed '/opt/onedev/lib/io.onedev.server-plugin-executor-kubernetes-7.3.2.jar'
removed '/opt/onedev/lib/io.onedev.server-plugin-executor-remotedocker-7.3.2.jar'
removed '/opt/onedev/lib/io.onedev.server-plugin-executor-remoteshell-7.3.2.jar'
removed '/opt/onedev/lib/io.onedev.server-plugin-executor-serverdocker-7.3.2.jar'
removed '/opt/onedev/lib/io.onedev.server-plugin-executor-servershell-7.3.2.jar'
removed '/opt/onedev/lib/io.onedev.server-plugin-import-bitbucketcloud-7.3.2.jar'
removed '...
Robin Shen commented 1 week ago

Is it working now? I can not see full output of the commands.

Simply pointing new version of the application to old version of data to do an in-place upgrade is very complex, as the new version needs to carry over all database schema of every old version, and also needs to preserve original class signature as many data is stored in serialized form in database for flexibility.

wojtek commented 1 week ago

Is it working now? I can not see full output of the commands.

Yes, it's working now - I said it at the end but then the comment was cut: https://code.onedev.io/projects/160/issues/839

Simply pointing new version of the application to old version of data to do an in-place upgrade is very complex, as the new version needs to carry over all database schema of every old version, and also needs to preserve original class signature as many data is stored in serialized form in database for flexibility.

Thank you for explanation. That's quite interesting solution.

Robin Shen changed state to 'Closed' 1 week ago
Previous Value Current Value
Open
Closed
issue 1 of 1
Type
Bug
Priority
Normal
Assignee
Seen Builds
Issue Votes (0)
Watchers (4)
Reference
issue onedev/server#826
Please wait...
Page is in error, reload to recover