Deployment is not working - Not sure why

Issue #453 resolved
jrattanpal created an issue

I created new project, synced all data (classes, pages etc). Then I created new class, Vf page, lc component. WHen I save, it tries to deploy those but nothing is happening.

In the org, in Deployment status, I do see that there is deployment trying to happen but it seems salesforce keeps waiting for "Payload". I let one run long enough and it failed with "missing package.xml" error.

I am not sure if I missed any thing or need to configure something. This is blocking me. Can you please suggest?

Comments (8)

  1. jrattanpal reporter

    Seems like, it's happening on new components. If I create those components in dev console and then change those in IDE and save again, then those deploy successfully. Strange

  2. Scott Wells repo owner

    I see one canceled deployment:

    2016-11-02 17:44:23,447 [2116105]  DEBUG - er.ForceComMetadataApiDeployer - Processing the deployment result. 
    2016-11-02 17:44:23,447 [2116105]   INFO - er.ForceComMetadataApiDeployer - Deployment status = CANCELED 
    

    and one deployment of a single Apex class (AccountController.cls) that's occurring via the metadata API. That deployment is going on for a long time based on the logged polling (which isn't complete in the provided log), but that just means that Salesforce hasn't completed the deployment. There have been extremely long-running metadata API deployments lately and Salesforce has been looking into that. They've been asking users to log cases with support providing the org ID so they can investigate these slow deployment times.

    While it won't help with all metadata types, you should definitely configure IC to use the Tooling API when possible. It's not as subject to these long deployments as the metadata API. You can configure that in the IC Validation and Deployment settings screen by checking all Prefer Tooling API for options.

  3. jrattanpal reporter

    Ok thanks. For cancelled, i had done that as it was just waiting.

    ANd success happened after I manually created class in dev console and then tried to save again. Then it worked fine. Same with VF page; didn't work before but worked after I manually created it via Dev Console.

    I'll change to Tooling API then.

    Thanks

    -- Jaswinder Rattanpal www.rattanpal.com

  4. jrattanpal reporter

    I checked and "Prefer Tooling API" is already selected for all types (Apex, VF, LIghtning etc)

    -- Jaswinder Rattanpal www.rattanpal.com

  5. Scott Wells repo owner

    Yeah, I can explain what happened here. You created a new class in IC, and IC saw two files, the .cls file and the .cls-meta.xml file. That caused it to use the metadata API for the deployment to create the metadata instead of the tooling API. I'm going to fix that bug this evening so that it won't count meta.xml files when deciding whether it can/should use the tooling API. Anyway, because the metadata API was used, you hit one of these long-running async deployments (that's what I see in the log). You then created the class in Developer Console which did use the tooling API and was therefore fast, and when you came back to IC and updated the file, it also used the tooling API.

    So I'll be fixing the issue that causes the metadata API to be used when the tooling API could/should be used. However, if you continue to see long deployment times via the metadata API, you really should file a support case with Salesforce to look into it. They're definitely trying to address those as they're reported.

  6. jrattanpal reporter

    Thanks Scott! That makes sense.

    As for deployment issue, yes, keeping close eye on the that fix

    -- Jaswinder Rattanpal www.rattanpal.com

  7. Scott Wells repo owner

    These changes have gone into the last couple of releases. Please let me know if you see this issue again.

  8. Log in to comment