My favorites | Sign in
Project Home Downloads Wiki Issues Source
New issue   Search
for
  Advanced search   Search tips   Subscriptions
Issue 3454: repos with git alternates not working
1 person starred this issue and may be notified of changes. Back to list
Status:  New
Owner:  ----


Sign in to add a comment
 
Reported by oswald.b...@gmx.de, Jun 25, 2015
Affected Version: 2.7 (jgit updated to 3.5.3)

i'm trying to make a gerrit setup where some repos are (restricted)
supersets of other repos (i gave up on restricted branches due to  Issue 1582 , which wasn't fixed properly, and a fix doesn't seem likely due to the inherent performance problems). to avoid duplicating all the shared data, i tried to use alternates. both cgit and jgit (3.5.3) are able to browse these repos. however, gerrit doesn't like them:

pull:

org.eclipse.jgit.errors.PackProtocolException: want 5f0e1d9ff657b455b991c6ac39e78cbb7d424a8b not valid
        at org.eclipse.jgit.transport.UploadPack.parseWants(UploadPack.java:1068)
        at org.eclipse.jgit.transport.UploadPack.processHaveLines(UploadPack.java:941)
        at org.eclipse.jgit.transport.UploadPack.negotiate(UploadPack.java:906)
        at org.eclipse.jgit.transport.UploadPack.service(UploadPack.java:689)
        at org.eclipse.jgit.transport.UploadPack.upload(UploadPack.java:628)
        at com.google.gerrit.sshd.commands.Upload.runImpl(Upload.java:57)
        at com.google.gerrit.sshd.AbstractGitCommand.service(AbstractGitCommand.java:101)
        at com.google.gerrit.sshd.AbstractGitCommand.access$000(AbstractGitCommand.java:32)
        at com.google.gerrit.sshd.AbstractGitCommand$1.run(AbstractGitCommand.java:70)
        at com.google.gerrit.sshd.BaseCommand$TaskThunk.run(BaseCommand.java:429)
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
        at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:353)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: org.eclipse.jgit.errors.MissingObjectException: Missing unknown 5f0e1d9ff657b455b991c6ac39e78cbb7d424a8b
        at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:148)
        at org.eclipse.jgit.lib.ObjectReader$1.open(ObjectReader.java:302)
        at org.eclipse.jgit.revwalk.RevWalk$2.next(RevWalk.java:951)
        at org.eclipse.jgit.transport.UploadPack.parseWants(UploadPack.java:1054)
        ... 18 more

push:

com.google.gerrit.sshd.BaseCommand$Failure: fatal: Unpack error, check server log
        at com.google.gerrit.sshd.commands.Receive.runImpl(Receive.java:159)
        at com.google.gerrit.sshd.AbstractGitCommand.service(AbstractGitCommand.java:101)
        at com.google.gerrit.sshd.AbstractGitCommand.access$000(AbstractGitCommand.java:32)
        at com.google.gerrit.sshd.AbstractGitCommand$1.run(AbstractGitCommand.java:70)
        at com.google.gerrit.sshd.BaseCommand$TaskThunk.run(BaseCommand.java:429)
        at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
        at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
        at java.util.concurrent.FutureTask.run(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(Unknown Source)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
        at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:353)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: Unpack error on project "qt-creator/tqtc-qt-creator":
  AdvertiseRefsHook: org.eclipse.jgit.transport.AdvertiseRefsHookChain@6a24f077class org.eclipse.jgit.transport.AdvertiseRefsHookChain
        
        at com.google.gerrit.sshd.commands.Receive.runImpl(Receive.java:158)
        ... 13 more
Caused by: org.eclipse.jgit.errors.UnpackException: Exception while parsing pack stream
        at org.eclipse.jgit.transport.ReceivePack.service(ReceivePack.java:239)
        at org.eclipse.jgit.transport.ReceivePack.receive(ReceivePack.java:160)
        at com.google.gerrit.sshd.commands.Receive.runImpl(Receive.java:100)
        ... 13 more
Caused by: org.eclipse.jgit.errors.MissingObjectException: Missing delta base 25fa7c48fd6a3b94e3d7ab1961f698404dc71b1a
        at org.eclipse.jgit.transport.PackParser.resolveDeltasWithExternalBases(PackParser.java:815)
        at org.eclipse.jgit.transport.PackParser.parse(PackParser.java:515)
        at org.eclipse.jgit.internal.storage.file.ObjectDirectoryPackParser.parse(ObjectDirectoryPackParser.java:194)
        at org.eclipse.jgit.transport.BaseReceivePack.receivePack(BaseReceivePack.java:1038)
        at org.eclipse.jgit.transport.BaseReceivePack.receivePackAndCheckConnectivity(BaseReceivePack.java:861)
        at org.eclipse.jgit.transport.ReceivePack.service(ReceivePack.java:191)
        ... 15 more

"detaching" the repos with "git repack -a" makes the problem go away.

this seems similar to Issue 491 (though it seems overcomplicated to the point where i can't tell whether it's actually the same).
Sign in to add a comment

Powered by Google Project Hosting