K8sgerrit no such directory "/var/gerrit/tmp/java"

50 views
Skip to first unread message

Serena He

unread,
Aug 20, 2025, 8:44:03 AMAug 20
to Repo and Gerrit Discussion
Hi team,

I find an error with latest gerrit operator. The error message is attached at the bottom. I believe it's caused by default setting "-Djava.io.tmpdir=/var/gerrit/tmp/java" where "/var/gerrit/tmp/java" is missing. I manually create the directory in container, and it fixes the issue. There must be a more proper fix, like setting default tmpdir to /var/gerrit/tmp or creating the necessary directory in gerrit-init. Hope it makes sense.

Looking forward to your reply.

Best Regards,
Serena

[2025-08-19T10:48:12.086Z] [SSH git-receive-pack /*/*.git (user)] ERROR com.google.gerrit.server.git.receive.AsyncReceiveCommits : error while processing push java.util.concurrent.ExecutionException: com.google.gerrit.exceptions.StorageException: Can't insert change/patch set for */* Caused by: com.google.gerrit.exceptions.StorageException: Can't insert change/patch set for */*

        at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
        at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
        at com.google.gerrit.server.git.receive.AsyncReceiveCommits.preReceive(AsyncReceiveCommits.java:407)
        at com.google.gerrit.server.git.receive.AsyncReceiveCommits.lambda$asHook$0(AsyncReceiveCommits.java:351)
        at org.eclipse.jgit.transport.ReceivePack.service(ReceivePack.java:2268)
        at org.eclipse.jgit.transport.ReceivePack.receive(ReceivePack.java:2182)
        at com.google.gerrit.sshd.commands.Receive.runImpl(Receive.java:98)
        at com.google.gerrit.sshd.AbstractGitCommand.service(AbstractGitCommand.java:109)
        at com.google.gerrit.sshd.AbstractGitCommand$1.run(AbstractGitCommand.java:74)
        at com.google.gerrit.sshd.BaseCommand$TaskThunk.run(BaseCommand.java:492)
        at com.google.gerrit.server.logging.LoggingContextAwareRunnable.run(LoggingContextAwareRunnable.java:113)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
        at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:675)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: com.google.gerrit.exceptions.StorageException: Can't insert change/patch set for */*
        at com.google.gerrit.server.git.receive.ReceiveCommits.insertChangesAndPatchSets(ReceiveCommits.java:1064)
        at com.google.gerrit.server.git.receive.ReceiveCommits.processCommandsUnsafe(ReceiveCommits.java:807)
        at com.google.gerrit.server.git.receive.ReceiveCommits.processCommands(ReceiveCommits.java:691)
        at com.google.gerrit.server.git.receive.AsyncReceiveCommits.lambda$preReceive$2(AsyncReceiveCommits.java:386)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at com.google.gerrit.server.util.RequestScopePropagator.lambda$cleanup$1(RequestScopePropagator.java:186)
        at com.google.gerrit.server.util.RequestScopePropagator.lambda$context$0(RequestScopePropagator.java:174)
        at com.google.gerrit.server.util.ThreadLocalRequestScopePropagator.lambda$wrapImpl$0(ThreadLocalRequestScopePropagator.java:45)
        at com.google.gerrit.server.util.RequestScopePropagator$1.call(RequestScopePropagator.java:85)
        at com.google.gerrit.server.util.RequestScopePropagator$2.run(RequestScopePropagator.java:116)
        ... 8 more
Caused by: com.google.gerrit.extensions.restapi.RestApiException: Error inserting change/patchset
        at com.google.gerrit.extensions.restapi.RestApiException.wrap(RestApiException.java:25)
        at com.google.gerrit.server.git.receive.ReceiveCommits.asRestApiException(ReceiveCommits.java:326)
        at com.google.gerrit.server.git.receive.ReceiveCommits.insertChangesAndPatchSets(ReceiveCommits.java:1142)
        at com.google.gerrit.server.git.receive.ReceiveCommits.insertChangesAndPatchSets(ReceiveCommits.java:1045)
        ... 18 more
