Long generating OST

Issue #828 new
Patryk Organa created an issue

Much longer than in 1.x

Comments (6)

  1. Scott Wells repo owner

    Hmmmm...I just verified and there are very few differences in the OST implementation between IC1 and IC2. Now, having said that, when is the last time you generated an OST in IC1? When the new Apex compiler was rolled out, Salesforce introduced (or rather exposed) a regression that caused me to have to change the way IC queries custom Apex classes to be performed in serial rather than in parallel. Otherwise key information is silently discarded in the API response. My guess is that you're seeing this behavior for the first time after regenerating OSTs for IC2 but it would have been the same in IC1.

    Even so, let's get some times if you don't mind just in case there are performance regressions in IC2. You can enable debug logging for OST generation as documented here:

    http://www.illuminatedcloud.com/support/debuglogging

    No need to add the trace line. It's EXTREMELY verbose, and the other entries will provide adequate timing information. Please turn that on and regenerate an OST, then provide the relevant log excerpt for review. I'll see if something is taking longer than is expected from that info.

    Thanks!

  2. Matt Addy

    Hi Scott,

    We're experiencing this as well. I'll provide the logs ASAP.

    2:16 PM Retrieval Complete: Retrieved 1007 components from xxx in 2m 8s 443ms with status SUCCEEDED.
    
    2:33 PM Invalid configuration for module 'xxx'
                    Module 'xxx': The following must be configured properly:
                    module has an out-of-date offline symbol table
    
                    Full resolution of these items may require multiple steps.
                    Resolve  Ignore (show balloon)
    
    2:33 PM Complete: Offline symbol table generated for xxx.
    

    With 1.x, it took a few minutes. Now its taking 15+ minutes.

  3. Scott Wells repo owner

    Yeah, please do, Matt. I looked at the OST generation stuff and there aren't any differences in what gets called in IC1 vs. IC2 (that I could see). The main issue is the inability to get symbol tables for custom classes in parallel since the new Apex compiler rollout. However, if there is something different causing this slowdown in IC2, before/after logs would be really useful so I could compare the times. I don't know if you still have a recent build of IC1 installed somewhere, but if you could get logs for OST gen in IC1 vs. IC2 and provide them, I can almost certainly address the underlying issue quickly. Thanks!

  4. Scott Wells repo owner

    Doug, there's really not. The primary reason being that in order to know which custom Apex types, SObjects/fields, etc., to include in the OST generation would require a full analysis of the existing source. It's not impossible, but it's not something that IC does right now. I'd be curious to see the timings of this OST generation so I know where the time is going. Do you mind generating a debug log with OST generation enable for debug logging (http://www.illuminatedcloud.com/support/debuglogging)?

  5. Log in to comment