On Sun, Aug 17, 2008 at 6:15 AM, Karl Fogel <kfogel_at_red-bean.com> wrote:
> gstein_at_tigris.org writes:
>> --- trunk/notes/wc-ng-design Thu Aug 14 02:44:52 2008 (r32467)
>> +++ trunk/notes/wc-ng-design Thu Aug 14 03:25:35 2008 (r32468)
>> @@ -622,12 +622,129 @@ includes all of the "entry" fields *and*
>> attached to the files/directories. SQLite transactions will be used
>> rather than the "loggy" mechanics of wc-1.0.
>>
>> +###GJS: note that atomicity across the sqlite database and the content
>> + of the ACTUAL tree is freakin' difficult. idea to test: metadata
>> + says "not sure of ACTUAL", and when ops complete successfully, then
>> + we clear the flag. during any future operation, if the flag is
>> + present, then we approach the ACTUAL with extreme prejudice. also
>> + note that we can batch clearing of the flags as an optimistic
>> + efficiency approach (since if we batch 100 and the last fails, then
>> + the other 99 will be slower until the wc-ng determines the ACTUAL
>> + is in fine shape and clears the flag for future operations).
>
> Heh -- I hadn't seen the above when I wrote
>
> > Some kind of logginess, or at least carefully ordered actions, will
> > still be needed, since we've got working files to deal with. But yeah,
> > I think the logginess will get a lot simpler with SQLite transactions.
>
> just now. I'll read all your commits before commenting further. (Or
> else just read the doc from the top.)
No worries. Strengthening or calling out a point is fair!
I'm going to be taking a look at the various operations to see what
happens if text-base or ACTUAL files just up and disappear (never put
there due to sync, or cancellation, or if manually removed). I'm
hoping to find a proper sequence of db/file operations such that we
can always recover, and/or proceed without a problem. In these cases,
I'm also thinking about caching hints to optimize interaction with the
filesystem.
We'll see... I still have to figure out the API and operational model.
Took a stab on the airplane back from hawaii, but I don't like the
approach. Thought of another model, and will try that later this
afternoon to see what it looks like.
Cheers,
-g
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-08-17 20:17:41 CEST