Jump to content
We've recently updated our Privacy Statement, available here ×

Reports do not get created when scheduled


vinvar

Recommended Posts

Hello All,

 

I am actually working on a project for a company that uses JasperServer 2.1 in Linux environment. It is part of our customers requirement to generate 19 reports whould contain a wide content of data from Server utilizations to sales figures. There is a large amount of data that is reported. Few of the Reports( PDF format ) run into several thousands of pages. We encountered a major hurdle during testing. When we scheduled JasperServer to generate all the 19 reports at the same time, we observe that some of them do not get generated. However all the reports get generated without any problem when run manually.

 

We went through the internet and found the following two potential solutions.

 

1.) Modifying the js.quartz.properties file at /opt/jasperserver-2.1/apache-tomcat/webapps/jasperserver/WEB-INF/js.quartz.properties

 

org.quartz.scheduler.instanceName=JasperServerScheduler

org.quartz.threadPool.threadCount=2

org.quartz.threadPool.threadPriority=3

 

org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate

 

change the threadCount to 25

 

2.) Change the applicationContext.xml file

 

<bean id="dataSourceObjectPoolFactory" class="org.apache.commons.pool.impl.GenericObjectPoolFactory">

<constructor-arg type="org.apache.commons.pool.PoolableObjectFactory"><null/></constructor-arg>

<constructor-arg type="int" value="5"/>

</bean>

 

should be changed to ‘25’( Since we need 19 Reports ).

 

Unfortunately both solutions have not worked.

 

I am also providing the characteristics of the DB server as observed from mysql SUN Dashboard.

 

1.) The number of row accesses shoots upto 120,000 average rows per second from a near zero.

2.) Row writes goes upto 28,000 from a near zero.

3.) CPU utilization goes upto 35% from a near zero.

 

One final piece of information, the following is the error in the Catalina.out file

 

[Catalina.out log]

16:00:58,069 ERROR ReportExecutionJob, JasperServerScheduler_Worker-20:208 - java.lang.NullPointerException

java.lang.NullPointerException

 

Kindl advise on what further action we need to take as this error is hampering our confidence and progress.

Link to comment
Share on other sites

  • Replies 5
  • Created
  • Last Reply

Top Posters In This Topic

  • 5 months later...

Has anyone been able to solve this issue?

 

Here is the rundown on our current situation:

We have a production server where our clients can view their reports from the web and schedule their own email reports. This was working just fine until about a month or so ago.

We also have a development server for internal testing purposes (both servers running Glassfish as the application server by the way) that has an identical configuration as the production server. This server is able to generate the scheduled reports and send them the way they should.

Both servers are accessing the same jasperserver and its repositories, so I doubt that it could be a 'permissions' issue. I also haven't changed the js.quartz.properties file nor the applicationContext.xml file simply because, like I said, our development server is able to generate and send the reports without a hitch.

So.... With all that said.... Has anyone been able to resolve this issue? Please let me know! Thanks!

 

Link to comment
Share on other sites

Were you seeing any exceptions?

 

In the original post, the thread count for Quartz was increased. This would allow more scheduled reports to run at once. Of course, this requires more server CPU and memory.

 

Increasing the number of connections for a JDBC report data source will allow more reports to run at once, but it should not effect whether the reports run. If there are more reports asking for connections from the pool (which is automatically created for a JDBC report data source) than there are connections configured, then the reports will block waiting for a connection to come available.

 

We have used scheduling for 100s of reports a night in Jasper4Salesforce. You can have multiple servers running against 1 repository, and they will work out how to have no duplication of report runs, due to Quartz functionality.

 

Sherman

Jaspersoft

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...