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鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
Help! I'm randomly getting '410 Gone: editDeleted' errors. What's going on? #629
Comments
After adding the workaround also, the build still fails randomly with the same error :( |
@ponsuyambu what version of GPP are you using? |
@SUPERCILEX we are getting this error on 2.5.0 too. We upload 1 flavor with 3 ABI splits + universal APK, hence 4 errors:
|
@technoir42 I'm confused, what tasks are you running? If it's just one flavor, it should only be a single task which makes a conflict impossible. |
We are running just one task |
@technoir42 Hmmm, does this error happen every time you try and run the task? My guess is that you just have some bad state left over, but I don't understand why GPP wouldn't clean up after itself. Try running |
I don't think some old state could be the reason because we are uploading from CI while doing a clean build with disabled build cache. We just integrated this plugin and the very first upload failed with an error. |
Gotya, then something's got to be wrong with the setup (I just checked and am able to upload splits). I can't really help you without knowing the state of the project. Are all the |
I've been frequently seeing this error message when uploading a single app bundle from my CI server, with 2.4.2 and 2.5 versions of the plug-in. (Also using Gradle 5.6.4 and AGP 3.5.2). I do use a build cache, but I doubt that's the issue because re-triggering the build with no code changes will eventually succeed (sometimes it takes more than one try). The task I'm using is: What other info might be helpful to track this down? |
I got this error suddenly even when I run the lint task. I think running parallel jobs on the CI server causes problem. I never encountered this error when there is only one job is running on the code base. |
@ccjernigan @ponsuyambu Dang, I didn't know it was that bad. Just to clarify, the AndroidPublisher API has limitations GPP can't really get around. These are the cases GPP should handle:
These cases will not work:
If that's not the case for you, please share the output of a failed build run with |
I ended up here after seeing this issue in our build. Ours was because Jenkins CI was running 2 full builds in parallel and coincidentally GPP tasks were running at the same time. They were overriding each other. |
I thought that this change: #632 would fix the problem but I'm using v2.4.2 which includes that change and the problem still exists. Like tasomaniac, I can see the problem when running 2 Jenkins CI publishing builds on two different agents at the same time, publishing different apps to different tracks using the same google play credientials. |
Well aren't you a little speed demon! 馃槇 Unfortunately, you're going to have to sloooowwwww down. 馃洃
Ok, so what's happening? In brief, there is such a thing as builds that run too fast. Disappointing, I know.
Workaround
Add this to your
app/build.gradle.kts
file:This basically tells gradle that tasks whose name starts with
publish
cannot execute in parallel. Otherwise, they would step over each other trying to write to the same output directory,project/build/gpp-hack
.I want details!
Here's the full error message:
This error gets thrown because of a bug in the Android Publisher API: if two requests for an edit ID occur within a few seconds of each other, the same ID will be returned. This is a problem because GPP will then try to commit that edit twice or more鈥攐nce in the first task, another time in the other task, and so on. Commiting an edit is an atomic operation, meaning the edit gets deleted and can no longer be used. Hence, the other tasks unknowingly sharing the same edit ID will end up using an invalid edit ID.
Potential solutions
The text was updated successfully, but these errors were encountered: