Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 431368

Summary: [CLA] Push commit refused because CLA reported signed-off but is valid
Product: Community Reporter: Francis Giraldeau <francis.giraldeau>
Component: GerritAssignee: Eclipse Webmaster <webmaster>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: denis.roy, thanh.ha
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
Patch failing to push to gerrit none

Description Francis Giraldeau CLA 2014-03-27 10:46:53 EDT
My commit is rejected by gerrit.

* The URL to push is ssh://fgiraldeauodl@git.eclipse.org:29418/linuxtools/org.eclipse.linuxtools.git
* My SSH key is uploaded and login test is working
* I signed the CLA
* I waited for the 1h delay that may affect signature verification
* I verified that the commit has change-id and signed-off-by
* The author info matches the CLA and my eclipse forge info

In the Contributor License Agreement Lookup Tool, there is a valid CLA on file for francis.giraldeau@gmail.com.

Here is the message:

[francis@blob org.eclipse.linuxtools]$ git push review
Counting objects: 56, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (17/17), done.
Writing objects: 100% (30/30), 7.10 KiB | 0 bytes/s, done.
Total 30 (delta 12), reused 0 (delta 0)
remote: Resolving deltas: 100% (12/12)
remote: Processing changes: refs: 1, done    
remote: ----------
remote: Reviewing commit: commit 39704b4b48ed40b07a9b8a3929cc550c8aef42f7 1395770199 ----sp
remote: Authored by: Francis Giraldeau <francis.giraldeau@gmail.com>
remote: 
remote: The author is not a committer on the project.
remote: error: The author does not have a current Contributor License Agreement (CLA) on file.
remote: 
remote: The author has "signed-off" on the contribution.
remote: Please see http://wiki.eclipse.org/CLA
To ssh://fgiraldeauodl@git.eclipse.org:29418/linuxtools/org.eclipse.linuxtools.git
 ! [remote rejected] HEAD -> refs/for/master (A Contributor License Agreement is required.)
error: failed to push some refs to 'ssh://fgiraldeauodl@git.eclipse.org:29418/linuxtools/org.eclipse.linuxtools.git'

Similar problem to:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=415072
https://bugs.eclipse.org/bugs/show_bug.cgi?id=422004

It seems that the problem is not solved. Thanks for your help.
Comment 1 Thanh Ha CLA 2014-03-27 11:46:40 EDT
Francis, are you sure you are only pushing exactly 1 new commit?

