[Pvfs2-developers] DB transaction patch
Sam Lang
slang at mcs.anl.gov
Thu Jul 20 11:35:37 EDT 2006
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
> Pvfs2-developers at beowulf-underground.org
> http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers
More information about the Pvfs2-developers
mailing list