Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jgit-dev] AccessDeniedException in ObjectDirectory#insertUnpackedObject

Running Gerrit stable-3.0 modified to use JGit 5.7 (at the head of stable-5.7) I'm seeing ObjectDirectory#insertUnpackedObject fail with AccessDeniedException when attempting to move the temp file to the new object file.

This is happening consistently while running integration tests on an internal project, but unfortunately since it's a private project it means I can't share the test that reproduces it.  Essentially what it's doing is pushing a lot of changes, and then when Gerrit's internal batch of change ids is exceeded it tries to allocate a new batch which involves writing a blob to a specific ref; it's in this operation that it fails. See [1] and [2] on gerrit where I've added some debug logging in the related classes.

One thing I have found is that adding debug logs in ObjectDirectory#insertUnpackedObject causes it to work properly, so I wonder if there's some kind of timing issue going on.

Has anyone else seen similar issues in this area?

While I have been investigating this I found that the exception handling and logging in the insertUnpackedObject method doesn't make it easy to figure out what's going wrong.  I've pushed a couple of cleanup changes [3].

[1] https://gerrit-review.googlesource.com/c/gerrit/+/269910
[2] https://gerrit-review.googlesource.com/c/gerrit/+/269909
[3] https://git.eclipse.org/r/#/q/topic:ObjectDirectory-exception-handling



Back to the top