> Maybe.  Yes, multiple readers *and* a single writer
> can work together  
> as you describe.  The writer has to signal all
> readers, and they all  
> have to rollback before a new commit by the writer
> is started (any  
> writer, it could become another one).  Rollback is a
> mis-nomer  
> clearly, what it means in this scenario is: revert
> to on-file state.

How much would the overhead be for this? I assume that
the rollback is almost instant, but the writer would
have to commit after each change (transaction). Does
it have to walk the full tree every time or is the
information cached between commits?

> But the problem is that all readers have to
> re-attach all their views  
> (well at least all those which are modified).

Does this mean that if the readers had some way of
knowing which views had been modified, they could
limit themselves to just re-attaching the modified
views? Do the views point to the raw location in the
datafile or are they dependent on more metadata?

> There are more avenues to explore, such as using the
> "commit-extend"  
> mode.  What this does is leave the original readers
> unaffected.  So  
> one refinement would be:
>      - readers open and use as needed
>      - a single writer opens and makes changes
>      - after a normal writer commit is done
>       - signal all readers to rollback
>       - force all further writes to use commit-extend
>      - once all reader rollbacks have been
> acknowledged
>       - allow normal commits again
> The above allows even more concurrency (readers
> never lock, and the  
> writer need never wait for all readers to complete
> their rollback),  
> but it does require that occasionally the datafile
> gets compressed at  
> a time of no activity.  With care, this cleanup
> phase can probably  
> even be made to work while readers are still active.

This sounds very promising. Has there been any
experiments with this?

BTW: The wiki would be ideal for this kind of
discussion. Is there any speial reason that has been
closed (read-only)?

Best Regards,
  Arto Stimms


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
_____________________________________________
Metakit mailing list  -  Metakit@equi4.com
http://www.equi4.com/mailman/listinfo/metakit

Reply via email to