Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

If LFS disabled in GitLab project, svn operations fail if fileLfs enabled #348

Open
wehall opened this issue Apr 30, 2020 · 1 comment
Open
Labels
bug gitlab GitLab integration lfs LFS support

Comments

@wehall
Copy link

wehall commented Apr 30, 2020

With LFS disabled in project settings and !fileLfs enabled in git-as-svn, svn operations fail with "403 Forbidden" while listing LFS locks:

2020-04-30T09:55:56,042  WARN [SvnServer-thread-2] (CommitCmd.java:654) - Exception during in cmd close-edit
ru.bozaro.gitlfs.client.exceptions.ForbiddenException: https://git.isis.vanderbilt.edu/ehall/plain-html.git/info/lfs/locks?refspec=master - 403 (Forbidden)
        at ru.bozaro.gitlfs.client.Client.doRequest(Client.java:132) ~[gitlfs-client-0.16.0.jar:?]
        at ru.bozaro.gitlfs.client.Client.lambda$listLocks$10(Client.java:429) ~[gitlfs-client-0.16.0.jar:?]
        at ru.bozaro.gitlfs.client.Client.doWork(Client.java:93) ~[gitlfs-client-0.16.0.jar:?]
        at ru.bozaro.gitlfs.client.Client.listLocks(Client.java:429) ~[gitlfs-client-0.16.0.jar:?]
        at svnserver.ext.gitlfs.storage.network.LfsHttpStorage.getLocks(LfsHttpStorage.java:124) ~[git-as-svn.jar:?]
        at svnserver.ext.gitlfs.storage.network.LfsHttpStorage.getLocks(LfsHttpStorage.java:228) ~[git-as-svn.jar:?]
        at svnserver.repository.git.GitWriter$GitCommitBuilder.checkLock(GitWriter.java:281) ~[git-as-svn.jar:?]
        at svnserver.server.command.CommitCmd$EditorPipeline.lambda$checkLock$10(CommitCmd.java:596) ~[git-as-svn.jar:?]
        at svnserver.server.command.CommitCmd$EditorPipeline.updateDir(CommitCmd.java:566) ~[git-as-svn.jar:?]
        at svnserver.server.command.CommitCmd$EditorPipeline.lambda$closeEdit$7(CommitCmd.java:527) ~[git-as-svn.jar:?]
        at svnserver.repository.git.GitRepository.wrapLock(GitRepository.java:130) ~[git-as-svn.jar:?]
        at svnserver.repository.git.GitRepository.wrapLockWrite(GitRepository.java:121) ~[git-as-svn.jar:?]
        at svnserver.server.command.CommitCmd$EditorPipeline.closeEdit(CommitCmd.java:521) ~[git-as-svn.jar:?]
        at svnserver.server.command.LambdaCmd.process(LambdaCmd.java:40) ~[git-as-svn.jar:?]
        at svnserver.server.command.CommitCmd$EditorPipeline.editorCommand(CommitCmd.java:649) ~[git-as-svn.jar:?]
        at svnserver.server.SvnServer.serveClient(SvnServer.java:246) ~[git-as-svn.jar:?]
at svnserver.server.SvnServer.lambda$run$1(SvnServer.java:208) ~[git-as-svn.jar:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_252]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_252]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
2020-04-30T09:55:56,043  WARN [SvnServer-thread-2] (SvnServer.java:212) - Exception:
ru.bozaro.gitlfs.client.exceptions.ForbiddenException: https://git.isis.vanderbilt.edu/ehall/plain-html.git/info/lfs/locks?refspec=master - 403 (Forbidden)
        at ru.bozaro.gitlfs.client.Client.doRequest(Client.java:132) ~[gitlfs-client-0.16.0.jar:?]
        at ru.bozaro.gitlfs.client.Client.lambda$listLocks$10(Client.java:429) ~[gitlfs-client-0.16.0.jar:?]
        at ru.bozaro.gitlfs.client.Client.doWork(Client.java:93) ~[gitlfs-client-0.16.0.jar:?]
        at ru.bozaro.gitlfs.client.Client.listLocks(Client.java:429) ~[gitlfs-client-0.16.0.jar:?]
        at svnserver.ext.gitlfs.storage.network.LfsHttpStorage.getLocks(LfsHttpStorage.java:124) ~[git-as-svn.jar:?]
        at svnserver.ext.gitlfs.storage.network.LfsHttpStorage.getLocks(LfsHttpStorage.java:228) ~[git-as-svn.jar:?]
        at svnserver.repository.git.GitWriter$GitCommitBuilder.checkLock(GitWriter.java:281) ~[git-as-svn.jar:?]
        at svnserver.server.command.CommitCmd$EditorPipeline.lambda$checkLock$10(CommitCmd.java:596) ~[git-as-svn.jar:?]
        at svnserver.server.command.CommitCmd$EditorPipeline.updateDir(CommitCmd.java:566) ~[git-as-svn.jar:?]
        at svnserver.server.command.CommitCmd$EditorPipeline.lambda$closeEdit$7(CommitCmd.java:527) ~[git-as-svn.jar:?]
        at svnserver.repository.git.GitRepository.wrapLock(GitRepository.java:130) ~[git-as-svn.jar:?]
        at svnserver.repository.git.GitRepository.wrapLockWrite(GitRepository.java:121) ~[git-as-svn.jar:?]
        at svnserver.server.command.CommitCmd$EditorPipeline.closeEdit(CommitCmd.java:521) ~[git-as-svn.jar:?]
        at svnserver.server.command.LambdaCmd.process(LambdaCmd.java:40) ~[git-as-svn.jar:?]
        at svnserver.server.command.CommitCmd$EditorPipeline.editorCommand(CommitCmd.java:649) ~[git-as-svn.jar:?]
        at svnserver.server.SvnServer.serveClient(SvnServer.java:246) ~[git-as-svn.jar:?]
        at svnserver.server.SvnServer.lambda$run$1(SvnServer.java:208) ~[git-as-svn.jar:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_252]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_252]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
@slonopotamus slonopotamus added gitlab GitLab integration bug labels Apr 30, 2020
@slonopotamus
Copy link
Collaborator

slonopotamus commented May 1, 2020

We can handle this case by checking whether LFS is enabled for particular repo via GitLab API. Just need to add some caching to avoid too many requests.

@slonopotamus slonopotamus added the lfs LFS support label May 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug gitlab GitLab integration lfs LFS support
Projects
None yet
Development

No branches or pull requests

2 participants