[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#578157: and another!



On Mon, Jan 10, 2011 at 09:48:06AM -0500, micah anderson wrote:
On Mon, 10 Jan 2011 09:46:29 +0100, Jonas Smedegaard <dr@jones.dk> wrote:
On Mon, Jan 10, 2011 at 12:54:58AM -0500, micah anderson wrote:
>On Fri, 7 Jan 2011 20:17:29 +0100, Jonas Smedegaard <dr@jones.dk> >wrote: >> So what really is the issue here is that _at_ _each_ _runtime_ >> _environment_ are the db files incompatible.
>
>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.
>
>So it seems that its just the db4.8 logs are not backward compatible >with 4.7. Transaction logs are great, if you want to do recovery, >but I wonder if they are really needed. If I recall, they simply >grow, until you rotate them, unless you set specific DB_CONFIG >flags.

According to Helmut Grohne, all Bitcoin users maintain a full history of transactions in those logs - so I suspect they shouldn't be rotated but just (slowly) grow and grow...

Well sure, that is because they are transaction logs and every database operation is written to the logs. That is the definition of database transaction logs... it is nothing particularly unique to bitcoin. Berkeley DB (and other databases, when configured to do so) produces transaction logs that can be used to reconstruct changes from a given point in time.

You wrote "wonder if they are really needed."

What I meant to say was that according to Helmut Grohne, each and every Bitcoin user _must_ maintain a full history.


It is true that bitcoin maintains a full history of all bitcoin operations (if I used the word 'transactions' here, it would be confusing because 'transactions' as also a database term, that history is maintained in the database itself.

So, what was the point again? That the storage format need not be in log format?

As I understand it, the log format is used only when bootstrapping via IRC, but I really don't know these details.

Helmut Grohne seemed to know - he mentioned having reverse-engineerd the protocol and reimplemented in Python. I tried to persuade hime to join me in maintaining Bitcoin - until his own implementation perhaps would eventually mature and be superior. No luck, unfortunately. :-(


>> @Micah: Could you please test if upgrading works like this:
>>
>>    1) Move aside your precious .bitcoin folder
>>    2) Start the current Debian Bitcoin (or upstream binary)
>>    3) Let Bitcoin run until its db is fully init'ed (i.e. dir is
>>       ~150MB)
>>    3) Quit Bitcoin
>>    4) Install packages libdb4.8-util and db4.7-util
>
>you mean db4.8-util and db4.7-util :)

Ah, yes.  Had crept into README.Debian too - corrected now.


>>    5) run the following commands:
>
>I think that the following commands should only be run after I've
>stopped the running bitcoind:

That happened in 3), no?

Yes, it did! What didn't happen was you numbered 3 twice, and so my brain skipped the "3) Quit Bitcoin" and thought it didn't exist because it had already done "3) Let Bitcoin run until its db is fully init'ed (i.e. dir is ~150MB)" and iterated to the next number :)

It took me a good 5 minutes to realize that. Good morning.

Ohhh. :-D


Any, I am not this detailed in the readme (and not sure why I spelled it out to you either - you seem to know usage of this tool better than me!).

I'm not sure I know it better, I just maybe know different parts better, and you know other parts better.

...which was my reason for carefully squeezing in "usage" into above sentence ;-)


thanks for the libdb4.8++ upload, i upgraded to that version and everything works fine!

:-)


 - Jonas

--
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

Attachment: signature.asc
Description: Digital signature


Reply to: