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