cancel
Showing results for 
Search instead for 
Did you mean: 

Crystal Report process hangs till the large Crystal reports get rendered

Former Member
0 Kudos

Hi

I am using SAP Crystal Runtime Engine (for .NET 4.0 - version 13.0.1.220) for ASP.NET(C#) web service. When a report is requested from client, this service finds the rpt file, loads data and send back to the client.

Recently I came across with a situation where I need to wait to get a small report rendered, until the ongoing long-running reports finish rendering.

For testing purposes, I created a view in database which delays 2 minutes to return data, and referred that view from the report. So that, the report delays 2 minutes to get rendered after requested. I opened 10 clients, ran the long-running report from each at once (means 10 long running requests) and when they are processing, the 11th request with the "small" report gets hung for 2 minutes, i.e. till those large reports get rendered. (The "small" report gets rendered normally within seconds.)

I came across with some forum posts where setting the Maximum Job Limit to 9999, and dispose\close all the disposable objects, which weren't helpful. My customer's case is bit more critical since he faces the issue with three long-running reports. Can anyone help me to understand what is the limitation here, how to overcome and any other infromation which maybe helpful?

Thank you in advance.

- Manulak Dissanayake

Accepted Solutions (1)

Accepted Solutions (1)

former_member183750
Active Contributor
0 Kudos

I believe the issue is that CR is limited to three CPL (Concurrent Processor License). E.g.; you can fire off three reports, the 4th report will wait until one of the first three is completed and thus a license is freed up. We used to throw a message in the event viewer:

A Crystal Reports job was delayed x second waiting for a free license to become available.

(Not sure if we do this anymore as there were complaints that we sent too many messages to the Event Viewer.)

Thus, if you sent one or two long running reports for processing and then a short report, the short report should be able to grab on of the available licenses, get processed and sent to the printer.

The Crystal Reports Server is a more scalable solution allowing for 10s of CPLs, but it is a more pricey solution. See SME Free Trials | SME Software | SAP or check with sales (866-681-3435) (http://www.sap.com/contactsap/directory/index.epx).

You may want to consider threading. But even then the short report may have to be sent to a different printer as you don't know the status of the long running report (e.g.; Is it processing or is it being sent to the printer spool, has it started to print? etc.). If the long report is printing, you can not interrupt the print (not via CR APIs anyhow) and I don't think you'd want to in any case as you'd have the short report inserted within the long report...(?).

- Ludek

Senior Support Engineer AGS Product Support, Global Support Center Canada

Follow us on Twitter

Former Member
0 Kudos

Hi Ludek, thank you for the quick response and the helpful answer.

So this is a limitation with CPL then. But I don't see any error message thrown to client in the above situation. Maybe they've controlled sending errors to client as you mentioned.

[I didn't get your last question completely, but I am using this web service to render rpts to the client and not to print. I am talking about separate reports hence cannot embed the short report as a subreport too]

I have some questions here,

- But, I reproduced the issue with a test report which runs for 2 mins, and I had to run 10 reports to get the next one waiting. So, how can I apply "limitation with 3 CPLs" to this situation?

- As you mentioned, it is more pricey for me to upgrade the server to such new solution. Do you think I can't get rid of this limitation by changing the logic in current implementation? Maybe by hosting few IIS services and load balance through them?

- Doesn't the newest release of SAP Crystal Runtime have a fix\solution for this?

- Do you have any KBA or an official document which describes this limitation with CPL and "processing job limit"? Please let me know how to have them.

Thank you.

former_member183750
Active Contributor
0 Kudos

But I don't see any error message thrown

There really is no error as such. E.g.; nothing has gone wrong. You've got three + reports being processed taking up the CPU, the subsequent reports are waiting for the next available license. All's good, thus no errors.


I am using this web service to render rpts to the client and not to print.

It does not matter if you are viewing the reports, exporting or printing. The same behavior will occur. E.g.; your fast report, if submitted when 3 CPLs are used up will not be rendered until a CPL become available.


- But, I reproduced the issue with a test report which runs for 2 mins, and I had to run 10 reports to get the next one waiting. So, how can I apply "limitation with 3 CPLs" to this situation?

Sorry, don't understand,,,


- As you mentioned, it is more pricey for me to upgrade the server to such new solution. Do you think I can't get rid of this limitation by changing the logic in current implementation? Maybe by hosting few IIS services and load balance through them?

Well, yes web farms are a possibility. You'd have use sticky sessions. But again, you'd have to ensure that your short report does not go to a server that is already busy processing 3 long running reports. Not sure how you'd do that(?).


- Doesn't the newest release of SAP Crystal Runtime have a fix\solution for this?

This is not a bug. This is a by design product limitation. E.g.; that is why there are more scalable products such as CR Server and BO / BI. E.g.; you get what you pay for ...


- Do you have any KBA or an official document which describes this limitation with CPL and "processing job limit"?

I have one better:

Crystal Reports Maximum Report Processing Jobs ... | SCN

Other resources:

Crystal Reports 2008 Component Engine Scalability | SCN

How Can I Optimize Scalability?

http://www.sdn.sap.com/irj/boc/go/portal/prtroot/docs/library/uuid/10b2ebf7-281f-2b10-ffa4-fced75b13...

http://www.sdn.sap.com/irj/boc/go/portal/prtroot/docs/library/uuid/d08468e2-a81d-2b10-faa9-9837f58ee...

- Ludek

Former Member
0 Kudos

Hi Ludek, I really appreciate your helpful descriptive answer.

What you didn't understand : When I ran 3 long running reports, the fourth quick report got rendered with no delay. So I continued increasing no. of long-running reports until I see the short report rendering gets delayed. I had to run 10 long running reports to get the short running report stuck. So, it looks like "Crystal Runtime can manage 10 CPLs at once" right?

By the way, I didn't see any statement relating to CPLs in the documents you've provided. Can you please let me have a location where CPL limitation is described?

Thank you for the resources and kind consideration.

Regards; Manulak

former_member183750
Active Contributor
0 Kudos

Hmmm, that is an interesting find. Quite unexpected. I can't explain that behavior. Not with CRVS. Let me think about it a bit...

Re. CPLs. The search string 'cpl crystal' brings up the following as the very 1st hit:

KBA: 1519938 - What is the Crystal Reports SDK Concurrent Processing License (CPL)?

- Ludek

Former Member
0 Kudos

Hi Ludek, Thanks for the details.

Do you have any idea why I need 10 reports to run simultaneously to hand the 11th report?

By the way, it looks like CR9 also had the CPL limitation, and the Max processing job limit introduced CR10.x onwards. Is there a way to track which limitation hits in different scenarios?

Regards;

-Manulak

former_member183750
Active Contributor
0 Kudos

Hi Manulak

As far as I know, the CPL and Max processing job limit were always the same from CR 9 onwards.

Not sure what you mean by: Is there a way to track which limitation hits in different scenarios?

Perhaps you're asking about the following?

KBA: 1588984 - How to detect number of CPLs being used by the Crystal Reports engine in a VS .NET applica...

Other than that, the number 10 / 11 just don't make any sense. E.g.; no ideas as to why... I really think it may be a good idea in this case to open a phone incident and talk to a support engineer. You can create phone incidents here:

Crystal Single Case Technical Support - SAP Business Objects US Online Store | SAP Online Store

- Ludek

Senior Support Engineer AGS Product Support, Global Support Center Canada

Follow us on Twitter

Former Member
0 Kudos

Hi Ludek

Thank you for the help and answers given through this. I will look forward to talk with your support service upon necessity.

Cheers..!

- Manulak

Answers (0)