Caused by: com.google.gerrit.server.update.UpdateException: java.io.IOException: No such file or directory
        at com.google.gerrit.server.update.BatchUpdate.executeUpdateRepo(BatchUpdate.java:665)
        at com.google.gerrit.server.update.BatchUpdate.execute(BatchUpdate.java:156)
        at com.google.gerrit.server.update.BatchUpdate.execute(BatchUpdate.java:488)
        at com.google.gerrit.server.git.receive.ReceiveCommits.insertChangesAndPatchSets(ReceiveCommits.java:1140)
        ... 19 more
Caused by: java.io.IOException: No such file or directory
        at java.base/java.io.UnixFileSystem.createFileExclusively(Native Method)
        at java.base/java.io.File.createTempFile(File.java:2129)
        at org.eclipse.jgit.util.TemporaryBuffer$LocalFile.overflow(TemporaryBuffer.java:459)
        at org.eclipse.jgit.util.TemporaryBuffer.switchToOverflow(TemporaryBuffer.java:364)
        at org.eclipse.jgit.util.TemporaryBuffer.reachedInCoreLimit(TemporaryBuffer.java:359)
        at org.eclipse.jgit.util.TemporaryBuffer.write(TemporaryBuffer.java:113)
        at org.eclipse.jgit.merge.EolAwareOutputStream.write(EolAwareOutputStream.java:93)
        at org.eclipse.jgit.diff.RawText.writeLine(RawText.java:151)
        at org.eclipse.jgit.merge.MergeFormatterPass.writeLine(MergeFormatterPass.java:123)
        at org.eclipse.jgit.merge.MergeFormatterPass.formatMerge(MergeFormatterPass.java:67)
        at org.eclipse.jgit.merge.MergeFormatter.formatMerge(MergeFormatter.java:80)
        at org.eclipse.jgit.merge.ResolveMerger.doMerge(ResolveMerger.java:1597)
        at org.eclipse.jgit.merge.ResolveMerger.updateIndex(ResolveMerger.java:1531)
        at org.eclipse.jgit.merge.ResolveMerger.processEntry(ResolveMerger.java:1326)
        at org.eclipse.jgit.merge.ResolveMerger.mergeTreeWalk(ResolveMerger.java:1896)
        at org.eclipse.jgit.merge.ResolveMerger.mergeTrees(ResolveMerger.java:1846)
        at org.eclipse.jgit.merge.ResolveMerger.mergeImpl(ResolveMerger.java:910)
        at org.eclipse.jgit.merge.Merger.merge(Merger.java:233)
        at org.eclipse.jgit.merge.Merger.merge(Merger.java:186)
        at org.eclipse.jgit.merge.ThreeWayMerger.merge(ThreeWayMerger.java:96)
        at com.google.gerrit.server.patch.AutoMerger.createAutoMergeCommit(AutoMerger.java:242)
        at com.google.gerrit.server.patch.AutoMerger.createAutoMergeCommit(AutoMerger.java:202)
        at com.google.gerrit.server.patch.AutoMerger.createAutoMergeCommitIfNecessary(AutoMerger.java:186)
        at com.google.gerrit.server.change.ChangeInserter.updateRepo(ChangeInserter.java:437)
        at com.google.gerrit.server.update.BatchUpdate.executeUpdateRepo(BatchUpdate.java:645)
        ... 22 more

Thomas Dräbing

unread,
Aug 20, 2025, 9:45:50 AMAug 20
to Serena He, Repo and Gerrit Discussion
Hi Serena,

I have tried to reproduce it. It looks like it works fine, when using the HA setup with multiple nodes, but the directory is not being created when using only a single node. Not sure why. I will prepare a change that will create the directory during initialization, just in case.

Best,
Thomas

--
--
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 visit https://groups.google.com/d/msgid/repo-discuss/bd8428a1-bbb0-4e4e-a6bc-49c6a2814818n%40googlegroups.com.

Thomas Dräbing

unread,
Aug 20, 2025, 10:01:25 AMAug 20
to Serena He, Repo and Gerrit Discussion
On Wed, 20 Aug 2025 at 15:45, Thomas Dräbing <thomas....@gmail.com> wrote:
Hi Serena,

I have tried to reproduce it. It looks like it works fine, when using the HA setup with multiple nodes, but the directory is not being created when using only a single node. Not sure why. I will prepare a change that will create the directory during initialization, just in case.

Serena He

unread,
Aug 21, 2025, 6:36:45 AMAug 21
to Repo and Gerrit Discussion
Thank you for the quick fix!
Reply all
Reply to author
Forward
0 new messages