4. Migrating from C-JDBC to Sequoia

The C-JDBC name had to be changed due to Sun?s trademark of JDBC. Therefore, C-JDBC now becomes Sequoia. Sequoia is the continuation of C-JDBC and builds upon the same code base, so the migration should be straightforward for current users.

4.1. What is new with Sequoia?

Sequoia is now backed by a team of 8 full-time engineers working on improving the technology and supporting the community. Our mission is to build industrial quality open source technology. Among the new major open source additions you will find a C++ API and an ODBC driver for non-Java clients as well as a powerful Eclipse plug-in for the management console. The core C-JDBC technology is also greatly improved with a complete redesign of transaction scheduling for a better write parallelism, along with an upcoming, completely rewritten documentation.

4.1.1. Licensing

C-JDBC is distributed under an LGPL open source license. While we like the spirit of the license and we think that an open source community can only grow if we contribute modifications back to the community, the LGPL is hard to enforce in practice and it is not always well understood by users who confuse it with the GPL. Therefore, the contributors and INRIA ,who is the main copyright holder, have agreed to re-license the code under an Apache version 2 license. This will ease code re-use and facilitate contributions for everybody in the community.

You might wonder why we have setup a new portal? The reason is mainly to offer a better support infrastructure to the community. Continuent.org projects uses a newer version of GForge and integrates JIRA for issue tracking. With JIRA, a more comfortable and flexible system, you can watch the progress of issues, vote on their resolution, see the project roadmap and so on. On Continuent.org, it is also much more flexible to start or host new projects related to the C-JDBC/Sequoia technology. We can easily host more external contributions or projects related to the technology. Don't hesitate to send your contributions! The current projects on Continuent.org are (we are very much in the tree names for Continuent projects!):

  • Sequoia: the continuation of the C-JDBC project including the JDBC driver, core controller, text management console, documentation, ...

  • Hedera: a replacement for Tribe that provides a more modular wrapping of group communications so that you have more choices than just JGroups. Other group communication libraries such as Appia are already available with Hedera.

  • Carob : a C++ client library and API that implements the C-JDBC/Sequoia protocol with the controller and an ODBC driver for Sequoia

  • Oak : the Eclipse plug-in that replaces the obsolete C-JDBC Swing management console

  • Appia: Appia is a layered communication framework implemented by the University of Lisbon and providing extended configuration and programming possibilities. Appia is composed by (1) a core that is used to compose protocols and (2) a set of protocols that provide group communication, ordering guarantees, atomic broadcast, among other properties.

4.1.2.1. C-JDBC and Sequoia

So what will happen with C-JDBC? We are committed to support the technology and we will continue to support the community either through c-jdbc@objectweb.org or sequoia@continuent.org. The C-JDBC LGPL code will remain on ObjectWeb and the Sequoia APLv2 code will be on Continuent. Bugs reported on either side will be backported in best effort mode as we always did.

4.2. Migrating your C-JDBC configuration to Sequoia

Here are the steps to migrate your configuration from C-JDBC 2.0.2 to Sequoia 2.2:

  1. Copy your controller.xml file from the C-JDBC config/controller directory to Sequoia config/controller directory

  2. Rename all instances of "C-JDBC" to "SEQUOIA". Be sure to update DOCTYPE

  3. Copy all virtual database configuration files from the C-JDBC config/virtualdatabase directory to Sequoia config/virtualdatabase directory

  4. Rename all instances of "C-JDBC" to "SEQUOIA". Be sure to update DOCTYPE

  5. Update the path of the backupers from org.objectweb.cjdbc.controller.backup.OctopusBackuper to org.continuent.sequoia.controller.backup.backupers.OctopusBackuper

  6. If using Distribution, add <MessageTimeouts/>

  7. Copy contents of drivers directory (except c-jdbc-driver.jar)

  8. Any manual changes to jgroups.xml should now be made to total-token.xml