<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div>Hello,<br><br></div>We&#39;ve got a long chain of dependencies for upgrading Gerrit. As I understand, we need to do the following:<br><br></div>* Upgrade the operating system to CentOS 7.<br></div>* Move the database out of H2 to MySQL or PostgreSQL.<br></div>* Upgrade gerrit itself.<br><br></div>The hairiest part of this process, I feel is the database. As far as I understand, we use H2 at the moment and it&#39;s a file along with everything else. From what I read, it&#39;s the sqlite3 of the java world.<br><br></div>If we can move the database into PostgreSQL, we can change on risky part of this process. I&#39;ve looked at how to do this on a gerrit install on a clean slate server on digital ocean. So, I know what to do.<br><br></div>What needs to happen:<br></div>* We schedule a brief downtime window to copy the db files. We copy the db files out of the production instance to a test instance (perhaps it&#39;s time we had a staging site?) to export the databases out and migrate the database to postgres. This will give us a chance to test and catch any special bugs we may come across.<br></div>* We test the instance thoroughly, especially for actions we do frequently on our current instance - push/pull code, a few reviews, and github logins. I don&#39;t know if a CI trigger is a good thing to do, but that&#39;s where I&#39;ll need input.<br></div>* Once we know how much time it will take, we schedule a downtime window and start the upgrade on production. A lot of the process seems to be removing the data into csv files and loading it back into postgresql. It&#39;s not fun, for sure :)<br></div>* Now upgrade the test instance to latest gerrit and run another round of testing.<br></div>* Upgrade production to latest gerrit.<br></div><br></div>The OS needs to upgrade and I know it&#39;s critical, but it can happen independent of the db migration and gerrit upgrade itself. As long as it doesn&#39;t happen in the same downtime window. If this sounds good, I&#39;d like to schedule a short downtime (30 mins or 
so) tomorrow or on Monday to get a copy of the data. If we have backups somewhere 
that&#39;s something as old as 30 days, that works too.<br><br>I&#39;d love to hear thoughts on how crazy this sounds or if there&#39;s something I&#39;ve missed.<br><br></div><div>nigelb<br></div></div>