Hi Julian,

For the transaction check in bdb.m4, Is there a way to use DB_AUTO_COMMIT that allows us get away without checking for it?

(I'm looking at this doc: http://www.sleepycat.com/docs/ref/upgrade. 4.4/autocommit.html)

Can we just set the DB_AUTO_COMMIT flag for each db operation?

If not, I would like to avoid populating the build directory with all the dbenv files when configure is run. For example I see these:

__db.001
__db.002
__db.003
__db.005
log.000000001

Also, HAVE_TROVE_TRANSACTION_SUPPORT seems too general. The check only verifies the use of DB_AUTO_COMMIT, which existed in previous releases, but was just used differently?

My preference is to not add #ifdef checks in the code unless really necessary, so I wouldn't add the HAVE_TROVE_TRANSACTION_SUPPORT #ifdef in the server-config.c. I think its safe to assume berkeley db supports transactions, (it looks like they've been supported in db long before the 4.x versions), and if it doesn't, the db open calls should fail and we can report the error. In other words, if the user requests transaction mode in the config file, don't check if their berkeley db supports it, just let the db calls fail with the correct error.

Those are the comments I have for now. I'm still walking through the patches.

-sam

On Jul 19, 2006, at 11:10 AM, Julian Martin Kunkel wrote:

Hi,
the attached patch adds a test for DB_AUTOCOMMIT to configure.
The patch includes all the previous patches to apply against the CVS version.

In case this transaction mode is usable the sync option can be set to
TroveMetaSync trans
In which the collection dbs do not sync and use transactions with the
autocommit flag. By default all dbs are opened with transaction mode (if available) and later reopened without, if syncing or nosyncing is desired.
Later we could add a coalesce functionality. The storage dbs stay in
transaction mode all the time.

Also this patch adds checks to make sure in case no syncing is set that the makro DBPF_DB_SYNC_IF_NECESSARY does not sync. Hopefully I got all the sync
spots in the code.

I think we should test the transaction mode on different systems to make sure
that the test and the implementation works.
Unfortunately there must be somewhere another deadlock in the code, but I will
look for it :)
I send the patches already that we could discuss about the modifications and
that you can try it out.

Julian
<trove.patch>
_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

_______________________________________________
Pvfs2-developers mailing list
[email protected]
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers

Reply via email to