Community
Participate
Working Groups
Support Gerrit 2.12: https://gerrit-documentation.storage.googleapis.com/ReleaseNotes/ReleaseNotes-2.12.html
Currently we have fixtures for 2.9.4, 2.10, and 2.11.3. I don't want to add a fourth fixture. Given that 2.11 has only been supported for about 10 months, I think we should replace the 2.11.3 fixture with a 2.12 fixture and continue testing 2.9 and 2.10
New Gerrit change created: https://git.eclipse.org/r/66648
Gerrit change https://git.eclipse.org/r/66648 was merged to [master]. Commit: http://git.eclipse.org/c/mylyn/org.eclipse.mylyn.reviews.git/commit/?id=f91ed1d2c19a6206b850aa52c4882416cead2d85
Frank, Jaxsun and I are having trouble getting Gerrit 2.12 to work. Since you've worked on the Puppet scripts before, do you have any idea what the problem might be? When trying to log in there's an error in the Gerrit log that says: bq. [2016-02-23 22:23:11,801] [HTTP-48] WARN org.eclipse.jetty.servlet.ServletHandler : /gerrit-2.12/login/ java.lang.IllegalStateException: Username cannot be changed. I noticed that in the output of the puppet job (http://ci.mylyn.org/job/mylyn-puppet-gerrit/200/console) there's an error "fatal: "--name" is not a valid option" but that seems to be unrelated. I fixed it by just removing "--name" from /org.eclipse.mylyn.gerrit.releng/modules/gerrit/manifests/site.pp (gerrit create-project --help says this is the right thing to do), but that didn't change the error about the username.
New Gerrit change created: https://git.eclipse.org/r/67296
(In reply to Eclipse Genie from comment #5) > New Gerrit change created: https://git.eclipse.org/r/67296 The syntax of create-project was changed in 2.12 (see https://gerrit-review.googlesource.com/Documentation/cmd-create-project.html)
I ran the puppet job from your review but it didn't fix the problem: http://mylyn.org/gerrit-2.12/
New Gerrit change created: https://git.eclipse.org/r/68092
Gerrit 2.12.1 has been released. I tried provisioning that but it has the same problem.
I may have got this working. Based on a thread that Frank found (https://groups.google.com/forum/#!msg/repo-discuss/spxE88RiDfo/14l7Nt4RCwAJ) I thought that the error might be due to the login name "tests@mylyn.eclipse.org" not matching the username "tests." After doing the following I am able to login in the web UI; I'm running the tests now to see if this will work. sudo su tools cd /home/tools/gerrit/gerrit-2.12.1 bin/gerrit.sh stop /usr/bin/java -jar bin/gerrit.war gsql update account_external_ids set external_id = 'username:tests@mylyn.eclipse.org' where email_address = 'tests@mylyn.eclipse.org'; update account_external_ids set external_id = 'username:admin@mylyn.eclipse.org' where email_address = 'admin@mylyn.eclipse.org'; bin/gerrit.sh start
I pushed https://git.eclipse.org/r/#/c/68092/ to change the username and the create-project cal, ran the puppet job from the review, and ran http://ci.mylyn.org/job/mylyn-reviews-snapshot/1380/ but there are a lot of test failures. I was expecting the change to create-project to break 2.9 and 2.10 but 2.12 also has a lot of failures. But I still think changing the username will fix it - when I only made that change (without changing create-project) it reduced the number of failures from 70 to 58.
It seems that the username change causes create-project to fail: http://ci.mylyn.org/job/mylyn-puppet-gerrit/206/console. When I run puppet with only the create-project change I don't get that error.
Jaxsun or Frank, can you look into this?
yes I can look into this, thanks Sam and Frank for figuring out the username change issue.
Jaxsun, I found this in the console output [mNotice: /Stage[main]/Main/Gerrit::Defaultsites[gerrit]/Gerrit::Site[gerrit-2.12.1]/Exec[create project for gerrit-2.12.1]/returns: Warning: Permanently added '[localhost]:29121' (RSA) to the list of known hosts. [0m [mNotice: /Stage[main]/Main/Gerrit::Defaultsites[gerrit]/Gerrit::Site[gerrit-2.12.1]/Exec[create project for gerrit-2.12.1]/returns: Permission denied (publickey). [0m [1;31mError: ssh -p 29121 -i /home/tools/gerrit/gerrit-2.12.1/admin.id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no admin@localhost gerrit create-project --empty-commit org.eclipse.mylyn.test returned 255 instead of one of [0][0m [1;31mError: /Stage[main]/Main/Gerrit::Defaultsites[gerrit]/Gerrit::Site[gerrit-2.12.1]/Exec[create project for gerrit-2.12.1]/returns: change from notrun to 0 failed: ssh -p 29121 -i /home/tools/gerrit/gerrit-2.12.1/admin.id_rsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no admin@localhost gerrit create-project --empty-commit org.eclipse.mylyn.test returned 255 instead of one of [0][0m Without the change of the external_id we do not get the Permission denied error.
We probably need to generate a new key pair using the full username.
New Gerrit change created: https://git.eclipse.org/r/68398
I think I've gotten the provisioning with project creation working but the tests are another story, I've made some changes locally which should help some of the issues but most tests are failing. I am seeing a bunch of NPEs in the gerrit logs which is less than encouraging [2016-03-15 01:01:36,473] WARN org.eclipse.jetty.server.HttpChannel : /gerrit-2.10/org.eclipse.mylyn.test/git-receive-pack java.lang.NullPointerException at com.google.gerrit.pgm.http.jetty.HiddenErrorHandler.message(HiddenErrorHandler.java:68) at com.google.gerrit.pgm.http.jetty.HiddenErrorHandler.reply(HiddenErrorHandler.java:51) at com.google.gerrit.pgm.http.jetty.HiddenErrorHandler.handle(HiddenErrorHandler.java:45) at org.eclipse.jetty.server.Response.sendError(Response.java:589) at org.eclipse.jetty.server.Response.sendError(Response.java:547) so if it's trying to give some better feedback on what is wrong with the requests being made it's not able to. I am suspicious of this change where the usernames and emails have to be the same. I find it hard to believe this is unsupported with basic authentication. I will do some research to see if we need to provide something different. I did some manual testing and was able to commit and push to the gerrit server so it's not entirely broken, the provisioning appears to be working off of my latest review.
I am now convinced we don't want the usernames to be the same as the emails. I think there must be an issue with how we are modifying the account_external_ids table which is making it think that we have changed the username. I made a change and provisioned where we only inserted gerrit:useremail and not username:username and I got an error about being unable to authenticate instead of an error about changing the username. From my research the username:xxxx entry determines the SSH username, while the gerrit:yyyyyy entry determines the login name in the web UI. We must have some inconsistency between the account_external_ids table and some other table (or we're setting up the account_external_ids table incorrectly).
New Gerrit change created: https://git.eclipse.org/r/69868
New Gerrit change created: https://git.eclipse.org/r/70586
New Gerrit change created: https://git.eclipse.org/r/70597
+1 .. lack of Gerrit v2.12.1 is currently preventing us over on https://git.opendaylight.org/gerrit/#/dashboard/self from using Mylyn Gerrit (it fails with "Problem updating repository: Gerrit connection issue: Failed to obtain Gerrit configuration" for "Query type: All Open Changes", on an anonymous connection).
BTW: Will this work support Gerrit 2.12.x or specifically 2.12.1, only? Asking because https://git.opendaylight.org/gerrit/ is on 2.12.2. Perhaps worth to clarify more precisely by issue title, and in the Mylyn release notes when this will be released. PS: How does bug 465971 relate to this work?
when this was filed 2.12.2 was not released, we will work to support the latest gerrit version. Thanks for bringing that up Michael. This work is to set up a testing environment for gerrit 2.12.2, once that is done we will address any issues that prevent the connector from working with the new version. However bug 465971 will not necessarily be tackled immediately to support gerrit 2.12.
(In reply to comment #23) > +1 .. lack of Gerrit v2.12.1 is currently preventing us over on > https://git.opendaylight.org/gerrit/#/dashboard/self from using Mylyn Gerrit (it > fails with "Problem updating repository: Gerrit connection issue: Failed to > obtain Gerrit configuration" for "Query type: All Open Changes", on an anonymous > connection). That problem might actually be due to connecting anonymously and be unrelated to the Gerrit version. What happens if you enter credentials?
I've opened a bug with Gerrit after posing to their discussion group. https://groups.google.com/forum/#!topic/repo-discuss/fDScpvpTLSM https://code.google.com/p/gerrit/issues/detail?id=4077
>> on https://git.opendaylight.org/gerrit/#/dashboard/self it fails with >> "Problem updating repository: Gerrit connection issue: Failed to >> obtain Gerrit configuration" for "Query type: All Open Changes", on an anonymous >> connection). > That problem might actually be due to connecting anonymously and > be unrelated to the Gerrit version. What happens if you enter credentials? I just tried, even with credentials the same message appears for "Query type: All Open Changes". Note that the Validate Settings in the Properties for Task Repository work, as it responds with: "Authentication credentials are valid. Logged in as Michael Vorburger. Gerrit 2.12.2 has not been tested with this version of Mylyn. It may not be fully supported."
Gerrit 2.12.3 has been released.
I found the following https://github.com/cmoulliard/gerrit-create-adminuser-plugin and now try to get this integrated
review https://git.eclipse.org/r/#/c/76805/2 is the fixed version with docker support
It appears that some significant work may be needed to support newer versions of gerrit as the gerrit config has been removed entire and it's contents dispersed. I'm not exactly sure how much effort it would be to support this but it looks like it will not be trivial.
As this seems to be more work, how are the current plans to implement this? I see target milestone 2.12 - is there an eclipse project this is referring to? It does not fit for mylyn or mylyn.reviews
Hi Christian, this does fall under Mylyn Reviews, and 2.12 is the upcoming release. I am afraid however that this is going to be deferred from this release of Mylyn Reviews.
2.12.4 is released and there's an RC of 2.13 available.
thanks for the update. I was just wondering as the mylyn.reviews project page does not show any releases lately [1]. Seems planning for this project happens elsewhere. [1] https://projects.eclipse.org/projects/mylyn.reviews
ah I see, this is because the Mylyn sub projects no longer release individually, so those pages do not update. All the Mylyn projects are released together. Your confusion is understandable. https://projects.eclipse.org/projects/mylyn
(In reply to comment #32) > It appears that some significant work may be needed to support newer versions of > gerrit as the gerrit config has been removed entire and it's contents dispersed. > I'm not exactly sure how much effort it would be to support this but it looks > like it will not be trivial. It looks like we actually use very little of that config, so this might not be hard to fix. Here are the things we use: wildProject - we may not actually need this sshAddress - used for cloning DownloadScheme - used for anon access GitHttpUrl, ApprovalTypes, CommentLinks - we check for these but they are not present on our test servers or https://git.eclipse.org/r/#/, so the connector will work without them, at least for those servers By changing the client to tolerate a null gerritConfig, I am able to run a query successfully, although I get a login error trying to open the review.
There are 2 other things we scrape from the page that I forgot about: xsrfToken xGerritAuth These aren't actually part of the "config" but they are also missing in Gerrit 2.12. This probably explains the login errors when opening reviews.
(In reply to comment #39) > There are 2 other things we scrape from the page that I forgot about: > > xsrfToken > xGerritAuth > > These aren't actually part of the "config" but they are also missing in Gerrit > 2.12. This probably explains the login errors when opening reviews. Sam, how did you setup the Gerrit 2.12 (Gerrit 2.12.5) ? Did you use https://git.eclipse.org/r/#/c/67296/ ? Can try whether I can help here.
Frank, to get it working with that review, I also had to follow the steps in comment 10. So I ended up just using https://git.eclipse.org/r/#/c/68398/ instead.
(In reply to comment #39) > xsrfToken We can now get this from a cookie. > xGerritAuth I don't think this is needed anymore. It seems to have been replaced by the XSRF token. With these changes, it seems that the connector is basically working against 2.12, although I assume cloning will not work without getting the sshAddress.
It looks like it should be straightforward to get the clone URIs from the fetch info of a change, e.g. at https://git.eclipse.org/r/changes/82556?o=CURRENT_REVISION. This would mean we wouldn't need the sshdAddress or DownloadSchemes.
New Gerrit change created: https://git.eclipse.org/r/83063
Frank, would you like to pick this up? I'm going to leave it alone for now. I've pushed my WIP to 83063: 485981: [WIP] connector works with Gerrit 2.12 [If2a37c2d] https://git.eclipse.org/r/#/c/83063/
(In reply to comment #45) > Frank, would you like to pick this up? I'm going to leave it alone for now. I've > pushed my WIP to > > 83063: 485981: [WIP] connector works with Gerrit 2.12 [If2a37c2d] > https://git.eclipse.org/r/#/c/83063/ Sam, the WIP breaks the older versions of gerrit. GerritHarness.ensureOneReviewExists fail because the pushCommand returns org.eclipse.jgit.api.errors.TransportException: http://tests@localhost:2080/gerrit-2.12.3/org.eclipse.mylyn.test: 500 Server Error at org.eclipse.jgit.api.PushCommand.call(PushCommand.java:169) at org.eclipse.mylyn.gerrit.tests.support.GerritProject.commitAndPush(GerritProject.java:176) at org.eclipse.mylyn.gerrit.tests.support.GerritProject.commitAndPush(GerritProject.java:144) at org.eclipse.mylyn.gerrit.tests.support.GerritProject.commitAndPushFile(GerritProject.java:119) at org.eclipse.mylyn.gerrit.tests.support.GerritProject.commitAndPushFile(GerritProject.java:113) at org.eclipse.mylyn.gerrit.tests.support.GerritHarness.ensureOneReviewExists(GerritHarness.java:115) ... Any hints how I should continue? Are we sure that the gerrit-2.12.3 instance is correct? Did you try to work with this instance from command line?
I don't think it's the WIP that breaks the older versions (the connector is not used for pushing, JGit is). The tests fail because they use the tests@mylyn.eclipse.org username, but the changed puppet scripts set the username to tests. The WIP deals with the fact that the way we get the Gerrit config doesn't work in 2.12. It doesn't address provisioning at all. I have not been able to clone the 2.12 instance using the command line, but actually I am not able to clone any of the test servers. I get "ssh: connect to host mylyn.org port 29211: Bad file number" when doing git clone ssh://tests@lvps92-51-163-75.dedicated.hosteurope.de:29211/org.eclipse.mylyn.test So I think getting the server provisioned properly would be a useful next step.
(In reply to Sam Davis from comment #47) > > So I think getting the server provisioned properly would be a useful next > step. OK, I think we should use the current setup for the old instances (<2.12) and I add the changes for the new version. To make sure that the setup is fine I use a shell script with the following git commands. * git clone * git add * git commit * git push Is this OK or should I use more git commands?
That sounds great Frank.
New Gerrit change created: https://git.eclipse.org/r/83625
Created attachment 264977 [details] test.sh Here the test script that I use to verify the setup
I can push a new review with setup for 2.12.5. This review create a new gerrit instance and can be used from the browser and test.sh. But when I run org.eclipse.mylyn.gerrit.tests.core.client.GerritClientTest.testToReviewIdWithChangeId I get an internal error. [2016-11-01 02:14:40,507] [HTTP-54] WARN org.eclipse.jetty.servlet.ServletHandler : /gerrit-2.12.5/org.eclipse.mylyn.test/git-receive-pack java.lang.NullPointerException at com.google.gerrit.pgm.http.jetty.HiddenErrorHandler.message(HiddenErrorHandler.java:67) at com.google.gerrit.pgm.http.jetty.HiddenErrorHandler.reply(HiddenErrorHandler.java:53) at com.google.gerrit.pgm.http.jetty.HiddenErrorHandler.handle(HiddenErrorHandler.java:47) at org.eclipse.jetty.server.Response.sendError(Response.java:597) at javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:120) at com.google.gerrit.httpd.ProjectDigestFilter$Response.sendError(ProjectDigestFilter.java:321) at org.eclipse.jgit.http.server.ReceivePackServlet$Factory.doFilter(ReceivePackServlet.java:141) at org.eclipse.jgit.http.server.glue.UrlPipeline$Chain.doFilter(UrlPipeline.java:235) at org.eclipse.jgit.http.server.RepositoryFilter.doFilter(RepositoryFilter.java:151) at org.eclipse.jgit.http.server.glue.UrlPipeline$Chain.doFilter(UrlPipeline.java:235) at org.eclipse.jgit.http.server.NoCacheFilter.doFilter(NoCacheFilter.java:80) at org.eclipse.jgit.http.server.glue.UrlPipeline$Chain.doFilter(UrlPipeline.java:235) at org.eclipse.jgit.http.server.glue.UrlPipeline.service(UrlPipeline.java:215) at org.eclipse.jgit.http.server.glue.SuffixPipeline.service(SuffixPipeline.java:101) at org.eclipse.jgit.http.server.glue.MetaFilter.doFilter(MetaFilter.java:175) at org.eclipse.jgit.http.server.glue.MetaServlet.service(MetaServlet.java:133) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:287) at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:277) at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:182) at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) at com.google.gerrit.httpd.GetUserFilter.doFilter(GetUserFilter.java:82) at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:73) at com.google.gerrit.httpd.RunAsFilter.doFilter(RunAsFilter.java:117) at com.google.gerrit.httpd.ProjectDigestFilter.doFilter(ProjectDigestFilter.java:107) at com.google.gerrit.httpd.AllRequestFilter$FilterProxy$1.doFilter(AllRequestFilter.java:136) at com.google.gerrit.httpd.AllRequestFilter$FilterProxy.doFilter(AllRequestFilter.java:105) at com.google.gerrit.httpd.RequestContextFilter.doFilter(RequestContextFilter.java:75) at com.google.gerrit.pgm.http.jetty.ProjectQoSFilter.doFilter(ProjectQoSFilter.java:131) at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119) at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133) at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130) at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203) at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handleAsync(Server.java:549) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317) at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:261) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:745) [2016-11-01 02:14:40,510] [HTTP-54] ERROR com.google.gerrit.pgm.http.jetty.HiddenErrorHandler : Error in POST /gerrit-2.12.5/org.eclipse.mylyn.test/git-receive-pack java.lang.NullPointerException at com.google.gerrit.pgm.http.jetty.HiddenErrorHandler.message(HiddenErrorHandler.java:67) at com.google.gerrit.pgm.http.jetty.HiddenErrorHandler.reply(HiddenErrorHandler.java:53) at com.google.gerrit.pgm.http.jetty.HiddenErrorHandler.handle(HiddenErrorHandler.java:47) at org.eclipse.jetty.server.Response.sendError(Response.java:597) at javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:120) at com.google.gerrit.httpd.ProjectDigestFilter$Response.sendError(ProjectDigestFilter.java:321) at org.eclipse.jgit.http.server.ReceivePackServlet$Factory.doFilter(ReceivePackServlet.java:141) at org.eclipse.jgit.http.server.glue.UrlPipeline$Chain.doFilter(UrlPipeline.java:235) at org.eclipse.jgit.http.server.RepositoryFilter.doFilter(RepositoryFilter.java:151) at org.eclipse.jgit.http.server.glue.UrlPipeline$Chain.doFilter(UrlPipeline.java:235) at org.eclipse.jgit.http.server.NoCacheFilter.doFilter(NoCacheFilter.java:80) at org.eclipse.jgit.http.server.glue.UrlPipeline$Chain.doFilter(UrlPipeline.java:235) at org.eclipse.jgit.http.server.glue.UrlPipeline.service(UrlPipeline.java:215) at org.eclipse.jgit.http.server.glue.SuffixPipeline.service(SuffixPipeline.java:101) at org.eclipse.jgit.http.server.glue.MetaFilter.doFilter(MetaFilter.java:175) at org.eclipse.jgit.http.server.glue.MetaServlet.service(MetaServlet.java:133) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:287) at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:277) at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:182) at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) at com.google.gerrit.httpd.GetUserFilter.doFilter(GetUserFilter.java:82) at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:73) at com.google.gerrit.httpd.RunAsFilter.doFilter(RunAsFilter.java:117) at com.google.gerrit.httpd.ProjectDigestFilter.doFilter(ProjectDigestFilter.java:107) at com.google.gerrit.httpd.AllRequestFilter$FilterProxy$1.doFilter(AllRequestFilter.java:136) at com.google.gerrit.httpd.AllRequestFilter$FilterProxy.doFilter(AllRequestFilter.java:105) at com.google.gerrit.httpd.RequestContextFilter.doFilter(RequestContextFilter.java:75) at com.google.gerrit.pgm.http.jetty.ProjectQoSFilter.doFilter(ProjectQoSFilter.java:131) at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119) at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133) at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130) at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203) at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handleAsync(Server.java:549) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317) at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:261) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:745) [2016-11-01 02:14:40,510] [HTTP-54] WARN org.eclipse.jetty.server.HttpChannel : /gerrit-2.12.5/org.eclipse.mylyn.test/git-receive-pack java.lang.NullPointerException at com.google.gerrit.pgm.http.jetty.HiddenErrorHandler.message(HiddenErrorHandler.java:67) at com.google.gerrit.pgm.http.jetty.HiddenErrorHandler.reply(HiddenErrorHandler.java:53) at com.google.gerrit.pgm.http.jetty.HiddenErrorHandler.handle(HiddenErrorHandler.java:47) at org.eclipse.jetty.server.Response.sendError(Response.java:597) at org.eclipse.jetty.server.Response.sendError(Response.java:544) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:647) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handleAsync(Server.java:549) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:317) at org.eclipse.jetty.server.HttpChannel.run(HttpChannel.java:261) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:745) Thoughts?
With gerrit 2.12.5 we only have 13 out of 147 tests failed. But we also have WARN com.google.gerrit.server.account.AccountManager : Not changing already set username tests to tests@mylyn.eclipse.org in the server error log.
With the new patch set 3 of review https://git.eclipse.org/r/#/c/83063/ we only have 4 Error and 6 Failures. This patch set also includes the changes for the local test setup so I Abandon the following two reviews 67296 and 83625
Created attachment 266620 [details] AllGerritTests 2.12.7
That's great progress Frank! Are you able to use the connector to fetch changes from Gerrit 2.12? I think that relies on the clone URI that we were getting from the config that doesn't exist in 2.12.
(In reply to Sam Davis from comment #56) > That's great progress Frank! Are you able to use the connector to fetch > changes from Gerrit 2.12? I think that relies on the clone URI that we were > getting from the config that doesn't exist in 2.12. Actual I did not know why the unit tests fail. Any idea how we can fix this is welcome. I need a lot of time to find out why a test is OK in 2.10 but fail in 2.12.7 because I do not really know the Gerrit connector.
Frank, did you see my comment on the review? > h3. To Do > > * get the clone URIs from the fetch info of a change, e.g. at > https://git.eclipse.org/r/changes/82556?o=CURRENT_REVISION. Replacing > sshdAddress and DownloadSchemes from the config > * figure out if we need these things we were getting from the config: > ** wildProject � we may not actually need this > ** GitHttpUrl, ApprovalTypes, CommentLinks � we check for these but they are not > present on our test servers or https://git.eclipse.org/r/#/, so the connector > will work without them, at least for those servers > * get the tests working, or exclude the 2.12 fixture from the integration tests > * ensure these changes do not break support for older versions If you look at where GerritClient.gerritConfig is used, you can see where some things will break on 2.12 because the config is not present. I have run the puppet job from the review so that I can take a look at the test failures.
(In reply to Sam Davis from comment #58) > Frank, did you see my comment on the review? Yes but actual I did not have much time to work on nylon issues. Sorry. > > > h3. To Do > > > > * get the clone URIs from the fetch info of a change, e.g. at > > https://git.eclipse.org/r/changes/82556?o=CURRENT_REVISION. Replacing > > sshdAddress and DownloadSchemes from the config > > * figure out if we need these things we were getting from the config: > > ** wildProject � we may not actually need this > > ** GitHttpUrl, ApprovalTypes, CommentLinks � we check for these but they are not > > present on our test servers or https://git.eclipse.org/r/#/, so the connector > > will work without them, at least for those servers > > * get the tests working, or exclude the 2.12 fixture from the integration tests > > * ensure these changes do not break support for older versions > > If you look at where GerritClient.gerritConfig is used, you can see where > some things will break on 2.12 because the config is not present. Actual I found that we use only use com.google.gerrit.common.data.GerritConfig.getApprovalTypes() and com.google.gerrit.common.data.GerritConfig.setApprovalTypes(ApprovalTypes) form the unit tests > > I have run the puppet job from the review so that I can take a look at the > test failures. OK, that great. Maybe I can continue when I have more time next month.
Most of the errors and failures ab because we have a problem with org.eclipse.mylyn.internal.gerrit.core.client.GerritClient.getPatchScript(Key, Id, Id, IProgressMonitor) I use org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest.testFetchZippedBinaryContent() and get the following lines in the error_log. [2017-04-05 02:19:10,440] [HTTP-47] WARN com.google.gerrit.server.account.AccountManager : Not changing already set username tests to tests@mylyn.eclipse.org [2017-04-05 02:19:11,312] [HTTP-46] WARN /gerrit-2.12.7 : Error in patchScript java.lang.NullPointerException at com.google.gerrit.server.patch.PatchListKey.hashCode(PatchListKey.java:83) at com.google.common.base.Equivalence$Equals.doHash(Equivalence.java:341) at com.google.common.base.Equivalence.hash(Equivalence.java:106) at com.google.common.cache.LocalCache.hash(LocalCache.java:1843) at com.google.common.cache.LocalCache.get(LocalCache.java:3952) at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4790) at com.google.gerrit.server.cache.h2.H2CacheImpl.get(H2CacheImpl.java:134) at com.google.gerrit.server.patch.PatchListCacheImpl.get(PatchListCacheImpl.java:89) at com.google.gerrit.server.patch.PatchScriptFactory.listFor(PatchScriptFactory.java:191) at com.google.gerrit.server.patch.PatchScriptFactory.call(PatchScriptFactory.java:159) at com.google.gerrit.httpd.rpc.patch.PatchDetailServiceImpl$1.call(PatchDetailServiceImpl.java:64) at com.google.gerrit.httpd.rpc.patch.PatchDetailServiceImpl$1.call(PatchDetailServiceImpl.java:58) at com.google.gerrit.httpd.rpc.Handler.to(Handler.java:65) at com.google.gerrit.httpd.rpc.patch.PatchDetailServiceImpl.patchScript(PatchDetailServiceImpl.java:58) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.google.gwtjsonrpc.server.MethodHandle.invoke(MethodHandle.java:91) at com.google.gwtjsonrpc.server.JsonServlet.doService(JsonServlet.java:381) at com.google.gwtjsonrpc.server.JsonServlet.service(JsonServlet.java:267) at com.google.gerrit.httpd.rpc.GerritJsonServlet.service(GerritJsonServlet.java:120) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:287) at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:277) at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:182) at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85) at com.google.gerrit.httpd.GetUserFilter.doFilter(GetUserFilter.java:82) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:73) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) at com.google.gerrit.httpd.RunAsFilter.doFilter(RunAsFilter.java:117) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) at com.google.gerrit.httpd.AllRequestFilter$FilterProxy$1.doFilter(AllRequestFilter.java:136) at com.google.gerrit.httpd.AllRequestFilter$FilterProxy.doFilter(AllRequestFilter.java:105) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) at com.google.gerrit.httpd.RequestContextFilter.doFilter(RequestContextFilter.java:75) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:119) at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:133) at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:130) at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:203) at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:130) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:499) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:745) The source file at https://gerrit.googlesource.com/gerrit/+/stable-2.12/gerrit-server/src/main/java/com/google/gerrit/server/patch/PatchListKey.java shows that we did not pass a legal Whitespace parameter in the constructor. I do noth know how to fix this. Thoughts?
Do we ever construct PatchListKey in the Gerrit connector or is this a bug in Gerrit itself?
(In reply to comment #61) > Do we ever construct PatchListKey in the Gerrit connector or is this a bug in > Gerrit itself? We get the error in org.eclipse.mylyn.internal.gerrit.core.client.GerritClient.getPatchScript(Key, Id, Id, IProgressMonitor). PatchListKey is not created by mylyn code but maybe AccountDiffPreference or PatchDetailService. com.google.gerrit.extensions.client.DiffPreferencesInfo.Whitespace is the class that is null. In org.eclipse.mylyn.internal.gerrit.core.client.GerritClient.createAccountDiffPreference() we create com.google.gerrit.reviewdb.AccountDiffPreference.Whitespace
This in not fixed. So we can do the following next. * try to setup a Gerri with ldap and see if this is a http auth setup problem * try to change the setup so that wi install from source (and add some more trace output). Do you see other options?
With https://git.eclipse.org/r/#/c/83063/6/ we get the following results. /gerrit-2.9.4/ 0 out of 150 tests failed /gerrit-2.10/ 0 out of 150 tests failed /gerrit-2.11.10/ 0 out of 150 tests failed /gerrit-2.12.7/ Failures: testCompareBinaryContent(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest): Failed to retrieve PatchSetDetail 4 for 109 Errors: testGlobalCommentByGerrit(org.eclipse.mylyn.internal.gerrit.core.remote.GerritReviewRemoteFactoryTest): Cannot submit change: The change could not be submitted because it depends on change(s) [103], which could not be submitted because: 103: needs Code-Review; testBaseAndPatchSetComments(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest): Wrong # updates 0 Expected: is <1> but: was <0> testBaseComment(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest): Wrong # updates 0 Expected: is <1> but: was <0> testLoadPatchSet(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest): Internal Server Error testPatchSetComments(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest): Wrong # updates 0 Expected: is <1> but: was <0> testFetchZippedBinaryContent(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest): Wrong # updates 0 Expected: is <1> but: was <0> testPatchSetFiles(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest): Wrong # updates 0 Expected: is <1> but: was <0> testCompareRenamedImage(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest): Internal Server Error testFetchBinaryContent(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest): Wrong # updates 0 Expected: is <1> but: was <0> 10 out of 150 tests failed /gerrit-2.13.8/ Failures: testBaseAndPatchSetComments(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest): Failed to retrieve PatchSetDetail 2 for 105 testBaseComment(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest): Failed to retrieve PatchSetDetail 2 for 106 testCompareBinaryContent(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest): Failed to retrieve PatchSetDetail 1 for 108 testPatchSetComments(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest): Failed to retrieve PatchSetDetail 2 for 109 testCompareRenamedImage(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest): Failed to retrieve PatchSetDetail 2 for 113 testIsSupported(org.eclipse.mylyn.gerrit.tests.core.client.GerritCapabilitiesTest): null Errors: testNewChange(org.eclipse.mylyn.internal.gerrit.core.remote.GerritReviewRemoteFactoryTest): Expected: is <2> but: was <0> testReviewsWithSameChangeId(org.eclipse.mylyn.internal.gerrit.core.remote.GerritReviewRemoteFactoryTest): Expected: is <1> but: was <0> testParentCommit(org.eclipse.mylyn.internal.gerrit.core.remote.GerritReviewRemoteFactoryTest): Expected: is <1> but: was <0> testGlobalCommentByGerrit(org.eclipse.mylyn.internal.gerrit.core.remote.GerritReviewRemoteFactoryTest): Expected: is <1> but: was <0> testLoadPatchSet(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest): Expected: is <1> but: was <0> testFetchZippedBinaryContent(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest): Expected: is <2> but: was <0> testPatchSetFiles(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest): Expected: is <3> but: was <0> testFetchBinaryContent(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetRemoteFactoryTest): Expected: is <2> but: was <0> testUserHasNoAccessToAdminDraft(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetDetailRemoteFactoryTest): Expected: is <1> but: was <0> testUserHasAccessToAdminDraft(org.eclipse.mylyn.internal.gerrit.core.remote.PatchSetDetailRemoteFactoryTest): Expected: is <2> but: was <0> 16 out of 150 tests failed For 2.14 we need java 8. Next patchset can include the needed changes.
So until now we should stick to the Gerrit 2.11.3 ? By the way, I couldn't find any release notes with the officially supported Gerrit versions for a given EGerrit release. Where can I find this information? Thank you.
New Gerrit change created: https://git.eclipse.org/r/99069
New Gerrit change created: https://git.eclipse.org/r/99081
New Gerrit change created: https://git.eclipse.org/r/99324
New Gerrit change created: https://git.eclipse.org/r/99341
Gerrit change https://git.eclipse.org/r/99341 was merged to [master]. Commit: http://git.eclipse.org/c/mylyn/org.eclipse.mylyn.reviews.git/commit/?id=f2226b8d5cc80742913b3cea8497a0ec99c8bc16
Gerrit change https://git.eclipse.org/r/99069 was merged to [master]. Commit: http://git.eclipse.org/c/mylyn/org.eclipse.mylyn.reviews.git/commit/?id=3c5b71e8c12fc034f8e390c96feaf75bf7169dff
Is there any way to get mylyn to work with Eclipse's current gerrit (2.13.8), such that 1) Repos can be cloned and 2) gerrit patches can be reviewed? (Does latest nightly support this?) I'd be happy to test stuff.
1) is working for me, but 2) requires changes to the connector.
(In reply to Sam Davis from comment #73) > 1) is working for me, but 2) requires changes to the connector. How did you get 1) (cloning repos from gerrit) to work? I don't mean cloning of regular repos, I mean cloning git repos from gerrit list. If I understand correctly, 1) is implemented by: Mylyn Reviews Connector: Gerrit and Mylyn Reviews Connector: Gerrit Dashboard I have tried with newest versions: 2.14.0.N20170620-2044 However, when I press clone -> Gerrit -> Refresh, then I get: "Failed to obtain Gerrit configuration" ~I'm on Linux.
I get that error too but I am still able to select a repository from the list and clone it. Perhaps that's only because I set up this workspace before Gerrit was upgraded.
Is there any news on that topic ? We are now at Gerrit 2.14.4, will Eclipse Photon have a chance to catch up ?
I am not optimistic unless a contributor is willing to take this on.
*** Bug 502945 has been marked as a duplicate of this bug. ***
*** Bug 528375 has been marked as a duplicate of this bug. ***
see bug 528375 too. It looks like the official Eclipse Plugin Mylyn is not working with the used Gerrit version at Eclipse. How the eclipse developers are working with it? P.S.: I tried to dive in the code and understand how the Plugin is working, but now i have no time to continue. Should we switch to other (if available) solutions / plugins that are maintained @eclipse?
Gerrit change https://git.eclipse.org/r/99081 was merged to [master]. Commit: http://git.eclipse.org/c/mylyn/org.eclipse.mylyn.reviews.git/commit/?id=53469ec137a3d108e34b5618bec2b73d19994345
New Gerrit change created: https://git.eclipse.org/r/133227
New Gerrit change created: https://git.eclipse.org/r/133229
Gerrit change https://git.eclipse.org/r/133229 was merged to [master]. Commit: http://git.eclipse.org/c/mylyn/org.eclipse.mylyn.reviews.git/commit/?id=2c6de7dc0ee5d3b501df7b8c371ffe87d82c9f69
*** Bug 530595 has been marked as a duplicate of this bug. ***
Gerrit change https://git.eclipse.org/r/133227 was merged to [master]. Commit: http://git.eclipse.org/c/mylyn/org.eclipse.mylyn.reviews.git/commit/?id=688c1d99f908e26b1aa4f8c6adf9b3ced813796e