Can CopyStorm Create Detailed Salesforce Backup Debug Information?

There are a number of situations where you may want to review Salesforce backup debug logs from CopyStorm — usually this is because something is “wrong” with the Salesforce infrastructure and the problem needs to be narrowed down enough to encourage Salesforce support to rapidly take ownership. Here are a few examples Capstorm has encountered:

  • A customer had a table where a query would always time out — even when a single row was selected. The problem was a formula column causing problems with the Salesforce infrastructure. Using CopyStorm’s debug information a sample query exhibiting the behavior (even in the Salesforce Workbench) was quickly found:
    • SELECT id, customFormulaColumnName FROM Contact LIMIT 1
  • A customer had a handful of records in a table where the SOAP API provided invalid XML. CopyStorm’s debug tools gave a trace of the request and response envelopes sent to/from Salesforce. In this case the problem was caused by security middleware that was rewriting part of the response from Salesforce.
  • A customer had a table where every query would return a Salesforce UNKNOWN_EXCEPTION exception. CopyStorm’s debug tools identified the problem query and a short time in Workbench crafted a two column query that reproduced the problem every time.
  • A customer had a table where a query on several records would return a Salesforce UNKNOWN_EXCEPTION exception, though most records could be queried. CopyStorm’s debug tools isolated the records and queries and allowed something short to be given to Salesforce support:
    • SELECT id, customColumn WHERE id IN (‘……’)

How to View the SOQL Generated by CopyStorm

To view the SOQL generated by CopyStorm, run CopyStorm in command line mode with the “-debug” flag.

  • CopyStorm.bat -debug -run myFile.copyStorm
  • sh CopyStorm.sh -debug -run myFile.copyStorm

That’s it — you will see the SOQL statements in the command line window.

How to View the SOAP Request/Response Packets Generated by CopyStorm

To capture the SOAP generated by CopyStorm, run CopyStorm in command line mode with the “-apiTraceFile” parameter.

Note: The “-apiTraceFile” flag ALWAYS takes a file name as an argument (this is good because the SOAP envelopes tend to be large).

  • CopyStorm.bat -apiTraceFile mytrace.txt -run myFile.copyStorm
  • sh CopyStorm.sh -apiTraceFile mytrace.txt -run myFile.copyStorm