Might be worth running "gitk" or similar and confirming that you are only 1 commit ahead of origin/master.
Comment 2 Francis Giraldeau CLA 2014-03-27 12:13:43 EDT
I rebased just prior to try pushing, and I confirm that the problem is the same.
Comment 3 Thanh Ha CLA 2014-03-27 13:28:36 EDT
(In reply to Francis Giraldeau from comment #2)
> I rebased just prior to try pushing, and I confirm that the problem is the
> same.

Rebasing does not guarantee that you only have 1 commit though which is what I was hoping to confirm that you are only pushing exactly 1 new commit for review. There's a problem with the CLA check plugin that if another commit has incorrect CLA issues it could be masked by the last commit as the plugin only returns result of one commit.


I don't see any issues with your account in Gerrit or LDAP so I forced Gerrit to flush it's caches, can you check if that helped any?
Comment 4 Francis Giraldeau CLA 2014-03-27 14:03:18 EDT
I confirm that the cache flush fixed the issue, the commit was accepted.

We should consider a permanent fix, because there seems to be quite a few people affected by this problem. Why does the cache of CLA is not refreshed properly?

Thanks!
Comment 5 Denis Roy CLA 2014-03-27 14:12:09 EDT
I've changed Gerrit's 10 min. cache value to 30 seconds.

[cache "ldap_groups"]
        maxAge = 30 sec

I think we need to restart Gerrit for the change to take effect.
Comment 6 Thanh Ha CLA 2014-03-27 14:13:44 EDT
(In reply to Denis Roy from comment #5)
> I've changed Gerrit's 10 min. cache value to 30 seconds.
> 
> [cache "ldap_groups"]
>         maxAge = 30 sec
> 
> I think we need to restart Gerrit for the change to take effect.

Yes, that's right.
Comment 7 Francis Giraldeau CLA 2014-03-27 14:16:46 EDT
I signed the CLA and waited few hours, so I'm not sure how does the change from 10m to 30s is fixing the issue.
Comment 8 Denis Roy CLA 2014-03-27 14:19:03 EDT
hmmm... I wonder what other cache could be coming into play?
Comment 9 Francis Giraldeau CLA 2014-03-27 14:24:53 EDT
OMG I'm so sorry, I said that the bug is fixed, but I actually pushed to another server by mistake. Pushing to gerrit is still producing the same error (with the most up-to-date rebase).
Comment 10 Thanh Ha CLA 2014-03-27 14:56:16 EDT
(In reply to Francis Giraldeau from comment #9)
> OMG I'm so sorry, I said that the bug is fixed, but I actually pushed to
> another server by mistake. Pushing to gerrit is still producing the same
> error (with the most up-to-date rebase).

Can you attach a git-format-patch of your commit you are trying to push to this bug?
Comment 11 Francis Giraldeau CLA 2014-03-27 15:02:08 EDT
Created attachment 241343 [details]
Patch failing to push to gerrit

The patch is attached. In addition, here is the git configuration:

[remote "origin"]
        url = git://git.eclipse.org/gitroot/linuxtools/org.eclipse.linuxtools.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
[remote "review"]
        url = ssh://fgiraldeauodl@git.eclipse.org:29418/linuxtools/org.eclipse.linuxtools.git
        push = HEAD:refs/for/master
Comment 12 Thanh Ha CLA 2014-03-27 15:52:55 EDT
I'm seeing this in the Gerrit logs.

[2014-03-27 15:41:34,653] WARN  com.google.gerrit.server.auth.ldap.LdapRealm : Account francis.giraldeau@usherbrooke.ca not found, assuming empty group membership


Did you create your account originally with another email then changed it?
Comment 13 Francis Giraldeau CLA 2014-03-27 16:06:09 EDT
Yes it is the case, my previous email was francis.giraldeau@usherbrooke.ca and I changed it to francis.giraldeau@gmail.com
Comment 14 Thanh Ha CLA 2014-03-27 16:08:01 EDT
(In reply to Francis Giraldeau from comment #13)
> Yes it is the case, my previous email was francis.giraldeau@usherbrooke.ca
> and I changed it to francis.giraldeau@gmail.com

You should be able to push now. I figured out how to remove your old email from Gerrit's database and your account passes the CLA checker in Gerrit now.
Comment 15 Francis Giraldeau CLA 2014-03-27 16:18:08 EDT
Thanks, I confirm it works:

[francis@blob org.eclipse.linuxtools]$ git push review
Counting objects: 56, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (17/17), done.
Writing objects: 100% (30/30), 7.10 KiB | 0 bytes/s, done.
Total 30 (delta 12), reused 0 (delta 0)
remote: Resolving deltas: 100% (12/12)
remote: Processing changes: new: 1, refs: 1, done    
remote: ----------
remote: Reviewing commit: commit 7ed2c32bf6a144f29dc23dfe548f494bcdb6e05f 1395943017 ----sp
remote: Authored by: Francis Giraldeau <francis.giraldeau@gmail.com>
remote: 
remote: The author is not a committer on the project.
remote: The author has a current Contributor License Agreement (CLA) on file.
remote: The author has "signed-off" on the contribution.
remote: 
remote: This commit passes Eclipse validation.
remote: 
remote: New Changes:
remote:   https://git.eclipse.org/r/24026
remote: 
To ssh://fgiraldeauodl@git.eclipse.org:29418/linuxtools/org.eclipse.linuxtools.git
 * [new branch]      HEAD -> refs/for/master