Partial Save not really saving the file.

Issue #978 resolved
Mike Wannamaker created an issue

I have two files, a test file and a regular class. The test is failing. So I fix the test class with the new correct result. However another class was changed also and an error was introduced in it. I command-S save it, and it starts deploying both files. I comes back saying that is successfully saved the test file but didn't save the other file.

However if I run the failing test, it still shows failing with the previous incorrect value. So even though it said it successfully saved the file it actually didn't.

The screenshot shows the intellij windows, showing it did a partial save and that the test still fails.

Comments (13)

  1. Scott Wells repo owner

    Mike, can you enable debug logging for metadata deployment, reproduce the issue, and attach the resulting log here? It looks to me like the API used for deployment is reporting something that's not actually true, but I'd like to confirm that.

  2. Scott Wells repo owner

    Mike, the attached log doesn't include a deployment. Can you reproduce the issue with debug logging enabled and provide the log that includes the deployment activity? I can also try to reproduce it on my side over the weekend and see what's going on.

  3. Mike Wannamaker reporter

    I added these debug parameters

    com.illuminatedcloud.intellij.builder.IlluminatedCloudSaveAllAction com.illuminatedcloud.intellij.builder.ForceComBuilder com.illuminatedcloud.intellij.builder.ForceComBuilderUtil com.illuminatedcloud.intellij.builder.ForceComMetadataApiDeployer com.illuminatedcloud.intellij.builder.ForceComSfdxDeployer com.illuminatedcloud.intellij.builder.ForceComToolingApiDeployer com.illuminatedcloud.intellij.builder.ForceComBuildFailureAnnotator com.illuminatedcloud.util.VariableLengthPollingInterval

    If you follow my scenario I can reproduce everytime.

  4. Scott Wells repo owner

    I've successfully reproduced the behavior where what is being reported by the API as a partially-successful deployment via the Tooling API hasn't actually made any changes to the server. I'm 90+% sure this is a regression in the Tooling API, so I've contacted to Salesforce to see what might be going on. I'll keep you posted here as to how that shakes out. Assuming that partial commits are no longer working properly (assuming they ever were), I'll plan to treat a partially failed Tooling API deployment as a completely failed Tooling API deployment from a state tracking perspective so that subsequent incremental deployments work properly.

  5. Scott Wells repo owner

    Delivered a fix/workaround in 1.8.3.3 and 2.0.2.6. If/when I hear from Salesforce that this is a regression and/or unexpected behavior AND they change it to allow partial commits of Tooling API metadata containers, I'll restore the original behavior. Until then this should fix the issue with status tracking for partially successful Tooling API deployments.

  6. Log in to comment