Author

Topic: Needed: calling db4.8 testers! (Read 2448 times)

legendary
Activity: 1658
Merit: 1001
January 10, 2011, 01:09:15 AM
#14
Nobody uses the logs as backup and transactions can be re-fetched from the network. The only example I can think of, is when the client itself does a transaction and the client dies before sending it to the network, that may be only present in the logs. But in that case the logs will not be deleted and bdb takes them up at restart.
member
Activity: 64
Merit: 10
January 10, 2011, 12:06:19 AM
#13
db4.8 logs are not backward compatible with 4.7. I wonder if bitcoin really needs the logs (sync db before shutdown should remove the need to keep them).

Well, logs of current transactions are there so that the database can be recovered in the event of an application crash. However, I think that BDB never deletes any logs by default, because the administrator may wish to backup the log files before removal to make database recovery possible even after a catastrophic failure, such as file system corruption.

To have them removed automatically, place set_flags DB_LOG_AUTOREMOVE directive in DB_CONFIG.
Note: If the log files are removed automatically, recovery after a catastrophic failure is likely to be impossible.
member
Activity: 64
Merit: 10
January 09, 2011, 10:56:55 PM
#12
So far everyone replying has been using a GNU/Linux distribution or FreeBSD.

Are there any windows/mac users out there?
member
Activity: 64
Merit: 10
January 09, 2011, 10:55:07 PM
#11
Using db4.8 already for some time here on Gentoo Linux. Never had any issues.

Same here. I started using Bitcoin in July 2010, and all that time I have used db 4.8, as it has been the latest stable version.

What operating system are you using?
hero member
Activity: 482
Merit: 501
January 09, 2011, 10:45:46 AM
#10
Build-unix.txt says:
Quote
You need Berkeley DB 4.7.  Don't use 4.8, the database/log0000* files are incompatible.

Possibly using 4.8 would not allow you to restore correctly in case of database corruption.

indeed, when i did a switchback from my build with bdb4.8 to the official build, i had to delete database/log* files in order for it to work.
that said, all the important bits (wallet) and the not-so-important bits (block chain and index) were just fine.

the testing is being done to see if there are any issues for switching the official build to 4.8 (in which case, there shouldn't be a reason for people to go back)
sr. member
Activity: 520
Merit: 253
555
January 09, 2011, 07:45:12 AM
#9
Using db4.8 already for some time here on Gentoo Linux. Never had any issues.

Same here. I started using Bitcoin in July 2010, and all that time I have used db 4.8, as it has been the latest stable version.
legendary
Activity: 1658
Merit: 1001
January 09, 2011, 02:36:06 AM
#8
I think it has to do with:

http://download.oracle.com/docs/cd/E17276_01/html/programmer_reference/changelog_4_8.html#id1655659

Database or Log File On-Disk Format Changes:

   1.  The log file format changed in 4.8.

db4.8 logs are not backward compatible with 4.7. I wonder if bitcoin really needs the logs (sync db before shutdown should remove the need to keep them).
hero member
Activity: 490
Merit: 511
My avatar pic says it all
January 08, 2011, 10:19:30 PM
#7
I can confirm that db4.7 and db4.8 work perfectly on FreeBSD. I have not tried switching db versions on active Bitcoin installations. I had suspected the file formats may be different.
sr. member
Activity: 288
Merit: 263
Firstbits.com/1davux
January 08, 2011, 09:22:33 PM
#6
I'm feeling uncomfortable here.  All this testing and wondering about the reason for a specific decision would be a lot easier if Bitcoin's author were a little more present in this kind of discussion, and/or if her/his decisions were more transparent in the first place, or even taken through an open discussion.  Satoshi hardly communicates at all – IMHO, Bitcoin really needs a more open process.
administrator
Activity: 5222
Merit: 13032
January 08, 2011, 08:37:43 PM
#5
Build-unix.txt says:
Quote
You need Berkeley DB 4.7.  Don't use 4.8, the database/log0000* files are incompatible.

Possibly using 4.8 would not allow you to restore correctly in case of database corruption.
hero member
Activity: 482
Merit: 501
January 08, 2011, 08:30:08 PM
#4
4.8 worked on ubuntu lucid (10.04) 32bit with no problems.
legendary
Activity: 1596
Merit: 1100
January 07, 2011, 07:34:32 PM
#3
db 4.8, 4.9 and 5.0 work here on Fedora.
legendary
Activity: 1658
Merit: 1001
January 07, 2011, 12:47:05 PM
#2
Using db4.8 already for some time here on Gentoo Linux. Never had any issues.
member
Activity: 64
Merit: 10
January 07, 2011, 12:33:09 PM
#1
The distributed binary of bitcoin is compiled against libdb4.7++. However, compiling it against libdb4.8++ seems to work fine,  at least in my tests on Debian. It seems that the FreeBSD people are also compiling against 4.8 (at least according to https://bitcointalksearch.org/topic/howto-compiling-bitcoin-v03-on-freebsd-727380-379), and I think it would be a worthwhile pursuit to find out if others are able to use this newer format.

If you are willing to test, I'm interested in hearing what your results are. If you are, you should be *very careful* with your wallet, because hey that is your money. Backup your wallet before you mess around. If you don't know how to backup your wallet, you shouldn't be testing. Verify your wallet is backed up, if you don't know how to verify your wallet is backed up, you shouldn't be testing.

Now that you have verified your wallet is backed up, stop bitcoind, install libdb4.8++ and compile the bitcoin binary against it instead of 4.7. Make sure you aren't linking against 4.7 in the process. Then launch bitcoind and verify that things are working. The upgrade to 4.8 will automatically upgrade your database files to the new format and you should notice no difference in operation.

One issue with moving to 4.8 is that although going back to 4.7 is possible, it may be risky, so making sure you have a backup is important. To go back to 4.7, you just need to stop bitcoind and then delete .bitcoin/database/* and then start up the version compiled against 4.7.

Maybe you are using libdb4.8 already? If so, please post here which operatingsystem you are using.
Jump to: