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].
_______________________________________________