Bug 618659 - bundle upload does not work when using embedded H2 database
Summary: bundle upload does not work when using embedded H2 database
Status: CLOSED CURRENTRELEASE
Alias: None
Product: RHQ Project
Classification: Other
Component: Provisioning
Version: 3.0.0
Hardware: All
OS: All
low
high vote
Target Milestone: ---
: ---
Assignee: Jay Shaughnessy
QA Contact: Rajan Timaniya
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-07-27 13:41 UTC by John Mazzitelli
Modified: 2013-09-02 07:23 UTC (History)
2 users (show)

(edit)
Clone Of:
(edit)
Last Closed: 2013-09-02 07:23:56 UTC


Attachments (Terms of Use)

Description John Mazzitelli 2010-07-27 13:41:55 UTC
install RHQ with the embedded H2 database option. try to upload a bundle distribution file and you get an exception. We haven't done any H2 testing in a while so it doesn't surprise me this is broken. I heard that uploading just the recipe and following the create wizard to individually unload the bundle files works around this problem - but it is unknown what other bundle-related activities fail on H2.

Comment 1 John Mazzitelli 2010-07-27 14:45:47 UTC
I think H2 is trying to tell us something :)

ERROR [ContentManagerBean] An error occurred while updating Blob with stream for PackageBits[10001], Feature not supported: LOB update [50100-117]
ERROR [STDERR] org.h2.jdbc.JdbcSQLException: Feature not supported: LOB update [50100-117]
ERROR [STDERR] 	at org.h2.message.Message.getSQLException(Message.java:105)
ERROR [STDERR] 	at org.h2.message.Message.getSQLException(Message.java:116)
ERROR [STDERR] 	at org.h2.message.Message.getSQLException(Message.java:75)
ERROR [STDERR] 	at org.h2.message.Message.getUnsupportedException(Message.java:161)
ERROR [STDERR] 	at org.h2.jdbc.JdbcBlob.setBinaryStream(JdbcBlob.java:173)
ERROR [STDERR] 	at org.rhq.enterprise.server.content.ContentManagerBean.updateBlobStream(ContentManagerBean.java:1672)
ERROR [STDERR] 	at org.rhq.enterprise.server.content.ContentManagerBean.loadPackageBits(ContentManagerBean.java:1614)
ERROR [STDERR] 	at org.rhq.enterprise.server.content.ContentManagerBean.createPackageVersion(ContentManagerBean.java:1241)

Comment 2 John Mazzitelli 2010-07-27 15:18:53 UTC
see this thread:

http://groups.google.com/group/h2-database/browse_thread/thread/96a2d8ad8a527c6b/3fd9379b4375aa8b

specifically the email dated in May of 2010:

"Yes, that's true, this is not supported yet... Unfortunately I
can't tell you when it will be implemented. I'm afraid it's unlikely
that it will be implemented this year."

Therefore, if you use H2 with RHQ, you will not be able to use provisioning. This really only affects demos and testing because H2 is not one of our supported DBs in production.

Comment 3 Jay Shaughnessy 2010-08-06 02:49:10 UTC
Fix commit: 0ffb52081be378fcdcbbec84aea534a65969fe2d

Add H2 specific handling that avoids streaming blob update and instead uses byte[] logic.  Of course, not good for large data but that should be ok for H2 use in demos etc.  This can be removed if/when H2 adds the required support.

This seems to fix the bundle issue but the changes are actually at the PackageVersion handling, which should be applicable to other content-related use cases as well.

Comment 4 Rajan Timaniya 2010-10-18 12:24:47 UTC
Verified on RHQ-Master build #418
(http://hudson-qe.rhq.rdu.redhat.com:8080/view/RHQ/job/ci-rhq-master/418/)

Installed RHQ on H2DB
Created new bundle (using upload bundle)

Observation:
Bundle upload works fine with embedded H2 database.

Comment 5 Heiko W. Rupp 2013-09-02 07:23:56 UTC
Bulk closing of issues that were VERIFIED, had no target release and where the status changed more than a year ago.


Note You need to log in before you can comment on or make changes to this bug.