ObjectWeb Consortium
Search ObjectWeb Mail Archive: 

Advanced Search - Powered by Google


Mail Archive Home | c-jdbc List | August 2004 Index

<--  Date Index  --> <--  Thread Index  -->

Re: [c-jdbc] Oracle and Mkcoi


Hi Diego,

Many thanks for your feedback.

1 Support for Blobs an Clobs

1.1  The ControllerResultSet returned  by execReadRequest,
execReadStoredProcedure and execWriteRequesWithKeys, may have objects of
Class Blob and Clob in the data ArrayList,  Mkcoi (mckoi.Clob,mckoi.Blob)
and Oracle (oracle.Clob, oracle.Blob) are not serializable, so this is a
problem for sending this info to the JDBC (C-JDBC) driver.
Yes you are right.

I have two options to resolve this Issue:
1.1.2 The first one could be make the C-JDBC (org.objectweb.cjdbc.driver )
Blob and Clob clases serializable and translate the driver dependant Blob
and Clobs into C-JDBC serializable Blobs and Clobs.
Yes, we could check if the returned object is an instanceOf Blob or Clob and then convert it to a C-JDBC Blob/Clob. This can be added in the ControllerResultSet.fetchData() method.

1.1.3 The second one is to replace the Blob or Clob objects by its contents
(byte[] or String), I just have implemented this one, and it seem to work
fine but I think the first option will be better.
That's basically what the constructor of C-JDBC Blob/Clob does, so both ways are fine.

1.2 I haven't test it  but it seems that in the recovery log table the value
for  blobs is not hex coded, this could be a issue to store arbitrary binary
data.
Once the request is sent to the load balancer, the Blob has been encoded in the request and we store in the recovery log the exact request that is executed so that should work fine (encoding process is done priori reaching the recovery log).

1.3 It seems that the blobs values are inlined in the sql stament stored in
the recovery lo table, I think that may be some extra considerations to take
care regarding on how big a sql statement could be.
This is why we display SQL statements in their short form in the logs. Currently the whole Blob/Clob has to fit in memory, it is not possible to pipe streams from the client application to the database through C-JDBC (and few JDBC drivers implements streaming anyway).

2 Troubles enabling a previously disable backend

2.1 BeginTask
                Must do a cm.getConnection instead of a
cm.retrieveConnection
                I resolved this yesterday and noted today same solution
posted to the cvs head.
Yes, we didn't use this task before but started transactions lazily instead but it was not correct in some cases.

2.2 Thread deadlocks
                Between RequestManager.enableBackendFromChecpoint() and
BackendWorkerThread.run(). I have a test case that's always produce a dead
lock. I have made a model that correct this deadlocks and I'm recodind parts
of the RequestManager, Tasks and BackendWorkerThread to test the solutions.
We are interested by this one. We can follow up on the c-jdbc-commits@xxxxxxxxxxxxx mailing list for implementation issues if you wish.

3.  Testing environment
I'm setting a testing environment for Oracle and  Mkcoi. I have read the
Developer Guide, do you have some aditional guidelines to doit.
Not really, you can probably use the existing regression test suite and replace HSQL with your databases to perform the tests. Don't hesitate to contact Nicolas on the mailing list for any issue related to the test suite, he is the guy !

4  How can I send you my contributions. I just fill my registration form for
objectweb.org.  I have the code for the Clob,Blob issue (section 1.1) The
solution for the deadlocks (section 2.2) should be a more extensive work
could you please consider me for a cvs write access.
Yes, we defintely grant CVS write access to contributors ! You must register on the ObjectWeb Forge and send me your login name so that I can add you to the developer list. If you already read the developer guide you have probably already checked our coding conventions. If you use eclipse, directly import the settings and the code will be formatted the right way and the proper code warnings will be issued.

Many thanks for your contributions,
Emmanuel

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature



<--  Date Index  --> <--  Thread Index  -->

Reply via email to:

Powered by MHonArc.

Copyright © 1999-2005, ObjectWeb Consortium | contact | webmaster.