Hi everyone,I’m trying to run an offline reindex for the ‘projects’ index on a site for the very first time (upgrading from 2.7…). Before this step, all that I’ve done is run ‘gerrit-2.9.6.war init’ and ‘gerrit-2.16.13 init --no-reindex --no-auto-start’.Now I’m running:$ java -server -verbose:gc -XX:+PrintGCDateStamps -Xloggc:/tmp/jvm_logs/jvm.log -XX:+PrintGCDetails -Xms96679m -Xmn31904m -XX:+UseParallelOldGC -XX:ParallelGCThreads=24 -XX:MetaspaceSize=128m -XX:+UseNUMA -XX:+UseBiasedLocking -XX:+AggressiveOpts -Xmx96679m -jar bin/gerrit-2.16.13.war reindex --index projects --threads 1And it’s hung at the very end (progress output shows 1 project not complete).Most jstacks show one index thread doing work and look like:
--
--
To unsubscribe, email repo-discuss...@googlegroups.com
More info at http://groups.google.com/group/repo-discuss?hl=en
---
You received this message because you are subscribed to the Google Groups "Repo and Gerrit Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to repo-discuss...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/repo-discuss/0101016ed9844feb-5f8e6b7c-a629-4c82-a3a2-471e38619b9c-000000%40us-west-2.amazonses.com.
On Dec 6, 2019, at 7:41 AM, Saša Živkov <ziv...@gmail.com> wrote:On Fri, Dec 6, 2019 at 5:42 AM Nasser Grainawi <nas...@codeaurora.org> wrote:Hi everyone,I’m trying to run an offline reindex for the ‘projects’ index on a site for the very first time (upgrading from 2.7…). Before this step, all that I’ve done is run ‘gerrit-2.9.6.war init’ and ‘gerrit-2.16.13 init --no-reindex --no-auto-start’.Now I’m running:$ java -server -verbose:gc -XX:+PrintGCDateStamps -Xloggc:/tmp/jvm_logs/jvm.log -XX:+PrintGCDetails -Xms96679m -Xmn31904m -XX:+UseParallelOldGC -XX:ParallelGCThreads=24 -XX:MetaspaceSize=128m -XX:+UseNUMA -XX:+UseBiasedLocking -XX:+AggressiveOpts -Xmx96679m -jar bin/gerrit-2.16.13.war reindex --index projects --threads 1And it’s hung at the very end (progress output shows 1 project not complete).Most jstacks show one index thread doing work and look like:Have you observed this same thread in several subsequent thread dumps? Does it change?
To view this discussion on the web visit https://groups.google.com/d/msgid/repo-discuss/CACrmCORGp_6mBD2jexWYM7_1qXrTUsO2cBs2nnDj0HXEjoPNFw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/repo-discuss/0101016edbb57faf-f1c9d058-5730-4f95-afb5-7d5fe039c4b4-000000%40us-west-2.amazonses.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/repo-discuss/0101016edbf63b97-2089617a-eb78-4a4a-8c44-d53a9b5c13a1-000000%40us-west-2.amazonses.com.
On Dec 6, 2019, at 7:41 AM, Saša Živkov <ziv...@gmail.com> wrote:On Fri, Dec 6, 2019 at 5:42 AM Nasser Grainawi <nas...@codeaurora.org> wrote:Hi everyone,I’m trying to run an offline reindex for the ‘projects’ index on a site for the very first time (upgrading from 2.7…). Before this step, all that I’ve done is run ‘gerrit-2.9.6.war init’ and ‘gerrit-2.16.13 init --no-reindex --no-auto-start’.
To view this discussion on the web visit https://groups.google.com/d/msgid/repo-discuss/0101016edbb57faf-f1c9d058-5730-4f95-afb5-7d5fe039c4b4-000000%40us-west-2.amazonses.com.
On 6 Dec 2019, at 16:33, Matthias Sohn <matthi...@gmail.com> wrote:On Fri, Dec 6, 2019 at 3:55 PM Nasser Grainawi <nas...@codeaurora.org> wrote:On Dec 6, 2019, at 7:41 AM, Saša Živkov <ziv...@gmail.com> wrote:On Fri, Dec 6, 2019 at 5:42 AM Nasser Grainawi <nas...@codeaurora.org> wrote:Hi everyone,I’m trying to run an offline reindex for the ‘projects’ index on a site for the very first time (upgrading from 2.7…). Before this step, all that I’ve done is run ‘gerrit-2.9.6.war init’ and ‘gerrit-2.16.13 init --no-reindex --no-auto-start’.I think doing a jump upgrade from 2.7 to 2.9.6 and from there to 2.16.13 is not supported.How do you ensure all the migrations in between these version are run ?I'd expect you have to run gerrit init for each minor version above 2.7 to upgrade to 2.8 then to 2.9 etc ... all the way up to 2.16.13
To view this discussion on the web visit https://groups.google.com/d/msgid/repo-discuss/CAKSZd3Riuek8gmTwvz4Thwv9bq%2Bw3deg8%2BJePh2xfHci9rxdUQ%40mail.gmail.com.
On Dec 6, 2019, at 9:43 AM, Luca Milanesio <luca.mi...@gmail.com> wrote:On 6 Dec 2019, at 16:33, Matthias Sohn <matthi...@gmail.com> wrote:On Fri, Dec 6, 2019 at 3:55 PM Nasser Grainawi <nas...@codeaurora.org> wrote:On Dec 6, 2019, at 7:41 AM, Saša Živkov <ziv...@gmail.com> wrote:On Fri, Dec 6, 2019 at 5:42 AM Nasser Grainawi <nas...@codeaurora.org> wrote:Hi everyone,I’m trying to run an offline reindex for the ‘projects’ index on a site for the very first time (upgrading from 2.7…). Before this step, all that I’ve done is run ‘gerrit-2.9.6.war init’ and ‘gerrit-2.16.13 init --no-reindex --no-auto-start’.I think doing a jump upgrade from 2.7 to 2.9.6 and from there to 2.16.13 is not supported.How do you ensure all the migrations in between these version are run ?I'd expect you have to run gerrit init for each minor version above 2.7 to upgrade to 2.8 then to 2.9 etc ... all the way up to 2.16.13That is what the init does already automatically.The problem is the size of the setup and the number of schema migrations: I reckon the init took a *veeeery long time*.@Nasser can you share the output and the timings of the init?
To view this discussion on the web visit https://groups.google.com/d/msgid/repo-discuss/9E0E54AF-7CD3-40A4-A28B-B1E79B99FBE2%40gmail.com.
On Dec 6, 2019, at 9:43 AM, Luca Milanesio <luca.mi...@gmail.com> wrote:On 6 Dec 2019, at 16:33, Matthias Sohn <matthi...@gmail.com> wrote:On Fri, Dec 6, 2019 at 3:55 PM Nasser Grainawi <nas...@codeaurora.org> wrote:On Dec 6, 2019, at 7:41 AM, Saša Živkov <ziv...@gmail.com> wrote:On Fri, Dec 6, 2019 at 5:42 AM Nasser Grainawi <nas...@codeaurora.org> wrote:Hi everyone,I’m trying to run an offline reindex for the ‘projects’ index on a site for the very first time (upgrading from 2.7…). Before this step, all that I’ve done is run ‘gerrit-2.9.6.war init’ and ‘gerrit-2.16.13 init --no-reindex --no-auto-start’.I think doing a jump upgrade from 2.7 to 2.9.6 and from there to 2.16.13 is not supported.How do you ensure all the migrations in between these version are run ?I'd expect you have to run gerrit init for each minor version above 2.7 to upgrade to 2.8 then to 2.9 etc ... all the way up to 2.16.13That is what the init does already automatically.The problem is the size of the setup and the number of schema migrations: I reckon the init took a *veeeery long time*.@Nasser can you share the output and the timings of the init?Took about 1 hour, so I thought it worked, but I’m guessing it didn’t. I did see the ALTER TABLE command running for Schema 129, so I assumed it got past that successfully. It does have a stack trace at the end, but it seemed like something it got past successfully… maybe not?This output is from a re-run just now, so the timing doesn’t match the original run. The exception at the end does.
To view this discussion on the web visit https://groups.google.com/d/msgid/repo-discuss/0101016edc3f4013-932f1e09-f3db-41eb-9f10-64be4c2f24f9-000000%40us-west-2.amazonses.com.
On Dec 6, 2019, at 9:43 AM, Luca Milanesio <luca.mi...@gmail.com> wrote:On 6 Dec 2019, at 16:33, Matthias Sohn <matthi...@gmail.com> wrote:On Fri, Dec 6, 2019 at 3:55 PM Nasser Grainawi <nas...@codeaurora.org> wrote:On Dec 6, 2019, at 7:41 AM, Saša Živkov <ziv...@gmail.com> wrote:On Fri, Dec 6, 2019 at 5:42 AM Nasser Grainawi <nas...@codeaurora.org> wrote:Hi everyone,I’m trying to run an offline reindex for the ‘projects’ index on a site for the very first time (upgrading from 2.7…). Before this step, all that I’ve done is run ‘gerrit-2.9.6.war init’ and ‘gerrit-2.16.13 init --no-reindex --no-auto-start’.I think doing a jump upgrade from 2.7 to 2.9.6 and from there to 2.16.13 is not supported.How do you ensure all the migrations in between these version are run ?I'd expect you have to run gerrit init for each minor version above 2.7 to upgrade to 2.8 then to 2.9 etc ... all the way up to 2.16.13That is what the init does already automatically.
To view this discussion on the web visit https://groups.google.com/d/msgid/repo-discuss/9E0E54AF-7CD3-40A4-A28B-B1E79B99FBE2%40gmail.com.
boolean searchPacksAgain(PackList old) {
// Whether to trust the pack folder's modification time. If set
// to false we will always scan the .git/objects/pack folder to
// check for new pack files. If set to true (default) we use the
// lastmodified attribute of the folder and assume that no new
// pack files can be in this folder if his modification time has
// not changed.
boolean trustFolderStat = config.getBoolean(
ConfigConstants.CONFIG_CORE_SECTION,
ConfigConstants.CONFIG_KEY_TRUSTFOLDERSTAT, true);
return ((!trustFolderStat) || old.snapshot.isModified(packDirectory))
&& old != scanPacks(old);
}
if trustFolderStat == false the first term in ((!trustFolderStat) || old.snapshot.isModified(packDirectory)) is true
This means it does not evaluate the second term which would aks the packDirectory's FileSnapshot if the meta data
for the packDirectory says the directory was modified. This is the purpose of trustFolderStat, if we don't trust the
directory metaData to be able to detect changes in the list of files contained in the directory
we have to scan the packDirectory again to see if the list of packfiles changed which is done in the last term
&& old != scanPacks(old)
scanPacksImpl lists the files in the pack directory and looks for .idx files, checks if a corresponding .pack file exists and
if the packFile was modified by looking at its cached FileSnapshot
this is of course slower than checking the meta data of the packDirectory to detect if we have to rescan the packDirectory
To view this discussion on the web visit https://groups.google.com/d/msgid/repo-discuss/0101016edbf63b97-2089617a-eb78-4a4a-8c44-d53a9b5c13a1-000000%40us-west-2.amazonses.com.
On Dec 6, 2019, at 11:26 AM, Nasser Grainawi <nas...@codeaurora.org> wrote:On Dec 6, 2019, at 9:43 AM, Luca Milanesio <luca.mi...@gmail.com> wrote:On 6 Dec 2019, at 16:33, Matthias Sohn <matthi...@gmail.com> wrote:On Fri, Dec 6, 2019 at 3:55 PM Nasser Grainawi <nas...@codeaurora.org> wrote:On Dec 6, 2019, at 7:41 AM, Saša Živkov <ziv...@gmail.com> wrote:On Fri, Dec 6, 2019 at 5:42 AM Nasser Grainawi <nas...@codeaurora.org> wrote:Hi everyone,I’m trying to run an offline reindex for the ‘projects’ index on a site for the very first time (upgrading from 2.7…). Before this step, all that I’ve done is run ‘gerrit-2.9.6.war init’ and ‘gerrit-2.16.13 init --no-reindex --no-auto-start’.I think doing a jump upgrade from 2.7 to 2.9.6 and from there to 2.16.13 is not supported.How do you ensure all the migrations in between these version are run ?I'd expect you have to run gerrit init for each minor version above 2.7 to upgrade to 2.8 then to 2.9 etc ... all the way up to 2.16.13That is what the init does already automatically.Looks like init is not doing it’s job correctly. I went back and started again with 2.9, then did 2.10, then 2.11, now 2.12. 2.12 is taking a while “Updating groups for open changes” in schema 108, but the others were fast.I started down this path after I hit https://bugs.chromium.org/p/gerrit/issues/detail?id=3123 and saw the note in https://gerrit-review.googlesource.com/c/gerrit/+/63678 and then even after 2.10 was successful, I hit more errors trying 2.16 again (using latest patch versions always).The problem is the size of the setup and the number of schema migrations: I reckon the init took a *veeeery long time*.
To view this discussion on the web visit https://groups.google.com/d/msgid/repo-discuss/0101016edc76ea09-e226d06c-a335-4921-86a2-4d4bb83a5fd7-000000%40us-west-2.amazonses.com.