Thank you for this action plan. I only used *sudo systemctl restart go-server* (it's on a RedHat 7) to restart GoCD; I am not sure how graceful it is when stopping the GoCD process.
We have a *very old* backup of our H2 db (about 2 years old). May I please ask you to tell the pros and cons of restoring this db vs using a fresh one, as you suggested? I understand most of the configuration lives in the cruise-config.xml files and the GIT config repositories (we use the gocd-yaml-config-plugin <https://github.com/tomzo/gocd-yaml-config-plugin>) , so I am not 100% clear what type of information would be lost, if using a fresh database. Thanks again, Jonathan On Wednesday, January 19, 2022 at 11:45:16 AM UTC+1 Aravind SV wrote: > Thank you. The trace file was helpful. Not sure, but you might need to > seriously consider step 4 in my previous response. The DB file seems to be > corrupted. > > Did you forcibly quit the server by running something like kill -9? I > don’t see this happening via the migrator, but I can’t be sure. > > Cheers, > Aravind > > * From*: Jonathan Bandelier > * Subject*: Re: [go-cd] Database migration dry run gone wrong > * To*: go-cd > * Date*: Wed, 19 Jan 2022 02:13:56 -0800 (PST) > I just realized that the cruise.trace.db > <https://cloud.bandelier.eu/index.php/s/367FBbn8e48zDGn> file was > actually a human-readable log; you might find also useful info in there. > > On Wednesday, January 19, 2022 at 10:54:36 AM UTC+1 Jonathan Bandelier > wrote: > >> Hello, >> >> I really appreciate you looking at this issue. It is pretty clear to me >> that you pinpointed the correct code extract around here >> <https://github.com/gocd/gocd/blob/1278474dcd8b2e90c0f19fc15098c279274141cb/db-support/db-migration/src/main/java/com/thoughtworks/go/server/database/migration/DatabaseMigrator.java#L61>, >> >> but with my limited knowledge of Java, I don't know what to make of it. >> >> I posted 210 lines of go-server-wrapper.log on PasteBin >> <https://pastebin.com/U8Tfx5BF>; I hope this can help. >> >> Please let me know if you need other details >> >> >> On Tuesday, January 18, 2022 at 3:45:39 PM UTC+1 Aravind SV wrote: >> >>> Hello Jonathan, >>> >>> Given that the message seems to be coming from around here >>> <https://github.com/gocd/gocd/blob/1278474dcd8b2e90c0f19fc15098c279274141cb/db-support/db-migration/src/main/java/com/thoughtworks/go/server/database/migration/DatabaseMigrator.java#L61>, >>> >>> there could be more information in the logs. It’s hard to say what the >>> problem is without more information. >>> >>> My understanding was that running this tool would only write to the >>> target database with no impact on the source. >>> >>> That is a reasonable expectation, I feel. However, one of the reasons the >>> first steps in the documentation >>> <https://docs.gocd.org/current/installation/upgrade_to_gocd_20.5.0.html> >>> mentions backing up and stopping the server is to make recovery easier. I >>> don’t know what happens if you run this against a *running* GoCD server. >>> >>> I wonder if permissions got changed, or something like that. Won’t know >>> without more information from the logs. >>> >>> Cheers, >>> Aravind >>> >>> * From*: Jonathan Bandelier >>> * Subject*: [go-cd] Database migration dry run gone wrong >>> * To*: go-cd >>> * Date*: Mon, 17 Jan 2022 14:59:52 -0800 (PST) >>> I recently ran gocd-database-migrator (flags -insert and --progress) on >>> my. 20.4.0 GoCD server with its current H2 database as source and a blank >>> PostgreSQL instance as target. >>> >>> My understanding was that running this tool would only write to the >>> target database with no impact on the source. As this was meant to be a dry >>> run just to make sure the user on target PostgreSQL instance had the >>> proper privileges, I did not stop or back up GoCD before running the tool. >>> The tool ran without error, so I instructed the DBA to delete the target >>> database, planning to to the real migration later, when all is ready to >>> actually upgrade to 20.5.0. >>> >>> I then found plenty database-related errors showing up in the GoCD >>> console; I restarted the go-server service and it got worse: GoCD is no >>> longer able to start >>> >>> go-server-wrapper.log appears to indicate that the update is in progress: >>> >>> INFO | jvm 1 | 2022/01/17 22:18:33 | >>> ************************************************************************ >>> INFO | jvm 1 | 2022/01/17 22:18:33 | WARNING: Shutting down your >>> server at this point will lead to a database corruption. Please wait until >>> the database upgrade completes. >>> INFO | jvm 1 | 2022/01/17 22:18:33 | >>> ************************************************************************ >>> INFO | jvm 1 | 2022/01/17 22:18:33 | Reading change scripts from >>> directory /var/lib/go-server/db/h2deltas... >>> INFO | jvm 1 | 2022/01/17 22:18:33 | dbdeploy v2.11 >>> DEBUG | wrapperp | 2022/01/17 22:18:34 | Send a packet PING : ping >>> 00000152 >>> INFO | jvm 1 | 2022/01/17 22:18:34 | WrapperManager Debug: Received >>> a packet PING : ping 00000152 >>> INFO | jvm 1 | 2022/01/17 22:18:34 | WrapperManager Debug: Send a >>> packet PING : ping 00000152 >>> DEBUG | wrapperp | 2022/01/17 22:18:34 | read a packet PING : ping >>> 00000152 >>> INFO | jvm 1 | 2022/01/17 22:18:35 | Unable to create database >>> upgrade script for database >>> >>> Is there any way for me to get out of this mess, and bring back my H2 >>> database to the state it was before running the tool? Would emptying the >>> h2deltas folder do the trick? >>> >>> Thanks in advance for your help >>> >>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "go-cd" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/go-cd/785b0a66-c1b7-43b6-b18f-279ff7629bb7n%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/go-cd/785b0a66-c1b7-43b6-b18f-279ff7629bb7n%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > You received this message because you are subscribed to the Google Groups > "go-cd" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/go-cd/efc8635a-09cb-412c-9a03-ca0735faf92an%40googlegroups.com > > <https://groups.google.com/d/msgid/go-cd/efc8635a-09cb-412c-9a03-ca0735faf92an%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "go-cd" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/go-cd/b9444262-9596-490c-bb54-c95e1b37f31dn%40googlegroups.com.
