BIRT and MongoDB 3.2 [message #1731982] |
Wed, 11 May 2016 08:28  |
Eclipse User |
|
|
|
Hi, all.
I'm trying to add BIRT Reports to existed MongoDB database(BIRT version 4.5 and 4.6 and MongoDB version are 3.2 with WiredTiger DB Engine). I can create DataSource and ping DB returns OK, but after I create DataSet from that DataSource, I get an empty list of collections. I found a bug in Bugzilla: https://bugs.eclipse.org/bugs/show_bug.cgi?id=475375 it describes a similar situation, but this bug still in New status and no changes in it.
So is there any success stories for BIRT with MongoDB 3.2 and WiredTiger DB Engine?
|
|
|
Re: BIRT and MongoDB 3.2 [message #1735153 is a reply to message #1731982] |
Wed, 15 June 2016 18:07   |
Eclipse User |
|
|
|
Hi, Serge!
I'm currently working with BIRT version 4.5 and MongoDB 3.2 with WiredTiger.
You're right that the build-in driver won't work (you will see empty collection list). The reason is actually a MongoDB driver version (2.10) that BIRT MongoDB data source uses - it's just too old to support WiredTiger. You need at least 2.14 driver version to work with WiredTiger using the 2.x driver branch. The java driver compatibility is documented on this page: https://docs.mongodb.com/manual/reference/method/db.getCollectionNames, where it says
Quote:
For MongoDB 3.0 deployments using the WiredTiger storage engine, if you run db.getCollectionNames() from a version of the mongo shell before 3.0 or a version of the driver prior to 3.0 compatible version, db.getCollectionNames() will return no data, even if there are existing collections. For more information, see WiredTiger and Driver Version Compatibility.
So, the solution to fix (or rather, to work around) a problem is to monkey-patch a org.eclipse.orbit.mongodb_2.10.1.v20130422-1135 plugin. To do it I
- took it from 'plugins' folder in my Eclipse installation
- unpacked it
- removed e-signatures from manifests
- extracted a new (2.14) driver version inside it
- packed it back to a jar with the same name and dropped it back to plugin folder
- then clean up a plugin cache (remove everything from 'configuration' folder in you Eclipse, except for 'org.eclipse.equinox.simpleconfigurator', 'org.eclipse.update' and 'config' files and folders)
The proper fix would be to upload a newer driver to Eclipse Orbit, and reference an updated version in BIRT MongoDB datasource, I hope BIRT maintainers would find time for this small fix.
Let me know if you have any questions on implementing the solution above.
Hope this helps.
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.07436 seconds