[#3721] - JDBC driver installed, but displayed as "NOT INSTALLED"

Category:
Bug report
Priority:
Immediate
Status:
New
Project: Severity:
Trivial
Resolution:
Reopened
Component: Reproducibility:
Always
Assigned to:
0

Java version: 1.6
Application Server: Tested on both Tomcat 7.0 and Jboss EAP 6.1.
Installation method: WAR file.

I installed Jasper Report Server 5.6 on development machine through WAR file. I installed Oracle JDBC driver, Firebird JDBC driver ( http://www.firebirdsql.org/en/jdbc-driver/ ) and Teiid JDBC Driver ( http://sourceforge.net/projects/teiid/files/teiid/8.6/Final/ )

For oracle JDBC driver, there is no issue. But, for other JDBC driver that is originally not in the driver list, there is a problem after installation.

Here are the steps to reproduce the issue (for Firebird JDBC):

1. Download Firebird JDBC Driver from http://www.firebirdsql.org/en/jdbc-driver/ (I used version 2.2.4)
2. Unzip the JDBC driver to just any directory.
3. Log on to Jasper Report Server.
4. Add a JDBC data source.
5. Enter Name and Resource ID.
6. For JDBC Driver, choose "Other".
7. Enter the JDBC driver class name, URL, and other required information.
8. Click "Add Driver", then upload the JDBC driver "jaybird-full-2.2.4.jar".
9. If you click the "Upload" button, the driver will be uploaded but the dialog will not disappear, you have to click "cancel" to make the dialog disappear.
10. Test the connection. Connection passed.
11. Click "save" button.
12. Select the data source you just created, then click the "edit" button.
13. You will see the driver being displayed as "NOT INSTALLED", however the connection test will success.

As you can see from the attached screenshot "jdbc_not_installed.png", the connection test passed, but the driver was displayed as "NOT INSTALLED" even though it has been installed successfully.

AttachmentSize
Image icon jdbc_not_installed.png77.03 KB
v5.6
cshong87's picture
Joined: Aug 22 2013 - 11:12pm
Last seen: 5 months 1 day ago

13 Comments:

#1
  • Assigned:nobody»

Also, according to the log file, it seems like the following error occurred when I try to save the data source.

2014-07-04 15:24:47,864 ERROR DiskStorageFactory,connection%002edescriptions.data:495 - Disk Write of c30e0a59-523c-4c43-b5c0-419360fb4308 failed:
java.io.NotSerializableException: com.jaspersoft.jasperserver.remote.connection.ConnectionsManager$ConnectionDataPair
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.defaultWriteObject(ObjectOutputStream.java:422)
at net.sf.ehcache.Element.writeObject(Element.java:835)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:940)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
at net.sf.ehcache.util.MemoryEfficientByteArrayOutputStream.serialize(MemoryEfficientByteArrayOutputStream.java:97)
at net.sf.ehcache.store.disk.DiskStorageFactory.serializeElement(DiskStorageFactory.java:405)
at net.sf.ehcache.store.disk.DiskStorageFactory.write(DiskStorageFactory.java:384)
at net.sf.ehcache.store.disk.DiskStorageFactory$DiskWriteTask.call(DiskStorageFactory.java:485)
at net.sf.ehcache.store.disk.DiskStorageFactory$PersistentDiskWriteTask.call(DiskStorageFactory.java:1088)
at net.sf.ehcache.store.disk.DiskStorageFactory$PersistentDiskWriteTask.call(DiskStorageFactory.java:1072)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:662)

AttachmentSize
Binary Data jasperserver.log335.36 KB
#2
  • Priority:Normal» None
  • Severity:Minor» Trivial
  • Resolution:Open» Works as Designed
  • Status:New» Closed
  • Assigned:» anonymous

>Caused by: java.lang.OutOfMemoryError: PermGen space

Tbis is for filing bugs. Please don't post because you have problem with your setup.

#3
  • Resolution:Works as Designed» Reopened
  • Status:Closed» New

How can you think that the problem caused by OutOfMemoryError? I have solved the memory issue before I encounter this problem. Have you ever test before replying? I can confirm that the problem of JDBC driver displayed as "not installed" still exist after solving the outofmemory error. Please properly test the problem before replying to my bug report. Ok?

#4

I had tested with Jboss and Tomcat before I report this bug. I solved the memory issue before I face this issue. And yet you think it is related to my setup. I demand your explanation.

#5

To prove that this is not a setup issue. I undeployed the Jasper Report Server from Tomcat, then re-install it again with js-install-ce script. Then, I add the data source again, same thing happened.

This time, I uploaded a new Jasper Server log file and Tomcat's logs. All of them were zipped in a file. As you can see, no OutOfMemory error.

AttachmentSize
Package icon jasper_tomcat_logs.zip6.94 KB
#6
  • Priority:None» Normal
#7
  • Reproducibility:N/A» Always
#8

I've no experience with such JDBC drivers but, Have you tried to add them to Tomcat directly, without using the web installer? Try to put them in the directory $TOMCAT/lib/ , restart the server and see what happens.

About the exception "java.io.NotSerializableException: com.jaspersoft.jasperserver.remote.connection.ConnectionsManager$ConnectionDataPair", I'm using the PostgreSQL JDBC driver and am getting it too. The connection test seems to be OK though. I doubt that it's linked to your problem.

#9
  • Assigned:nobody»

As of Jasperserver 6.1, this issue still exist. This time, I am testing on a Jboss server. Developers, are you serious in fixing the bugs?

#10

Is anyone working on this bug? I am still facing this bug.

#11

Jasperserver 6.3 with neo4j-JDBC-driver: Using neo4j-driver version 3.1 works (3.0 is broken) but Jasperserver shows "not installed: org.neo4j.jdbc.Driver" in the data source view.

#12

Hi,

I am also facing same issue as Phoenix Hbase data source. I have been added all dependency jars in tomcat/webapps/applicat_name/WEB-INF/lib/ directory. but no luck

AttachmentSize
Image icon phoenixhbasedriverissue.png20.85 KB
#13
  • Priority:Normal» Immediate

I am also facing same issue while installing new jar for mysql data source through other option.

1. Add a JDBC data source.
2. For JDBC Driver, choose "Other".
3. Enter the JDBC driver class name, URL, and other required information. (Driver Name: com.mysql.cj.jdbc.Driver, Connector jar : mysql-connector-java-8.0.12.jar)
4. Click "Add Driver", then upload the JDBC driver "mysql-connector-java-8.0.12.jar".
5. If you click the "Upload" button, the driver will be uploaded.
6. Test the connection. Connection passed.
7. Click "save" button.
8. Select the data source you just created, then click the "edit" button.
9. You will see the driver being displayed as "NOT INSTALLED", however the connection test is success.

AttachmentSize
Image icon tibco_jaspersoft_edit_data_source.png69.88 KB
Feedback