Re: [ZODB-Dev] Status of gocept.zeoraid

2010-10-20 Thread Christian Theune
On 10/20/2010 07:11 PM, Chris Withers wrote:
 On 20/10/2010 17:03, Sylvain Viollon wrote:
 One of my customers would like to use gocept.zeoraid in production.
 So him, and I have some questions:

 - Is it stable enough to be used in production ?

 No.

Ack. It's called beta.

I do need people interested in using it to try it out *seriously*, though.

Chris hit quite a wall even when testing it for a while. I've got some 
data from that but the lesson is: don't think it's ready for (your) 
production if you haven't run it in (your) production successfully.

 - Does it bring speed improvements over regular ZEO setup (I don't
   think so) ?

 No. It is currently 5 times slower when tested with zodbshootout.

And there will likely never will be speed improvements over regular ZEO. 
I was a bit shocked when I looked at the actual slowness, but then 
again, I didn't think about performance at all.

(In standalone mode there is a slight chance that you can load 
read-requests off to multiple backend servers. Haven't tried it, though. 
And it won't be available in co-op mode.

 - Does it work with blobs ? I will have a blob directory shared
   between different servers. Can I use it to access and edit directly
   the blob in that directory ?

 Don't know.

Nope. The blob directory (even with regular ZODB) is a managed area like 
the data in your Data.fs. (You wouldn't go editing that data with your 
editor, would you?)

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] tid vs. serial

2010-10-18 Thread Christian Theune
On 10/18/2010 03:51 PM, Jim Fulton wrote:
 On Mon, Oct 18, 2010 at 8:53 AM, Vincent Pelletiervinc...@nexedi.com  wrote:
 Hi.

 During my presentation of NEO at DZUG, Cristian Theune told me that I might 
 be
 confusing tids and serials. And indeed, I could not define the difference
 between them.

 I wonder what he meant.

Me too, I still had a distinction in my head back from the 2005 sprint 
that they are somewhat similar but different. Looks like I never got the 
signal that we actually consider them to be the same.

At least that's clear now. :)

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] zodb monitor port / tailing a .fs

2010-10-14 Thread Christian Theune
On 10/14/2010 09:58 AM, Chris Withers wrote:
 On 14/10/2010 02:40, Darryl Dixon - Winterhouse Consulting wrote:
 ...and fsdump appears to have no way of saying show me the last few
 transactions in this 35GB file :-(

 Yeah it's pretty verbose. I usually just pump the output to a text file

 ...yeah, but a 35GB zodb is going to result in, what, a 120? 200? GB
 text file. I don't think I actually have that much disk space lying
 around on these servers, let alone how long fsdump would take to produce
 it ;-)

 I wonder how hard it'd be to add some kind of start-at-the-end feature
 to fstail?

With the new iterators that start scanning from the back that shouldn't 
be too hard.

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] zodb 3.9.6 performance tuning?

2010-10-12 Thread Christian Theune
On 10/12/2010 05:14 PM, Chris Withers wrote:
 Hi,

 After recently moving a medium-sized customer project from Zope 2.9.8 to
 Zope 2.12.7 sitting on ZODB 3.9.6 by way of zeoraid b7, I'm now seeing
 some fairly weird and bad behaviour that we didn't have before.

 So, everything was fine after the migration. However, today I turned on
 a batch job which pumps content into the storage.

 This appears to be *much* slower than on Zope 2.9.8 (with its included
 ZODB release) and also appears to cause the web clients to be slow
 enough when its running that they start dropping out of the load
 balancer pool.

 How can I debug what's going on? Is there any way to get diagnostics out
 of a 3.9.6 zeo server to find out what it's up to?

I think the trace log contains timing information. There's also the 
monitor. Haven't had to do performance tuning within the ZEO server so 
far. Most times I was basically limited by either network or disk.

 cheers,

 Chris

 PS: If it helps, it looks like the zeoraid process is using an order of
 magnitude more cpu than the zeo process, according to top, but even
 that's only 30% of the CPU load...

Has ZEORaid been in place before the update, too?

Christian


-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] ZODB 3.10.0 released

2010-10-08 Thread Christian Theune
On 10/08/2010 08:56 PM, Jim Fulton wrote:
 ZODB 3.10.0 is available:

W00t!

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] 3.10.0b6 traceback

2010-09-12 Thread Christian Theune
On 09/10/2010 02:25 PM, Jim Fulton wrote:
 On Fri, Sep 10, 2010 at 2:40 AM, Wichert Akkermanwich...@wiggy.net  wrote:
 I just got the following traceback from a system running 3.10.0b6:

 As I mentioned before, this looks like a bug.

 But mainly I want to say: thanks for testing the beta!  I hope we're
 getting close to a final release, and, of course, testing the betas is
 very helpful. :)

Did the tracebacks make it into the bug database? If yes, can someone 
provide references to them in the mailing list FTR?

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] 3.10 final?

2010-08-31 Thread Christian Theune
On 08/30/2010 11:22 PM, Jim Fulton wrote:
 On Mon, Aug 30, 2010 at 3:08 PM, Hanno Schlichtingha...@hannosch.eu  wrote:
 Hi,

 just wondering what the state of 3.10 final is?

 I was worried that you were going to ask me about that. :)

 I haven't done much with it in a while. I need to get back to it.

 This last weekend I discovered some long-standing (like forever)
 problems I need to deal with that could explain some of the odd
 BTree issues we've seen over the years, where certain items
 become unreachable.

 We had a couple beta releases already.

 Yup, I noticed.

 What needs to be done to move
 it forward and is there anything the community can help with?

 Aside from the new issues, the main thing that needs to be done is
 to review the tracker and decide if there are any issues that
 need to be dealt with before the final release.  The community could help
 by gardening the tracker -- especially since the tracker recently
 got a bunch of old issues from the Zope 2 tracker. :)

Sounds like a job I'd like for the upcoming sprint after the conference.


-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] ZEO in v3.10 with older clients and older Python

2010-07-29 Thread Christian Theune
On 07/29/2010 02:42 PM, Hanno Schlichting wrote:
 On Thu, Jul 29, 2010 at 1:20 PM, Christian Theunec...@gocept.com  wrote:
 ZEO in version 3.10 is supposed to work with older clients. Is it also
 intended to work with older clients running Python 2.4? The server needs
 to run on Python 2.5 due to the with statement.

 The docs explicitly state that Python 2.4 is no longer supported at all.

 Go with the times and use Python 2.6 or 2.7 ;)

The docs also say that ZEO supports older clients. The application that 
I currently have in mind has no chance of moving from Python 2.4 but 
probably would benefit from a threaded ZEO server which I'd like to verify.

Christian


-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] ZEO in v3.10 with older clients and older Python

2010-07-29 Thread Christian Theune
On 07/29/2010 02:55 PM, Hanno Schlichting wrote:
 On Thu, Jul 29, 2010 at 2:49 PM, Christian Theunec...@gocept.com  wrote:
 On 07/29/2010 02:42 PM, Hanno Schlichting wrote:
 The docs explicitly state that Python 2.4 is no longer supported at all.

 Go with the times and use Python 2.6 or 2.7 ;)

 The docs also say that ZEO supports older clients. The application that I
 currently have in mind has no chance of moving from Python 2.4 but probably
 would benefit from a threaded ZEO server which I'd like to verify.

 I think we discussed the Python version support policy on this list in
 regard to the changes to exception classes. It's documented pretty
 clearly:

 ZODB 3.10 requires Python 2.5 or later.

 Note --
 When using ZEO and upgrading from Python 2.4, you need to upgrade
 clients and servers at the same time, or upgrade clients first and
 then servers.  Clients running Python 2.5 or 2.6 will work with
 servers running Python 2.4.  Clients running Python 2.4 won't work
 properly with servers running Python 2.5 or later due to changes in
 the way Python implements exceptions.

Thanks for digging this out. I'll try to find the discussion and refresh 
my memory.

 So the ZODB 3.10 server requires 2.5. You cannot run clients with
 Python 2.4 with a server running 2.5. Therefor you will have to update
 the application at some point.

Darn. That kinda invalidates the point of supporting older clients, 
though. :/


-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] ZEO in v3.10 with older clients and older Python

2010-07-29 Thread Christian Theune
On 07/29/2010 03:03 PM, Hanno Schlichting wrote:
 On Thu, Jul 29, 2010 at 2:57 PM, Christian Theunec...@gocept.com  wrote:
 Thanks for digging this out. I'll try to find the discussion and refresh my
 memory.

 See for example your response here
 https://mail.zope.org/pipermail/zodb-dev/2010-April/013269.html ;-)

 And Andreas was the only one responding to the Python 2.5 upgrade
 proposal at https://mail.zope.org/pipermail/zodb-dev/2009-December/013085.html

Yeah, looks like I shot myself in the foot with that response. :)


-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] ZEO in v3.10 with older clients and older Python

2010-07-29 Thread Christian Theune
On 07/29/2010 03:02 PM, Jim Fulton wrote:
 On Thu, Jul 29, 2010 at 7:20 AM, Christian Theunec...@gocept.com  wrote:
 ZEO in version 3.10 is supposed to work with older clients. Is it also
 intended to work with older clients running Python 2.4?

 No, see:

 https://mail.zope.org/pipermail/zodb-dev/2010-April/013268.html

 and, especially:

 https://mail.zope.org/pipermail/zodb-dev/2010-April/013269.html

Yup, found it. Dug my own hole there ...

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] ZEORaid was Re: Restoring from repozo and reusing an index file?

2010-06-21 Thread Christian Theune
On 06/18/2010 01:17 PM, Chris Withers wrote:
 Christian Theune wrote:
 and a
 mysterious bug WRT oid generation
 This one's new to me, where can I find out more?

 The one you reported quite a while ago that ended in mixed-up OID
 results.

 Have you got a url to the tracker issue?

 I think it was this one:
 https://bugs.edge.launchpad.net/gocept.zeoraid/+bug/485976

 Okay, but again, this one seems to be mitigated by only running one
 zeoraid server at a time, right?

Not completely sure as I didn't find the cause of the OIDs getting out 
of sync last time.

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] ZEORaid was Re: Restoring from repozo and reusing an index file?

2010-06-12 Thread Christian Theune
On 06/12/2010 09:47 AM, Chris Withers wrote:
 Christian Theune wrote:
 On 06/11/2010 05:50 PM, Alan Runyan wrote:
 I suppose you could look at zeoraid.
 Hadn't thought of that, will look at it, thanks!
 Anyone using ZEORaid in production?

 I hope not. There's still open issues with split brain situations

 IIUC, that can be mitigated by only having one zeoraid server live at a
 time?

Yes. Our goal is to mitigate even splits by making the system read-only 
and manually allowing to specify which parts are active in that case.

An automatic voting procedure would then require more than 2 
participants, but with even splits you at least won't fail horribly.

 and a
 mysterious bug WRT oid generation

 This one's new to me, where can I find out more?

The one you reported quite a while ago that ended in mixed-up OID results.

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] ZEORaid was Re: Restoring from repozo and reusing an index file?

2010-06-11 Thread Christian Theune
On 06/11/2010 05:50 PM, Alan Runyan wrote:
 I suppose you could look at zeoraid.

 Hadn't thought of that, will look at it, thanks!

 Anyone using ZEORaid in production?

I hope not. There's still open issues with split brain situations and a 
mysterious bug WRT oid generation that I hope to hunt down in August.

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Notes on using wrapper storages for record transformation

2010-05-18 Thread Christian Theune
On 05/18/2010 10:08 PM, Jim Fulton wrote:
 The design of ZODB views pickles as opaque to storages. Storages
 primarily store strings.  I have always assumed that writing wrapper
 storages for compression or encryption would be easy. I was wrong. :)

 Storages sometimes need to know about pickles:

 A. When doing garbage collection, a storage (or garbage collector)
 needs to extract object references.

 B. When doing conflict resolution, the conflict-resolution code needs
 to be able to extract state from object records.

 C. When doing blob-aware iteration, a storage needs to be able to
 recognize blob records.

 D. When raising conflict errors, the exception instances *want* to get
 the object class name from the database record.

 (A) was dealt with by the existing way the referencesf function was
 passed into storage pack functions.

Wow, good to know about those! Thanks for the info!

 I dealt (B) and (C) by expanding and renaming the interface of objects
 passed to the storage registerDB call.  These objects now provide an
 up-call mechanism from a storage to anything that might wrap it,
 including databases, storage servers, and intermediate wrapping
 layers.

 I punted on (D). You can't always get what you want. :)

 I'm mostly convinced what I've done is reasonable, although I'm just a
 little uncomfortable.  It has always been the theory that storages
 can't count on the contents of database records. Now that is
 reality.

 I've decided I really want to provide a database compression option. I
 could have built something directly into ZODB or used a wrapper
 storage. I chose the later because it was more flexible.  I think I
 would have run into the same issues without a wrapper storage.

 Soon I expect to release a wrapper storage implementation that
 provides record compression.

Cool! :)

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Storage iterators and IndexError

2010-05-15 Thread Christian Theune
On 05/14/2010 08:43 PM, Jim Fulton wrote:
 The file storage iterator was implemented before Python had iterators.
 (Actually, Python previously had an iterator based on a corner
 of the sequence protocol, which FileStorage used.)

 There's a test for storage iterators that verifies that they raise
 a special exception that extends StopIteration and IndexError.
 This makes storage iterators a bit harder to implement than
 necessary.

 Does anyone know of a reason why we should have to raise
 a special error that raises IndexErrors?

My first thought was backwards compatibility to something and the 
docstring of the StorageStopIteration says so but doesn't tall for what.

Sounds like support for old clients but I can't say for which use case.

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Passing thought: It would be interesting at the application level to have a measure of database record size

2010-05-14 Thread Christian Theune
On 05/12/2010 01:11 PM, Jim Fulton wrote:
 It occurs to me that it would be useful, at the application level, to
 have some measure of an object's record size.  This would, for
 example, be a better basis for OOBucket splits than item count.

I thought we gained such an _p_ attribute as an indicator for the 
size-based cache?

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] ZEO monitor server

2010-05-04 Thread Christian Theune
On 04/30/2010 08:07 PM, Jim Fulton wrote:
 ZEO servers can optionally listen on a separate monitor port.

 If you telnet to the monitor port, you get a dump of server statistics.

 The statistics are useful, but I don't really see why this should be
 a dedicated server.  IMO, it would be just as useful to have a server
 method to be called from a ZEO client to get server statistics as a
 Python dictionary.

 Managing yet another port is a pain.

 The implementation is pain to maintain.

 Does anyone use the monitor server? Would anyone object
 if it went away, to be replaced by a server method on the standard
 ZEO protocol?

I keep meaning to use it and I think I'd do that sooner if it became 
part of the standard protocol.



-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Using zodb and blobs

2010-04-16 Thread Christian Theune

On 04/15/2010 06:00 PM, Adam GROSZER wrote:

Hello Christian,


Wednesday, April 14, 2010, 8:30:50 AM, you wrote:

CT  I don't think the transfer rate is actually that interesting. For small
CT  but many transactions the seek time/spinning speed should have the
CT  limiting influence.

CT  I've run the attached script a couple of times on my notebook, here's
CT  the results:

CT  0.11 909.090909091
CT  0.15 666.7
CT  0.2 500.0
CT  0.07 1428.57142857
CT  0.07 1428.57142857
CT  0.14 714.285714286

CT  The initial runs are a bit lower as they were interfered with by other
CT  applications writing to the disk.

CT  It's a notebook w/ Intel P9600, Seagate 7.2k SATA drive, 4GB RAM, Ubuntu
CT  10.04, linux 2.6.32, ext4

Something is wrong with the seek time.
Trying it on an Intel G1 80G SSD goes hardly over a 1000.


Well, sounds like a broken fsync then. :/

--
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development



smime.p7s
Description: S/MIME Cryptographic Signature
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Using zodb and blobs

2010-04-14 Thread Christian Theune
On 04/14/2010 03:30 AM, Nitro wrote:
 Am 14.04.2010, 04:39 Uhr, schrieb Tim Peterstim.pet...@gmail.com:

 [Nitro]
 ...
 I wonder if _commit is really *that* slow

 Six years ago I timed factor-of-100 speed differences due to using MS
 _commit() on WinXP at the time:

  https://mail.zope.org/pipermail/zodb-dev/2004-July/007720.html

 or if there's another (faster) function which can be called...

 No MS function that does the same thing.

 Seems like ZODB has a long history of discussions on this matter:

 http://www.mail-archive.com/zodb-dev@zope.org/msg01874.html

 There's even a proposal for improvement in that thread, also on the wiki:

 http://wiki.zope.org/ZODB/FsyncBehaviourSetting

 What I don't really get is why you should never use None on windows. As
 far as I can judge from the various transaction rates in the thread Tim
 mentioned, fsync is just a no-op on linux anyways (depending on the
 specific file system of course).

I'm pretty sure it's not. IIRC fsync is defined by POSIX and absolutely 
requires the implementor to flush data physically to disk ensuring its 
persistency. If that doesn't hold true then all transactions are borked.

I've seen virtualised environments like VMWare ESX lie about fsyncs from 
a virtual hardware perspective.

A similar issue with breaking fsync was the discussion around ext4 on 
notebooks with a only actually flush discs every 10 seconds.

In the end it really depends on what you need your data for. If I'd 
store the information that a customer paid me 50 EUR for something and I 
presented a screen to him that told him he'll receive some good for that 
then I'd rather stick with compliant transactions.

 I am almost tempted to do

 os.fsync = lambda fd: 0

 and rely on yesterday's backup. 0.49 j/k.

j/k?

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Testing gocept.zeoraid

2010-03-23 Thread Christian Theune
Hi,

On 03/22/2010 03:09 PM, Sylvain Viollon wrote:
 Hello,
 
I am currently testing gocept.zeoraid, and this seems to work fine.
 
However, I have few questions:
 
[...]

 
- I tested like my clumsy customers would use it (that means doing
  things in the wrong order for instance).
 
  I did a similar setup that the one located in the Zope SVN: two
  ZEO server as backend, and two ZEO Raid server on top of it,
  connected to two Zope clients. I stop one backend ZEO server.
 
  I did raid-manage status, and details and it work fine.
 
  After, I executed raid-manage recover 1, 1 being the backend ZEO
  server I previously stopped, and did details again. I have
  'recovering: ???'. Which is ok since I didn't start again my
  backend ZEO server. But if I start it after, the status doesn't
  change. If I do again raid-manage recover 1, the status stays the
  same (and the command display None).
 
  I think this is bad, as I can't expect my customer to always do
  things in the correct step (that would be too easy).
  
  Done in the correct order that seems to work fine. But I need to do
  more testing.

Yeah, sounds like a bug. Do you mind reporting that into launchpad?

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] zeoraid + plone 3.3.4

2010-02-18 Thread Christian Theune
On 02/18/2010 03:42 PM, Diego Acevedo wrote:
 
 
 On Thu, Feb 18, 2010 at 11:25 AM, Christian Theune c...@gocept.com
 mailto:c...@gocept.com wrote:
 
 On 02/18/2010 03:22 PM, Diego Acevedo wrote:
  On Wed, Feb 17, 2010 at 5:20 PM, Christian Theune c...@gocept.com
 mailto:c...@gocept.com
  mailto:c...@gocept.com mailto:c...@gocept.com wrote:
 
  On 02/17/2010 06:15 PM, Diego Acevedo wrote:
   Hello everybody. I have a problem with zeoraid + plone (I
 ask for the
   problem in the general questions in Plone, and they say me
 that i
  could
   ask here)...
  
   I can do work zeoraid and plone for separate, but if I try to
  connect my
   zope client instance with the zeoraid, its dont work.
  
   I try different configurations:
  
zope client - zeoraid - zeoservers;
zope client - zeoserver - zeoraid - zeoservers
etc
  
   I think that the problem is the ZODB, because zeoraid
 (gocept.zeoraid)
   work with ZODB3 = 3.9, whereas Plone 3.3.4 work with Zope
 2.10, and
   this with ZODB 3.7.1...
  
   so, the question is, Did someone get that zeoraid and plone work
  together??
 
  The correct chain of configuration is:
 
  Zope Server - ZEOServer with a RAIDStorage - other backends
 (typically
  the second row of ZEO servers)
 
  The correct ZODB versions are:
 
  Zope Server = ZODB 3.6+
  ZEO Servers w/ and w/o ZEORAID = ZODB 3.9
 
  If you have those configurations and they don't work, then a
 specific
  error report would help.
 
  Christian
 
  --
  Christian Theune · c...@gocept.com mailto:c...@gocept.com
 mailto:c...@gocept.com mailto:c...@gocept.com
  gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale)
 · germany
  http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
  Zope and Plone consulting and development
 
  ___
  For more information about ZODB, see the ZODB Wiki:
  http://www.zope.org/Wikis/ZODB/
 
  ZODB-Dev mailing list  -  ZODB-Dev@zope.org
 mailto:ZODB-Dev@zope.org mailto:ZODB-Dev@zope.org
 mailto:ZODB-Dev@zope.org
  https://mail.zope.org/mailman/listinfo/zodb-dev
 
 
  Oh... nice. thank you, but now I am a little confused...
 
  I have the next configuration right now (briefly):
 
  ZeoRaid:
 
  zeo1 address 8100
  zeo2 address 8101
  zeoraid address 8200 (and inside raidstorage server 8100; server
 8101)
 
  Plone (it is a zeo install, not a stand alone):
 
  zeo-address 8100
 
 That must point to 8200, otherwise Plone will only talk to zeo1 and thus
 zeo1 and zeo2 will diverge causing ZEORaid to become inconsistent.
 
 Christian
 
 --
 Christian Theune · c...@gocept.com mailto:c...@gocept.com
 gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
 http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
 Zope and Plone consulting and development
 
 ___
 For more information about ZODB, see the ZODB Wiki:
 http://www.zope.org/Wikis/ZODB/
 
 ZODB-Dev mailing list  -  ZODB-Dev@zope.org mailto:ZODB-Dev@zope.org
 https://mail.zope.org/mailman/listinfo/zodb-dev
 
 
 
 I tested it too, but i got this error (for plone client):
 
 2010-02-18 11:33:15 ERROR ZEO.zrpc (3334) CW: error in testConnection
 (('127.0.0.1', 8200))
 Traceback (most recent call last):
   File
 /home/gdlk/Plone/Zope-2.10.7-final-py2.4/lib/python/ZEO/zrpc/client.py, line
 454, in test_connection
 self.preferred = self.client.testConnection(self.conn)
   File
 /home/gdlk/Plone/Zope-2.10.7-final-py2.4/lib/python/ZEO/ClientStorage.py,
 line 442, in testConnection
 stub.register(str(self._storage), self._is_read_only)
   File
 /home/gdlk/Plone/Zope-2.10.7-final-py2.4/lib/python/ZEO/ServerStub.py,
 line 74, in register
 self.rpc.call('register', storage_name, read_only)
   File
 /home/gdlk/Plone/Zope-2.10.7-final-py2.4/lib/python/ZEO/zrpc/connection.py,
 line 650, in call
 raise inst # error raised by server
 ValueError: unknown storage: 1
 
 Storage1 is define in zeo1 and zeo2...

You have to use the name you gave to the raidstorage.

Also: after the raid became inconsistent, you better get zeo1 and zeo2
back to the same state or run a recovery.

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more

Re: [ZODB-Dev] zeoraid + plone 3.3.4

2010-02-17 Thread Christian Theune
On 02/17/2010 06:15 PM, Diego Acevedo wrote:
 Hello everybody. I have a problem with zeoraid + plone (I ask for the
 problem in the general questions in Plone, and they say me that i could
 ask here)...
 
 I can do work zeoraid and plone for separate, but if I try to connect my
 zope client instance with the zeoraid, its dont work.
 
 I try different configurations:
 
  zope client - zeoraid - zeoservers;
  zope client - zeoserver - zeoraid - zeoservers
  etc
 
 I think that the problem is the ZODB, because zeoraid (gocept.zeoraid)
 work with ZODB3 = 3.9, whereas Plone 3.3.4 work with Zope 2.10, and
 this with ZODB 3.7.1...
 
 so, the question is, Did someone get that zeoraid and plone work together??

The correct chain of configuration is:

Zope Server - ZEOServer with a RAIDStorage - other backends (typically
the second row of ZEO servers)

The correct ZODB versions are:

Zope Server = ZODB 3.6+
ZEO Servers w/ and w/o ZEORAID = ZODB 3.9

If you have those configurations and they don't work, then a specific
error report would help.

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] ZODB 3.10.0a1 released

2010-02-08 Thread Christian Theune
Hi,

On 02/08/2010 03:38 PM, Jim Fulton wrote:
 I've just released 3.10.0a1:
 
   http://pypi.python.org/pypi/ZODB3/3.10.0a1#a1-2010-02-08
 
 The main focus of this release is ZEO server performance.  For
 realistic benchmarks involving data stored on magnetic disk (as
 opposed to SSD or RAM), I've seen speedups of 4x or more, primarily by
 making the storage server multi- threaded.
 
 (BTW, speaking of SSD, we did a test recently using a combination of
 SSD and magnetic disk. The database was around 1TB in size, with
 around 900GB being blob data.  We stored the non-blob data on an SSD
 and blob data on a 14-spindle ISCSI magenetic storage systems.  The
 test involved playing back database requests recorded in production.
 Mean load times with a 3.9 storage server without SSD were 73
 milliseconds.  Using SSD for the non-blob data reduced this to 20
 milliseconds. Using the new ZEO implementation without SSD reduced the
 mean load times to 16 milliseconds.  The use of both SSD and and the
 new ZEO reduced mean load times to around 4 milliseconds.)
 
 This release also includes a change to the way that file-storage
 indexes are saved leading to make improvements in save and load times
 and a 30% reduction in index file size.

That's good news. Thanks for all the work!


-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] zodbupdate branch sylvain-persistent-load

2010-02-02 Thread Christian Theune
Hi,

On 02/01/2010 05:47 PM, Sylvain Viollon wrote:
 Hello,
 
I did few month ago a branch of zodbupdate, which works completely 
 differently than the trunk. Instead of changing the pickle code of the 
 record, 
 it unpickle it, changing references at that point, and repickle if there is 
 changes.
 
   I did this in order to support the ZODB references that are implemented 
 using persistent ID, in which a reference to a class can be expressed as a 
 tuple (module, classname) instead of the class pickle opcode. That tuple 
 (module, classname) can appear in the class meta pickle of a record as well. 
 You can have more details about this by reading the comments of the 
 serialize.py file in the ZODB code.
 
   If I understand correctly, those are legacy formats, that the ZODB doesn't 
 use anymore to write data, but is still able to read data stored using those 
 formats for backward compatibility support.
 
   The issue is that I want to use zodbupdate on database that have been 
 created a long time ago, and I do need zodbupdate to be able to read those 
 formats and correct class references in those records as well. That's the 
 motivation of my changes.
 
   My version of zodbupdate is feature alike with the old one: 
 
 - it is able to update records which have backward compatibility imports in 
 the code, and report them at the end, even if they are not described in the 
 renaming rules,
 
 -  it is able to ignore missing modules and classes (it use ZODB.broken),
 
 - command line invocation stays the same,
 
 - performance-wise, it seems even to be faster (I use cPickle),
 
   As well, it's able to work on 'broken data.fs' which trigger POSKey errors.
 
   I did my testing using the infrae.com website database, which have been 
 created around 2002 I think, and contain a lot of interesting cases.
 
   So I would like to release my work now, since I need to use it in 
 production 
 environment. Since there is lot of changes, I can release it as a fork as 
 well, if it's not possible to merge it with the trunk.

I think I'm fine with your approach in general by now. I don't have the
time to review anything, though. The old version is happily there in SVN.

IIRC you hadn't updated all unit tests last time, did you catch up with
that yet?

Otherwise, feel free to merge and release.

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] zodbupdate branch sylvain-persistent-load

2010-02-02 Thread Christian Theune
On 02/02/2010 11:17 AM, Sylvain Viollon wrote:
 On Tuesday 02 February 2010 09:08:42 Christian Theune wrote:
 Hi,


 
   Hello,
 
 I think I'm fine with your approach in general by now. I don't have the
 time to review anything, though. The old version is happily there in SVN.

 IIRC you hadn't updated all unit tests last time, did you catch up with
 that yet?

 
   I fixed the current tests yesterday. I removed a bunch of them a while ago, 
 all the one which was testing the pickle modification code, since I removed 
 the corresponding code.
 
   I plan to add a few more today,
 
 Otherwise, feel free to merge and release.

 
   Thank you, I think I will have look at the trunk, but if there is no 
 changes 
 in it since my branch, I will move it as a branch called pickle-version, and 
 rename my branch as trunk. I will tag it, but if you want me to do the 
 release, you need to give me rights on pypi. My username is thefunny42.

Meh. That looks quirky in the history. If there are no changes, then the
merge will be straight-forward.

Christian


-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] zodbupdate branch sylvain-persistent-load

2010-02-02 Thread Christian Theune
On 02/02/2010 03:58 PM, Sylvain Viollon wrote:
 On Tue, 02 Feb 2010 11:30:41 +0100
 Christian Theune c...@gocept.com wrote:
 
 
   Hello,
 
 Meh. That looks quirky in the history. If there are no changes, then
 the merge will be straight-forward.

 
   I merged my branch into the trunk, it's ready for a release.

What's your pypi ID? I'll give you release rights then.

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] zodbupdate branch sylvain-persistent-load

2010-02-02 Thread Christian Theune
On 02/02/2010 05:00 PM, Sylvain Viollon wrote:
 On Tue, 02 Feb 2010 16:44:19 +0100
 Christian Theune c...@gocept.com wrote:
 
 On 02/02/2010 03:58 PM, Sylvain Viollon wrote:
 On Tue, 02 Feb 2010 11:30:41 +0100
 Christian Theune c...@gocept.com wrote:


   Hello,

 Meh. That looks quirky in the history. If there are no changes,
 then the merge will be straight-forward.


   I merged my branch into the trunk, it's ready for a release.

 What's your pypi ID? I'll give you release rights then.

 
   thefunny42, I already mentioned it in one of my previous mail.

Done.


-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development



smime.p7s
Description: S/MIME Cryptographic Signature
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Data.fs size grows non-stop

2009-12-09 Thread Christian Theune
On 12/09/2009 04:58 PM, Pedro Ferreira wrote:

 OOBTrees are complex?

 No, I meant something list-like, rather than key-value.

zc.blist implements a BTree-based list.

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Repozo tests -- not

2009-12-08 Thread Christian Theune
On 12/09/2009 12:06 AM, Shane Hathaway wrote:
 Daniel Kraft wrote:
 Jim Fulton wrote:
 On Tue, Dec 8, 2009 at 1:49 PM, Benji Yorkbe...@zope.com  wrote:
 Any incomplete writes that are in progress at the time of the copy will
 simply be ignored when the resulting backup is opened later.
 Note that this assumes that you are using a straightforward linear copy.
 rsync would likely produce unpredictable results.

 Every modern volume manager or whatever supports snapshotting a
 filesystem. A snapshot is a good-enough synchonous copy. You simply
 store its contents to somewhere and you're done, even with blobstorage.

 Very good point.  Tools like LVM and ZFS probably make repozo obsolete.

Not exactly: it's still a good idea to store away deltas as single large 
files are still hard to deal with except if you have really good 
block-level de-duplication in your filesystem. (Uhmm. I guess ZFS 
probably has all of that. It also probably serves my dinner.)

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Repozo tests -- not

2009-12-08 Thread Christian Theune
On 12/09/2009 02:25 AM, Shane Hathaway wrote:
 Christian Theune wrote:
 Not exactly: it's still a good idea to store away deltas as single large
 files are still hard to deal with except if you have really good
 block-level de-duplication in your filesystem. (Uhmm. I guess ZFS
 probably has all of that. It also probably serves my dinner.)

 I would run rdiff-backup on the snapshot.  Quoting the rdiff-backup
 feature list:

 Space efficient: Suppose you have a large database file that changes a
 little bit every day. A normal incremental backup would keep saving copy
 after copy of this database, wasting a lot of space. rdiff-backup uses
 librsync, which implements the same efficient diffing algorithm that
 rsync uses. It works on binary files as well as text, so only a fraction
 of the data in your database would be saved in each incremental backup.

 http://rdiff-backup.nongnu.org/

Interesting. AFAIK this is already in place in our backup scheme. As I 
haven't put it there I wasn't conciously aware of that detail though. :)


-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Data.fs size grows non-stop

2009-12-07 Thread Christian Theune
On 12/07/2009 05:00 PM, Alan Runyan wrote:
 I'd just like to add that there's some changes that can be related to this:

 - we had some classes inheriting from Persistent that now inherit from
 something else as well (but no extra arguments are being added, AFAIK);
 - we added some zope.interface definitions to some Persistent classes;

 maybe this causes some kind of behavior that we were not aware of?

 I doubt it.  Thousnads of people are doing this and do not report the same
 behavior.

 What is more likely is that a programmer is changing a persistent object
 very often.  One of the downsides of the ZODB is that it is so transparent
 it is possible to unwillingly make database changes.

 A design pattern for RDBMS is to have 2 pools. READ pool and WRITE pool.
 Often the READ pool comes from some replica and WRITE is to the master.
 I'm unsure this pattern would work for ZODB.  I know Malthe was thinking
 about this but unsure if he had anything concrete.

My guess: have a ZEO fan-out setup and configure the read pool ZEO 
servers as read-only. Any transactions writing will fail miserably right 
away.

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] newbie ZEO first try. ConflictError.

2009-11-26 Thread Christian Theune
Hi,

On 11/26/2009 10:08 PM, James Bergstra wrote:
 On Thu, Nov 26, 2009 at 1:51 PM, tsmillertsmil...@gnixterhouse.com  wrote:

 Laurence,
 Thank you for your very quick reply.  I did as you suggested and now the
 ConflictError is now handled.  And that is a most excellent thing because
 now ConflictError is raised every time.  So it still seems to be confused.
 I am trying to figure out if I will be able to use ZEO in my application.

 Now my program reads:

 while True:
 root[ one ] = time.asctime()
 while True:
 try:
 print Try to commit transaction
 transaction.commit()
 print root is,  root
 except POSException.ConflictError:
 print we have a conflict
 transaction.abort()
 time.sleep(.2)
 else:
 break

 time.sleep(10)


 I have a related question about this code... in the inner loop tom is
 calling abort() ; sleep(); commit().  Does that make sense?

 I thought that abort() would revert the root to the database's version
 of things, and discard any change that the client had tried to make.
 So what does it mean to call commit() again immediately and why that
 commit cause a conflict when the client hasn't actually changed
 anything since abort() ?

The abort() actually also marks the point when the next transaction 
begins implicitly.

Your code would work perfectly if whenever you start a transaction, you 
simply call transaction.begin():

while True:
 transaction.begin()
 root[

This will cause the time.sleep(2) to not be included in the transaction 
and your conflict rate will quickly go down for your example. If you 
also use a random factor for the sleep (e.g. between 0.2 and 0.3) then 
you'll have a lesser chance of subsequent conflicts in your example 
because all your transactions are very similar. In real life 
transactions would be distinct enough to cause different offsets in runtime.

Hope this helps,
Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] newbie ZEO first try. ConflictError.

2009-11-26 Thread Christian Theune
Hi,

On 11/26/2009 10:55 PM, tsmiller wrote:

 Christian,
 Thanks. How painfully obvious.  I have written the words
 'transaction.begin()' about a thousand times or so!  But I get
 discombobulated when I start looking at something new ( ZEO ) and forget the
 obvious.  Final code for this little test that works perfectly:

 while True:
  transaction.begin()
  root[ one ] = program 2 -  + time.asctime()
  while True:
  try:
  transaction.commit()
  except POSException.ConflictError:
  time.sleep(.2)
  else:
  break

  time.sleep(5)

Two notes:

First, I'd leave the transaction.abort() right before the time.sleep(). 
Just to be explicit.

Second, the second while loop is superfluous - it doesn't do what it 
looks like and what you might think it does. ;)

You can try committing exactly once. If you commit after a conflict 
error, that will give you a different exception.

On the framework level conflict errors are usually handled by re-trying 
the *whole* transaction once more. E.g. in Zope it means:

- abort the transaction
- start a new transaction
- process the request as it was again

If it fails for three times then Zope gives up and hands the conflict 
error to the user.

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] Priorities?

2009-11-21 Thread Christian Theune
Hi there,

when jotting down a thought about bug 240381 I got the feedback that 
caring about the issue isn't among the (current) priorities of ZODB 
development.

Unfortunately, I don't know what those priorities are.

In addition, when going through the bug tracker this morning I found 
that the triage of bugs isn't executed very well currently and I'm a bit 
wary of trying to do something that will be shot down with a not our 
priorities quickly.

I'm trying to make up time to help where I can and I'm happy to do some 
leg work. For example I find it extremely important to have a well 
organised bug database. So one thing I'm trying to do is keep the list 
of untriaged bugs down so that when someone does have time to work on a 
fix for a bug he can easily find those that are important/urgent and 
real issues not duplicates or unreproducable things.

This involves moving bugs out of the new status as quickly as 
possible. For example #183203 has been prioritized to medium but is 
still sitting there as new. The content doesn't hint to it as 
confirmed so I'd suggest moving this over to incomplete.

I find those thoughts to be relatively obvious, but I'd rather not keep 
contributing in my spare time with things that aren't of priority to 
the project.

And again: asides from the (to me) obvious cleaning of the bug database. 
What are the priorities?

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] 3.9.4 release?

2009-11-20 Thread Christian Theune
On 11/20/2009 08:07 PM, Jeff Shell wrote:
 On Nov 20, 2009, at 11:52 AM, Jim Fulton wrote:
 If configured, sure.

 I would not trust repozo + blob backups.

 I don't trust Blobs. A year ago, I reverted all of the code I had for our CMS 
 that supported Blobs as it was impossible to copy their data in a basic Zope 
 3 copy/past/move. I think that may have been fixed, but since there's 
 practically zero documentation on how to use blobs, use them wisely, use them 
 well, and use them in fairly plain Zope 3-ish applications, I lost confidence.

I think I just found a way to fix this particular issue on the 
ZODB-level for good. I re-opened 
https://bugs.edge.launchpad.net/zodb/+bug/240381 and assigned it to 
myself. I'll see if I can do something over the weekend.

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] ZODB 3.9.3 history call causing problems for storages that still accept version parameters

2009-11-19 Thread Christian Theune
On 11/20/2009 01:07 AM, Chris Withers wrote:
 Jim Fulton wrote:
 On Thu, Nov 19, 2009 at 6:07 PM, Chris Withersch...@simplistix.co.uk  
 wrote:
 Jim Fulton wrote:
 So why not add a history method to ZEOStorage that passes size as a
 keyword argument?
 I don't know what ZEOStorage is...

See StorageServer.py around line 80. As the docstring says it is a:
Proxy to underlying storage for a single remote client.

 Then we shouldn't be having this conversation.

 I'm working off this traceback:

 Traceback (most recent call last):
 File ZODB3-3.9.3-py2.6-linux-i686.egg/ZEO/zrpc/connection.py, line
 581, in handle_request
   ret = meth(*args)
 File gocept.zeoraid-1.0b6-py2.6.egg/gocept/zeoraid/storage.py, line
 219, in history
   assert version is ''

 There is no ZEOStorage instance involved in this as far as I can tell.
 What am I missing?

Check the setup_delegation method: the history method is patched 
through directly so your traceback doesn't see the ZEOStorage anymore.

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] repozo uses md5 lib, which is deprecated in python 2.6

2009-11-18 Thread Christian Theune
On 11/18/2009 06:00 PM, Chris Withers wrote:
 Hi All,

 ZODB's repozo script uses the md5 library, which is deprecated in python
 2.6, resulting in annoying emails from cron jobs.

 A few questions:

 - Where's the tracker for ZODB nowadays to report this issue?

https://edge.launchpad.net/zodb

 - Anyone know what to replace md5 with? The warning suggests hashlib,
 which landed in 2.5. I assume it's okay to just use hashlib rather than
 worry about conditionally import md5 or hashlib, given that trunk ZODB
 and 3.9 branch are only targeted at Python 2.5 and above, right?

Not sure about that. Most people I see that need to support 2.4 and 2.6 
tend to provide a wrapper-function combined with a conditional import.

 - Does repozo have any tests? If so, how do I run them.

Looking around I found this: scripts/manual_tests/testrepozo.py

Christian


-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] blobs for noobs

2009-11-16 Thread Christian Theune
On 11/17/2009 04:46 AM, Shane Hathaway wrote:
 James Bergstra wrote:
 I'm surprised by the complete silence... was this post sent to the
 wrong list?  What would be a better one?
 
 This is the right list.  I don't know why you didn't get an answer earlier.
 
 Where can I find information on using BLOBs outside of plone?  I use
 ZODB directly from my python programs and I would like to store large
 files across ZEO.  I'm using a recent ZODB (3.9.3)

 - I use runzeo.py to start my server, how do I tell it where on the
 filesystem to put blob data?
 
 Create a ZConfig file that specifies the blob-dir option.  Does anyone 
 know where to find documentation of the ZConfig format?  I always cobble 
 something together using component.xml and examples.

Yes, same here. Actually it even has readable documentation about the
various options in there already.

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] Using a storage that is also handled by StorageServer

2009-11-12 Thread Christian Theune
Hi,

in ZEORaid we're using the storage (a ZEORaid instance) as it's being by
ZEO for recovering data from the good storages into one we're recovering.

For finishing the recovery exactly on transaction boundaries and to
avoid transactions slipping in when we think we're done we acquire the
commit lock for a short period of time.

If a client tries to write in that period of time the transaction will
be put into the StorageServer's waiting list and sit there either
indefinitely or until another client comes around calling abort() or
finish().

So this is basically an issue because StorageServer assumes that it or
another instance of StorageServer is ever talking to that storage, so it
implements a secret protocol (the waiting list) which is not officially
visible to other code.

I can hack around this for now by making the waiting list visible to my
code and notify the waiting storages from there, but, I'd like to
propose an extension to the storage API.

We basically need the ability to register callbacks with a storage that
will be called on transaction boundaries. With that we can redo the
current _restart implementation so that it can be triggered from code
that doesn't need to know that a storage is being wrapped in such a way.

If you think we can go down that route in general, then I'll prepare a
more detailed proposal including making a draft implementation.

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] Fwd: Packing and GC versus packtime

2009-11-09 Thread Christian Theune
Posted to the wrong list initially. Sorry.

 Original Message 
Subject: Packing and GC versus packtime
Date: Mon, 09 Nov 2009 13:22:04 +0100
From: Christian Theune c...@gocept.com
To: zope-...@zope.org
Newsgroups: gmane.comp.web.zope.devel

Hi,

I'm wondering:

Scenario 1: I pack a storage to a time T and append X transactions after
that

Scenario 2: I append X transactions to a storage and then pack it to time T.

Will those scenarios end up with the same result? I can imagine GC to
get in the way, but I'm not sure about how it does its thing exactly.

The question can also be phrased as: Are the operations pack and
append transaction for storages commutative?

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
Zope-Dev maillist  -  zope-...@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] StorageServer's waiting list

2009-11-09 Thread Christian Theune
Hi,

in ZEORaid recovery we acquire the commit lock of our RAIDStorage from a
thread to be able to finish recovery atomically.

That RAIDStorage is also being served from a StorageServer which causes
some trouble because it assumes that the only way for a transaction on
the served storage to end is via the StorageServer's tpc_abort or
tpc_finish method.

Thus, when a transaction comes in while the recovery has a transaction
going on the StorageServer puts it into the waiting list but never gets
the signal to continue.

Reading the code talking to tpc_transaction I found that this seems to
be merely an optimization (which I can disable by just letting
tpc_transaction return None all the time).

Why is the waiting list necessary? And why does it work alright in a ZEO
fan-out scenario?

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] zodb 3.8.3 strip_versions missing some versions?

2009-11-02 Thread Christian Theune
On 11/02/2009 10:04 AM, Chris Withers wrote:
 Hi All,
 
 I'm upgrading a Zope 2.9.8 project to Zope 2.12 + zeoraid.
 
 As I've done with previous projects, I run the .fs files through zodb 
 3.8.3's strip_versions script. For both the storages in this project, 
 the script found no version records.
 
 As a first step, I'm currently running the 2.9.8 app server against a 
 pair of zeo storage servers running zodb 3.9.3 and zeoraid 1.0b3
 
 However, when I try and view the history tab of *any* page template 
 within the .fs files, even a newly created one, I get an assertion error 
 from zeoraid as gocept.zeoraid.storage.RAIDStorage's history method is 
 getting called with version passed as an integer 20.
 
 Anyone have any idea what that 20 means and why it's being passed like that?

There's a size argument following the version which probably is not
being passed as a keyword argument so it looks like a slight API
incompatibility. I wonder whether ZEORaid should hack around that or
whether the caller should be changed.

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] ZODB 3.9.3 history call causing problems for storages that still accept version parameters

2009-11-02 Thread Christian Theune
On 11/02/2009 10:47 AM, Chris Withers wrote:
 Christian Theune wrote:
 There's a size argument following the version which probably is not
 being passed as a keyword argument so it looks like a slight API
 incompatibility. I wonder whether ZEORaid should hack around that or
 whether the caller should be changed.
 
 Hmm... looking more closely at the traceback, the caller is:
 
   File ZODB3-3.9.3-py2.6-linux-i686.egg/ZEO/StorageServer.py, line
 1382, in history
 return self.storage.history(oid, size)
 
 Now, ZODB 3.9 doesn't support versions, which is why the versions
 parameter has vanished, I guess?
 
 However, I wonder if maybe this call should be:
 
 self.storage.history(oid, size=size)
 
 ...to support storages which still accept a version parameter *and*
 newer ones that don't?
 
 Looking at RelStorage:
 http://svn.zope.org/relstorage/trunk/relstorage/storage.py?rev=105120view=auto
 
 ...I can see it's going to have the same problem.
 
 Would anyone object if I wrote a test and fixed this on the 3.9 branch
 of ZODB? I'm not really sure what to do about the trunk...

I think that's the best idea. It's not exactly part of the policy of
supporting old protocols but if we want to support and encourage 3rd
party storage implementations we should leverage this simple fix for
better backwards compatibility.

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Test time on 3.9 branch - windows?

2009-11-02 Thread Christian Theune
On 11/02/2009 12:59 PM, Chris Withers wrote:
 Jim Fulton wrote:
 Should I really expect the tests to take an hour to run on Windows?
 Yes.
 Erk. Is there a subset I can look to run when looking to patch the
 ZEOStorage308Adapter?

 Feel my windows pain.
 
 Do the tests take much less time to run on Linux?
 If so, any idea as to why?

I remember running them in less than 20 minutes.


-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Why is CHANGES.txt in src/?

2009-09-16 Thread Christian Theune
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 09/15/2009 01:12 PM, Jim Fulton wrote:
 On Tue, Sep 15, 2009 at 7:03 AM, Christian Theune c...@gocept.com wrote:
 is there a reason why ZODB's CHANGES.txt lives in ZODB/src/ instead of
 ZODB/ as in other packages?
 
 Yes, because the ZODB project has multiple Python packages.  The
 entries in CHANGES.txt don't only pertain to the ZODB package.  It
 would be silly to maintain separate CHANGES.txt file for each package.

Right. Other projects still keep the CHANGES.txt in the very top level
folder where the egg is defined, not in the Python package itself.

- -- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkqvgnIACgkQdUt9X/gknwLj5QCg2dgPF0LznOO9WtU6vGJ/RvjY
ZRYAn3+UPMaIG+2sPMsHJ1t0+2gd9Z64
=PZ3s
-END PGP SIGNATURE-
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] Why is CHANGES.txt in src/?

2009-09-15 Thread Christian Theune
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Hi,

is there a reason why ZODB's CHANGES.txt lives in ZODB/src/ instead of
ZODB/ as in other packages?

I keep tripping over this and wonder whether it's accidental or intentional.

Christian

- -- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkqvdGwACgkQdUt9X/gknwKehwCeN5ZKYbDkJK/vD3Fx/WruGUrO
NUMAnjzqFo9S7lWnniwjjG8cLWsyNHJZ
=n9O2
-END PGP SIGNATURE-
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Utility to strip version records from storages

2009-08-15 Thread Christian Theune
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 08/14/2009 09:23 PM, Jim Fulton wrote:
 I'm working on a utility to strip version records from storages.  I
 plan to release it in a bug fix 3.8 release, probably 3.8.3.
 
 It will have some limitations:
 
 - It will only convert storages that have an iterator method.  I
 suspect that FileStorages are the only storages that have iterator
 methods in 3.8 and sooner. (Maybe RelStorages do too.)
 
 - It won't give blob records any special treatment.  I think it's very
 unlikely that there will be databases that have both version record
 and blobs.  In any case, it should be possible to copy a blob
 directory separately after copying the database records.  If someone
 was insane enough to have blobs in versions, then the database records
 will be stripped but the associated blob files will be left.  This is
 so unlikely that I don't intend to spend time dealing with this
 possibility.

Hmm. I guess that those would vanish automatically after packing that
database...


- -- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkqGcrwACgkQdUt9X/gknwK7hQCgnXnfg6mt6lpInlyZvx1FGXWS
3OcAn00QEUcpEeOLf8Rg1lTAySbvepQI
=B8+A
-END PGP SIGNATURE-
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] 8-byte oids

2009-08-14 Thread Christian Theune
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 08/13/2009 10:42 PM, Shane Hathaway wrote:
 Jim Fulton wrote:
 IPersistent specifies OIDs to be non-empty strings and reserves the
 8-byte OID consisting of 8 null characters.  Lots of ZODB
 infrastructure assumes that oids are 8 bytes.  I'm tempted to say that
 oids must be 8-byte strings.
 
 +1.  The simplified standard promotes interoperability.

The difference to the spec before would be that previously strings with
less than 8 bytes were allowed?


- -- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkqFBfAACgkQdUt9X/gknwLO9QCeNuLCMk1qElAGJLFGMyagoFZT
djMAn3OAPe3BD++9UqzdPMTLwaky0idH
=mYEo
-END PGP SIGNATURE-
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] 8-byte oids

2009-08-14 Thread Christian Theune
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 08/14/2009 08:36 AM, Christian Theune wrote:
 On 08/13/2009 10:42 PM, Shane Hathaway wrote:
 Jim Fulton wrote:
 IPersistent specifies OIDs to be non-empty strings and reserves the
 8-byte OID consisting of 8 null characters.  Lots of ZODB
 infrastructure assumes that oids are 8 bytes.  I'm tempted to say that
 oids must be 8-byte strings.
 
 +1.  The simplified standard promotes interoperability.
 
 The difference to the spec before would be that previously strings with
 less than 8 bytes were allowed?

Never mind, reading one of your mails in the other thread actually
cleared this up.

- -- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkqFBkgACgkQdUt9X/gknwLJVACgiF5Mk4o++FpLBXft4VGQUYpF
oMUAoLoGs1BnnkU6m7ZVhg8xQAmF9Mys
=yzsl
-END PGP SIGNATURE-
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Zeo cache files : how to estimate the space?

2009-08-11 Thread Christian Theune
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 08/11/2009 03:32 PM, Wichert Akkerman wrote:
 On 8/11/09 15:29 , Dominique Arnoult wrote:
 Hello,
 i deal with a problem of /tmp. I have a 1 Go partition and cannot easily
 change it. I run a Zeo cluster of 7 clients. Since the lsof command, I
 can see 7 process and each process has 4 files opened of 100 Mb max.
 That corresponds of the cache-size directive of my zopecore.conf. But, I
 don't undertstand why there are 4 files and not only one by zeo client.
 Any can help me?
 
 Each zserver thread has its own cache.

Live object cache: one per thread
ZEO cache file: one per storage

Christian

- -- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkqBdCYACgkQdUt9X/gknwIlAACfSWjrZ2PECPG4f3DIzx66cT9n
2MgAoOWX2HFE+T0gUe1fuhL8TF8vkYkg
=tpax
-END PGP SIGNATURE-
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] how can I get the size of ZODB.Blob object ?

2009-07-07 Thread Christian Theune
On 07/07/2009 04:47 PM, Andreas Jung wrote:
 How about seek()ing to the end of the blob and then using tell() for getting
 the position?

Yup.

An opened blob is just a regular file handle. So the same applies as to 
normal files:

  f = open('asdf')
  t.seek(0, 2)
  t.tell()
35L

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 0 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] Fan-out support / horizontal cache sharing for blobs

2009-06-09 Thread Christian Theune
Hi there,

Zagy and I have been discussing an issue that we have with fan-out
setups and blobs.

So, assume the following setup:

- A main ZEO server which has the blob storage locally available

- A fan-out ZEO server which runs on a different machine and has 4
  clients connected

Now, the fan-out ZEO server pulls the blobs via ZEO RPC and stores them
in a blob cache directory.

The same is true for the 4 clients which also create a cache directory
and store blobs there.

We now have 5 cache directories on the second machine. The cache of the
fan-out server will be approximately the combined set of blobs from the
other clients.

As all those 5 directories live on the same disk, we'd like them to be
shared between the various clients.

This currently doesn't work because we apply coarse grained locking to
the whole directory instead of individual files. 

We propose to change this so that locking will become fine-grained and
allow multiple ZEO clients to work on the same blob cache directory.

Comments?

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] ZODB Blob Question

2009-06-03 Thread Christian Theune
Hi,

Just found this in my inbox.

On Wed, 2008-10-15 at 12:18 +0200, Andreas Zeidler wrote:
 On Oct 14, 2008, at 5:43 PM, Christian Theune wrote:
  On Tue, 2008-10-14 at 10:09 -0500, Alan Runyan wrote:
  Why must the file be closed before calling consumeFile?
 
  And would you go as far as saying that if you *do not close* the file
  before calling consumeFile - all bets are off.  You are not using  
  Blob
  as intended?
 
  You're definitely not going to be able to work on Windows, which is  
  the
  source of the requirements to close handles before moving/deleting
  files.
 
 alan and i hit that point when trying to avoid copying the uploaded  
 data before handing it to `consumeFile` and were wondering if the  
 requirement was only necessary because of that or if perhaps other  
 unexpected things would creep up later.  so, would you say it's  
 generally okay to leave the file open (until the end of the request)  
 on a posix system?

Yeah, posix systems generally allow you to operate on the file(name)
while open file handles are still referencing it. 

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Proposal (version 2): cross database reference seat belt

2009-04-30 Thread Christian Theune
Hi,

On Tue, 2009-04-28 at 13:54 -0400, Jim Fulton wrote:
 Thanks again!
 
 (Note to everyone else, Shane and I discussed this on IRC, along with  
 another alternative that I'll mention below.)
 
 I like version 2 better than version 1.  I'd be inclined to simplify  
 and it and skip the configuration flag and simply publish an event any  
 time we see a cross-database reference when saving an object.
 
 Here's proposed solution 3. :)
 
 - We add a flag to disable new cross-database references unless they  
 are explicitly registered.
 - We add a connection method to register a reference:
 
   def registerCrossDatabaseReference(from_, to):
 Register a new cross-database reference from from_ to to.
 
 - We arrange that connections can recognize old cross-database  
 references.
 
 If someone accidentally creates a new reference and the flag is set,  
 then transaction will be aborted.
 
 An interim step, if we're in a hurry to get 3.9 out, is to simply add  
 the flag.  This would disallow cross-database references in new  
 applications.  These applications could still support multiple  
 databases by providing application-level traversal across databases.

I think I'm reading something incorrectly: is there an emphasis on
*new* applications? The flag would disallow the creation of
cross-database references for a given DB -- independent of whether the
app is new or old, right? Only depending on whether the application uses
a ZODB that has the feature and has it enabled. Right?

Otherwise, I'm +1.

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] merging databases containing multidatabase references

2009-04-24 Thread Christian Theune
On Thu, 2009-04-23 at 15:02 -0700, David Glick wrote:
 I have a multidatabase of 3 databases containing a handful of  
 multidatabase references.  (This was created out of a combination of  
 naivety along with a desire to be able to work with smaller files if I  
 need to pull down a local copy of the database from the server.)  Of  
 course, now I am running into trouble because I cannot pack one of the  
 databases without occasionally having an object get garbage collected  
 that is still referenced from another database, which leads to  
 POSKeyErrors when I try to load the object containing that reference.
 
 Having now realized the folly of trying to split things into multiple  
 databases, I would really like to merge these 3 databases back into  
 1.  Any ideas for how I could go about this?  Based on 
 http://docs.zope.org/zope3/Code/ZODB/cross-database-references.txt/index.html 
   and some experimentation, multi-database references are not  
 supported by the import/export code.  Do I have other options?

I think it should be possible to write a tool that merges one database
into another. This needs some processing on the database objects as
their OIDs (and thus the internal references) need to be reorganized.

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] create unique container keys

2009-04-02 Thread Christian Theune
On Thu, 2009-04-02 at 10:19 +0200, Adam GROSZER wrote:
 Hello,
 
 What's a good practice to create unique container keys for a heavily
 loaded application? (I mean lots of writes to the same container)
 Obviously having a counter on the container and incrementing and using
 that for key gives write conflicts.
 
 What do the experts use?

If uniqueness is your only concern then using a large number range and
consuming numbers randomly will perform better than incrementing.

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] create unique container keys

2009-04-02 Thread Christian Theune
On Thu, 2009-04-02 at 09:22 -0500, Alan Runyan wrote:
 It seems like such an easy goal: autoincremental integers for a
 container.  Is this such a problem because of the ZODB architecture?
 or lack there of?  There are two database primitives that everyone
 appears to want:
 
   - autoincrementing integers for containers (tables)
 
   - indexes (not in application)
 
 The new generation of databases (couchdb, tokyo cabinet, hypertable,
 etc) autoincrementing is usually absent.  Though these data containers
 usually have index support.

ZODB has autoincrement support for one type: OIDs.

The problem of autoincrement is that this needs to be handled outside
the scope of transactions.

In a distributed fashion this seems rather hard to do in comparison to
just buying into conflicts.

The indexes are hard too. We have gocept.objectquery which is (still) in
a proof-of-concept state, although I'm getting really motivated WRT
using it for migrations.

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] create unique container keys

2009-04-02 Thread Christian Theune
On Thu, 2009-04-02 at 16:41 +0200, Wichert Akkerman wrote:
 On 4/2/09 4:36 PM, Christian Theune wrote:
  ZODB has autoincrement support for one type: OIDs.
 
  The problem of autoincrement is that this needs to be handled outside
  the scope of transactions.
 
  In a distributed fashion this seems rather hard to do in comparison to
  just buying into conflicts.
 
 
 I suspect it might be faster than the penalty of retrying a request on 
 conflict if used properly.

Sure, hard problems might still have fast solutions.

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] _p_oid

2009-04-01 Thread Christian Theune
On Wed, 2009-04-01 at 18:28 +0200, Adam GROSZER wrote:
 Hello,
 
 Does anyone know how _p_oid is generated?
 
 I'm asking because we would like to use _p_oid as a unique key to
 store BLOB-like files on the filesystem.
 Of course more threads/processes/machines are in the picture.
 So the question is once an object gets a _p_oid assigned, is it
 guaranteed to be unique over all instances accessing the same DB?

Yes.

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Relstorage and ZEO

2009-03-30 Thread Christian Theune
On Mon, 2009-03-30 at 08:05 -0700, Stephan Richter wrote:
 On Monday 30 March 2009, Anthony Gerrard wrote:
  The impression I get is that using both ZEO and Relstorage are recommended.
 
 You cannot use both at the same time. Either you use Filestorage/ZEO or 
 Relstorage, as in Relstorage the underlying DB takes care of the replication 
 features.

You can decide for each storage in your application server. At least in
principle you should.

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] FileStorage iteration data records missing data_txn

2009-01-10 Thread Christian Theune
Hi,

On Fri, 2009-01-09 at 11:39 -0500, Jim Fulton wrote:
 On Jan 9, 2009, at 7:41 AM, Christian Theune wrote:
 
  Hi,
 
  in ZEORaid we switched from using `restore` to `store` for replaying
  transactions from another storage and found that the data records that
  FileStorage returns aren't filling in the `data_txn` fields correctly,
  but end up writing `None` all the time.
 
 What makes you think this is incorrect?
 
 data_txn should:
 
 1. Not be in the interface.  It is an optimization that depends on a  
 peculiarity of FileStorage of a case that only arises (today) with  
 undo.  I'm inclined to remove this optimization. In fact, in the  
 presence of blobs, the optimization is dubious.  This implies that the  
 prev_txn argument to restore should be ignored.
 
 2. data_txn should only be other than None for a record that was part  
 of an undo.  It is used to avoid copying data. Rather than copying  
 data, we simply record the position of the earlier record that  
 contains the data.

My thought was based on the presumption that the DataRecord interface was
described correctly (which it isn't as you point out below).

  I'm not exactly sure how to fix this, but attached is a patch that  
  makes
  it work for the cases I could come up with.
 
  I'd like to add this change to the trunk (I'll write tests if this
  change gets accepted).
 
 
 Your patch is incorrect.  data_txn is not the previous record  
 transaction id.  It is the transaction id of the transaction  
 containing data when the current record doesn;t contain any.  It is  
 used as an optimization by referring to data stored in an earlier  
 record rather than copying data to the current record.
 
 The relevant interface didn't originally mention this field. The  
 documentation you added is incorrect. I'm going to remove the field  
 (along with version and tid) from the interface.

Ah. That's the source of the misunderstanding, thanks for clearing that
up. This sounds like I should also clean up the DataRecord in the
BaseStorage because that also exposes data_txn, and storage iteration
protocol on ZEO transports this attribute as well.

Looks like I've got to use loadBefore() to find the transaction that an
object's modification was based on.

Christian

-- 
Christian Theune · c...@gocept.com
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] svn.zope.org up again?

2008-11-11 Thread Christian Theune
On Tue, 2008-11-11 at 12:35 +0200, Marius Gedminas wrote:
 On Tue, Nov 11, 2008 at 08:51:28AM +0100, Adam GROSZER wrote:
  Hello Stephan,
  
  svn: Can't open file '/svn/repos/main/db/revs/70320': No such file or 
  directory
  program finished with exit code 1
  
  Seems that one revision did not get restored.
  It breaks also on show log, where other folders with older revisions
  seem to work.
 
 I've a full svn mirror up to rev 92837 if it turns out to be needed.

Same here. :) 

It's publicly available at: http://svn.zope.de/zope.org

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] RFC: External Garbage Collection

2008-11-07 Thread Christian Theune
On Fri, 2008-11-07 at 09:15 -0500, Jim Fulton wrote:
 On Nov 7, 2008, at 1:40 AM, Christian Theune wrote:
 
  On Thu, 2008-11-06 at 17:46 -0500, Jim Fulton wrote:
  I've posted a new proposal:
 
http://wiki.zope.org/ZODB/ExternalGC
 
  That addresses multi-database garbage collection and can also be
  useful in other situations.
 
  Comments are welcome.  Absent objections, I may start working on this
  fairly soon.
 
  +1 as far as I can see.
 
  One little thing: I find the interface a bit of a misnomer as all
  functions are IMHO useful on their own. The fact that you're going to
  instrument them to implement GC might not need to go into that  
  interface
  name.
 
 
 shrug

Thought so. :)

 I'm seriously contemplating a ZODB 4. That might be an opportunity  
 collapse a number of the storage interfaces into a new IStorage.

W00t.

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] problem with broken

2008-11-06 Thread Christian Theune
On Thu, 2008-11-06 at 11:20 +0200, Marius Gedminas wrote:
 On Wed, Nov 05, 2008 at 03:59:07PM +0100, Christian Theune wrote:
  On Wed, 2008-11-05 at 16:00 +0200, Marius Gedminas wrote:
   On Wed, Nov 05, 2008 at 11:48:35AM +0100, Christian Theune wrote:
On Wed, 2008-11-05 at 11:31 +0100, Laurence Rowe wrote:
 Broken objects occur when the class for a pickled object cannot be 
 imported. To change the location of a class, you need to provide an 
 alias at the old location so that the object can be unpickled, i.e. 
 MyOldClassName = MyNewClassName. You can only remove MyOldClassName 
 after you have updated all of the pickles (with your code below).

Note: We made a relatively good experience by removing those symbols
from their original modules and provide a generation which first sets up
dummies, then runs migration code to remove/rebase those objects and
then remove the dummies again.
   
   How do you do that?  Monkey-patching?
  
  Yes. Monkey-patching *and* monkey-unpatching.
 
 Thought so.
 
 By the way, this has a potential failure mode when you need to evolve
 more than one generation, and a previous generation script needs to
 access those objects in the old location before your new generation
 script sets up the dummies.

Yes. Our deployments are under relatively tight control and we check
that generations work on a copy of a database before doing the actual
roll-out. In this case we currently estimate that we'll need to change
that earlier generation.

Generations assume that the code looks like what it did when the
generation was written -- which certainly doesn't hold.

Christian

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] RFC: External Garbage Collection

2008-11-06 Thread Christian Theune
On Thu, 2008-11-06 at 17:46 -0500, Jim Fulton wrote:
 I've posted a new proposal:
 
http://wiki.zope.org/ZODB/ExternalGC
 
 That addresses multi-database garbage collection and can also be  
 useful in other situations.
 
 Comments are welcome.  Absent objections, I may start working on this  
 fairly soon.

+1 as far as I can see.

One little thing: I find the interface a bit of a misnomer as all
functions are IMHO useful on their own. The fact that you're going to
instrument them to implement GC might not need to go into that interface
name.

Christian

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] problem with broken

2008-11-05 Thread Christian Theune
On Wed, 2008-11-05 at 11:31 +0100, Laurence Rowe wrote:
 Broken objects occur when the class for a pickled object cannot be 
 imported. To change the location of a class, you need to provide an 
 alias at the old location so that the object can be unpickled, i.e. 
 MyOldClassName = MyNewClassName. You can only remove MyOldClassName 
 after you have updated all of the pickles (with your code below).

Note: We made a relatively good experience by removing those symbols
from their original modules and provide a generation which first sets up
dummies, then runs migration code to remove/rebase those objects and
then remove the dummies again.

That way you can get your source code clean of 'BBB' code in a single
generation.

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] problem with broken

2008-11-05 Thread Christian Theune
On Wed, 2008-11-05 at 16:00 +0200, Marius Gedminas wrote:
 On Wed, Nov 05, 2008 at 11:48:35AM +0100, Christian Theune wrote:
  On Wed, 2008-11-05 at 11:31 +0100, Laurence Rowe wrote:
   Broken objects occur when the class for a pickled object cannot be 
   imported. To change the location of a class, you need to provide an 
   alias at the old location so that the object can be unpickled, i.e. 
   MyOldClassName = MyNewClassName. You can only remove MyOldClassName 
   after you have updated all of the pickles (with your code below).
  
  Note: We made a relatively good experience by removing those symbols
  from their original modules and provide a generation which first sets up
  dummies, then runs migration code to remove/rebase those objects and
  then remove the dummies again.
 
 How do you do that?  Monkey-patching?

Yes. Monkey-patching *and* monkey-unpatching.

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] problem with broken

2008-11-05 Thread Christian Theune
On Wed, 2008-11-05 at 16:02 +0200, Marius Gedminas wrote:
 On Wed, Nov 05, 2008 at 01:15:58PM +0100, Adam GROSZER wrote:
  Thanks for the advices on the generation script, but I think the
  problem lies in that the broken object is loaded fine but cannot be
  written back again to ZODB.
 
 Yes.  You can't do anything with broken objects.  They're there only so
 that you don't get an exception when loading an object that refers to
 a broken object.
 
  Or do I misunderstand that broken is a sort of proxy for the missing
  class that allows it to be around?
 
 Yes, but being around is a rather narrow goal that doesn't allow you
 to do anything with it.

You do can inspect the unpickled state.

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] New gc argument for pack

2008-10-25 Thread Christian Theune
On Sat, 2008-10-25 at 12:59 -0400, Jim Fulton wrote:
 I propose to add a new optional gc keyword argument for database  
 packing.  It will default to true.  If given and false, then pack non- 
 current database records will be removed, but no garbage collection  
 will be performed.
 
 Any objections?

Mechanics sound good. However, if I got you right, the description
contained a double negative that I'd like to avoid.

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] New gc argument for pack

2008-10-25 Thread Christian Theune
On Sat, 2008-10-25 at 14:06 -0400, Jim Fulton wrote:
 On Oct 25, 2008, at 2:03 PM, Christian Theune wrote:
 
  On Sat, 2008-10-25 at 12:59 -0400, Jim Fulton wrote:
  I propose to add a new optional gc keyword argument for database
  packing.  It will default to true.  If given and false, then pack  
  non-
  current database records will be removed, but no garbage collection
  will be performed.
 
  Any objections?
 
  Mechanics sound good. However, if I got you right, the description
  contained a double negative that I'd like to avoid.

 no no.

 :)

That means yes? :)

 Seriously, I don't see the double negative.

Now I don't see it anymore too. :)

/me shuts up and goes off for weekend relaxation.

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Blobs, Copies, and Exports (Zope 3)

2008-10-24 Thread Christian Theune
On Fri, 2008-10-24 at 09:51 -0400, Jim Fulton wrote:
 2. I doubt that blobs have been factored into ZODB exports. This is,  
 obviously, an oversight.

They were factored in and we have tests. However, the initial pickle
will empty them: copying blobs this way including their content isn't
currently supported.

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Blobs, Copies, and Exports (Zope 3)

2008-10-24 Thread Christian Theune
On Fri, 2008-10-24 at 15:06 +0100, Chris Withers wrote:
 Christian Theune wrote:
  On Fri, 2008-10-24 at 09:51 -0400, Jim Fulton wrote:
  2. I doubt that blobs have been factored into ZODB exports. This is,  
  obviously, an oversight.
  
  They were factored in and we have tests. However, the initial pickle
  will empty them: copying blobs this way including their content isn't
  currently supported.
 
 That doesn't sound like factored in to me, that sounds like bodged and 
 ignored ;-)

No. I was pointing out that Jeff first does a pickle and then the
export. *His* pickle breaks it. The export works: it exports the (then
empty) blob. 

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] [Zope-dev] Blobs and modes

2008-10-24 Thread Christian Theune
On Fri, 2008-10-24 at 15:50 -0400, Benji York wrote:
 On Fri, Oct 24, 2008 at 3:28 PM, Jim Fulton [EMAIL PROTECTED] wrote:
 
  On Oct 24, 2008, at 3:24 PM, Benji York wrote:
 
  Is there a good reason blobs don't support b or t in the mode
  strings passed to open?  I'm refactoring some code that expects a
  file-like object to use blobs and it wants to pass wb as the mode
  (which is a sane thing to do).
 
  Blobs are implicitly binary. (Note the B in Blob.)
 
  I'll add support for b and t to the blob code if no one objects.
 
  I object.
 
  BTW, this questions should have been asked o zodb-dev.
 
 [yep, copied on this message]
 
 For perpetuity:
 
 In a private discussion Jim explained that the blob .open() method
 returns things intended to be file-like, but the method itself isn't
 intended to mimic Python's open function, and as-such doesn't support
 the additional mode variations.

It's intended to be similar but not identical.

We originally did support 'b' and 't' but decided, as Jim pointed out,
hat we only care for binary data and thus only the binary modes.

I can't remember the reason that drove us to actually rip it out. Maybe
the archive of zodb-dev knows.

 This distinction is similar to why __init__ methods aren't described in
 (zope.interface) interfaces; how you construct an object isn't
 prescribed by the interface exposed by the object itself.

I'm not sure what you're saying. It's not the __init__ problem,
as .open() is described on the Blob class.

Christian

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] ZODB4 4.0a2

2008-10-20 Thread Christian Theune
On Mon, 2008-10-20 at 11:12 -0400, Jim Fulton wrote:

 I'm not an owner of that. I wonder who on this list is.

I guess it's nobody, except if Jeremy is still reading. (Jeremy? Are you
out there?)

I guess we could ask a PyPI admin to give us ownership.

 Someday, there will be a ZODB 4.  It will be named ZODB and will  
 have version numbers starting with 4..

*dream* :)

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] ZODB Blob Question

2008-10-14 Thread Christian Theune
On Tue, 2008-10-14 at 10:09 -0500, Alan Runyan wrote:
 Hi guys.
 
 At the plone sprint we started reviewing some code that uses Blob.
 The code that we reviewed is working in production although I wanted
 to be clear about the expected usage of Blob.
 
 ZODB/tests/blob_consume.txt
 
 says that you *must* close a file before calling consumeFile().  It seems
 the current Plone Blob implementation *does not close the file* before
 calling consumeFile.  And all appears to be working.
 
 Why must the file be closed before calling consumeFile?
 
 And would you go as far as saying that if you *do not close* the file
 before calling consumeFile - all bets are off.  You are not using Blob
 as intended?
 
You're definitely not going to be able to work on Windows, which is the
source of the requirements to close handles before moving/deleting
files.

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] What's best to do when there is a failure in the second phase of 2-phase commit on a storage server

2008-10-03 Thread Christian Theune
On Fri, 2008-10-03 at 10:51 +0200, Dieter Maurer wrote:
 That's true for a FileStorage -- but it may not be that easy for
 other storages (e.g. BSDDB storage).

Those storages using another system in the backend have to rely on them
providing a two-phase commit API which needs to implement the second
phase guarantee, or not?

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] problems w/ Pickle based deep-copy of Blob objects

2008-09-23 Thread Christian Theune
On Mon, 2008-09-15 at 13:19 -0700, Rob Miller wrote:
 Christian Theune wrote:
  On Tue, 2008-08-19 at 12:05 -0700, Rob Miller wrote:
  hi all,
 
  i've been experimenting w/ getting ZODB 3.8's blob storage support to work 
  w/ 
  the openplans.org stack, and have hit a snag about which i could use some 
  feedback.
  
  There's another bug around the corner:
  
  If CMFEditions causes new OIDs be handed out to those objects (or even
  remove them) then the blob data will disappear.
 
 this is because the blob file path is constructed from the OID, right?

Yes.

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] problems w/ Pickle based deep-copy of Blob objects

2008-09-14 Thread Christian Theune
On Tue, 2008-08-19 at 12:05 -0700, Rob Miller wrote:
 hi all,
 
 i've been experimenting w/ getting ZODB 3.8's blob storage support to work w/ 
 the openplans.org stack, and have hit a snag about which i could use some 
 feedback.

There's another bug around the corner:

If CMFEditions causes new OIDs be handed out to those objects (or even
remove them) then the blob data will disappear.


-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Backing up Data.fs and blob directory

2008-09-03 Thread Christian Theune
Hi Laurence,

On Wed, 2008-09-03 at 08:06 -0700, Laurence Rowe wrote:
 Backing up a ZODB has always been fairly easy in the past, but with the
 introduction of blobs things have got a little more complex.
 
 How should I create a consistent backup of my Data.fs and blob directory?
 
 My inital guess would be to take a copy of the Data.fs, then take a copy of
 the blob directory to ensure I have all blobs referenced in the Data.fs.
 Would I be able to restore from such a backup safely? (it may contain blobs
 from transactions that were newer than the backed up Data.fs).
 
 This should be safe because committed blobs are immutable and any dangling
 blobfiles would not interfere with the creation of blobs from new
 transactions in the restored zodb, as transaction ids would not overlap.
 
 I would be greatful if anyone could point out holes in my reasoning or has
 experience of this.

Snapshotting a blob directory after taking a copy of your Data.fs should
be safe, as long as you don't pack in between.

Note that at the design stage we imagined that blob directories might
become really large making backups unfeasable. For those situations we
handwaved a very reliable storage for this directory, like a
self-contained SAN/NAS solution that keeps your data safe.

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] New to ZODB, how to make a db efficently?

2008-08-19 Thread Christian Theune
Hi,

On Mon, 2008-08-18 at 20:17 +0300, Markus wrote:
 I'm new here, so hi! ;-)
 
 I'm looking to create a database of persons and events, later to
 search persons by names, events by dates and locations (participants
 of events are already in an attribute of the event and instances of
 Person, which inherits from Persistent)
 
 At first I made a PersistentList of all the events and a
 PersistentMapping of all the people by an id, but later found out,
 that searching through a list with a for-loop is very slow (there are
 about 200 000 people and 100 000 events). And so as I've looked around
 here a bit (the docs and
 the wikis are mostly outdated or empty -- there's also talk about the
 bad documentation in this mailinglist) I've found, that I should be
 using OOBTree for making the indexes.

Yes, the documentation situation is less than desirable for
beginners. :/

 So what I'm asking is, is it reasonable to create the db like this:
 persons in root['persons'],
 which is a OOBTree, mapping names to Person-objects and events in
 root['events'], which also an OOBTree, mapping dates to Event-objects?
 And if I want to map locations to events, I should do it at the same
 time, when creating the events, so I don't have to loop through all of
 them again?

Here's what I do:

Create a physical structure that models your data in a 'natural' way.
This can e.g. be:

- A root object representing the application, in case you may want to
  hold multiple instances of your application within a single database.

- BTrees for storing large lists of objects, like you do. But mainly
  with a single lookup direction, e.g. for you the name-to-person
  mapping.

  Some times, those lists just work with arbitrary IDs for the objects,
  much like primary keys in tables.

  Alternatively, if you have a VFS-like structure, you might want to use
  the folder/item metaphor for the main structure of your database.

- Add an indexing/searching framework for orthogonal queries. This is
  called `cataloging` in the Zope/ZODB universe. Some (more or less)
  standalone solutions are found in the proximity of `zope.catalog`.

  Use those to create tabular views on your data (independent of the
  physical structure) that are queryable by indexed arguments. Those are
  fast.

 If I have a OOBTree-mapping of dates to events, what should the values
 of it be? PersistentLists? I've read something about Buckets or Sets,
 but I'm not sure what they are good
 for, Bucket seems to behave like the equivalent BTree (OO, or IO or OI
 or IF or ), but Set seems to be a set... Is that true?

I'd go with a flat structure. See my note on 'arbitrary' IDs above.

 What's the difference between a PersistentMapping and a OOBTree or
 OOBucket? Only the back-end, because on the front they all seem like
 dictionarys? Should I be using OOBTrees and OOBuckets for what I'm
 doing, because strings and dates are Os and not Is or Fs or...

A PM is a persistent dictionary that loads all of its data at once.

A bucket is an internal node of a BTree.

A BTree is a (key-)sorted(!) data structure that provides a key/value
interface like dictionaries do. Due to that, the lookup of items in a
BTree is fast and also memory efficient, as only individual buckets of
the BTree need to be activated for a lookup (optimally only O(logn)
buckets).

Christian

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development


signature.asc
Description: This is a digitally signed message part
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] what could cause this kind of cache corruption?

2008-08-11 Thread Christian Theune
Hi,

On Mon, 2008-08-11 at 09:37 -0400, Jim Fulton wrote:
 On Aug 3, 2008, at 4:03 AM, Christian Theune wrote:
 
  On Fri, 2008-08-01 at 09:21 -0400, Jim Fulton wrote:
  On Jul 31, 2008, at 1:53 PM, Chris Withers wrote:
  What I'd *really* like is a stable zodb release with Christian's
  patches for zeoraid and Shane's patches for RelStorage that then
  feeds through into a stable release of Zope 2.
 
 
  I'm not familiar with Christians patches. If they are bug fixes, they
  could make it into 3.8.  I plan to include Shane's patches in 3.9.  
  I'm
  not sure when there will be a stable release of 3.9.
 
  My patches aren't bug fixes and the plan was never to include them to
  ZODB 3.8.
 
  However, I was hoping for inclusion of at least the
  `storage-iterator-branch` in 3.9 and I asked a few times over the past
  months already for review but haven't gotten any responses at all so
  far. This branch has been used in production for a few month already.
 
 I haven' t had time to review this yet.  I'll get to it eventually.   
 I'm sure I'll get to it before 3.9 is released.

\o/

  In addition there's the `bushy-directory` branch which introduces a  
  new
  blob directory structure to avoid scalability issues with filesystems
  like ext2/3 that only accept limited numbers of entries in a  
  directory.
 
 Hm, this sounds like a bug fix if it prevents failures.

It is. We ran into a failure on a production system that ran ext(2|3).

  This branch is being used in production but needs a little which  
  should
  happen in the next days. (The packing is reported to block.)
 
 Is the packing blockage unique to this branch?

Blocking currently happens on both trunk and 3.8. 

  At last there's a small `ctheune-betterimport` branch which fixes ZEXP
  import for weakref objects and has been sitting around for almost a  
  year
  now too.
 
 
 Is this a bug fix for 3.8? Or a feature for 3.9?

I can't remember when 3.8 came out. Back than it was a feature. OTOH you
could call it a bugfix because you could create ZEXP files that could
never be imported again.

Christian

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] what could cause this kind of cache corruption?

2008-08-03 Thread Christian Theune
On Fri, 2008-08-01 at 09:21 -0400, Jim Fulton wrote:
 On Jul 31, 2008, at 1:53 PM, Chris Withers wrote:
  What I'd *really* like is a stable zodb release with Christian's  
  patches for zeoraid and Shane's patches for RelStorage that then  
  feeds through into a stable release of Zope 2.
 
 
 I'm not familiar with Christians patches. If they are bug fixes, they  
 could make it into 3.8.  I plan to include Shane's patches in 3.9. I'm  
 not sure when there will be a stable release of 3.9.

My patches aren't bug fixes and the plan was never to include them to
ZODB 3.8.

However, I was hoping for inclusion of at least the
`storage-iterator-branch` in 3.9 and I asked a few times over the past
months already for review but haven't gotten any responses at all so
far. This branch has been used in production for a few month already.

In addition there's the `bushy-directory` branch which introduces a new
blob directory structure to avoid scalability issues with filesystems
like ext2/3 that only accept limited numbers of entries in a directory.
This branch is being used in production but needs a little which should
happen in the next days. (The packing is reported to block.)

At last there's a small `ctheune-betterimport` branch which fixes ZEXP
import for weakref objects and has been sitting around for almost a year
now too.

Christian

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] ZODB fails on test

2008-08-03 Thread Christian Theune
On Sun, 2008-08-03 at 11:36 +0300, Malka Cymbalista wrote:
 We are trying to install  ZODB3-3.4.2 on a Linux machine running Red Hat 
 Enterprise Linux AS release 4 and python 2.5.2. We ran 
python setup.py build 
 which seemed to run ok except that we got very many warnings of the type
 In file included from 
 Dependencies/BTrees-ZODB3-3.4.2/BTrees/BTreeModuleTemplate.c:335,
  from Dependencies/BTrees-ZODB3-3.4.2/BTrees/_IFBTree.c:34:
 Dependencies/BTrees-ZODB3-3.4.2/BTrees/BTreeItemsTemplate.c:389: warning: 
 initialization from incompatible pointer type
 Dependencies/BTrees-ZODB3-3.4.2/BTrees/BTreeItemsTemplate.c:391: warning: 
 `intargfunc' is deprecated (declared at 
 /usr/local/include/python2.5/object.h:133)
 
 We then ran 
python test.py
 and got the results that are in the attached file.  This does not look right. 
  Can we continue with the installation?
 Any help will be appreciated.

ZODB 3.4 is rather old and it doesn't surprise me the tests won't even
really start up with Python 2.5. Try .. uh .. Python 2.4 or maybe even
2.3.

Christian

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] Blob savepoints leaving garbage?

2008-06-26 Thread Christian Theune
Hi,

I think I didn't totally grasp the way that blob savepoints work correctly. At
one of our installations we have lots of .spb files left around. 

Looking at the code I don't see where .spb files get cleaned up again on
savepoint aborts.

On the bushy branch I found that having the TmpStore create directory
structures is probably a bad idea. I propose to have it create a directory
`savepoints` in the temporary directory and create files called
`oidrepr-tidrepr.spb`.

Comments?

Christian

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Blob savepoints leaving garbage?

2008-06-26 Thread Christian Theune
On Thu, Jun 26, 2008 at 08:32:25PM +0200, Christian Theune wrote:
 Hi,
 
 I think I didn't totally grasp the way that blob savepoints work correctly. At
 one of our installations we have lots of .spb files left around. 
 
 Looking at the code I don't see where .spb files get cleaned up again on
 savepoint aborts.

I reviewed the savepoint tests and see that they don't check for cleanup:
neither on rollback, nor on abort.

 On the bushy branch I found that having the TmpStore create directory
 structures is probably a bad idea. I propose to have it create a directory
 `savepoints` in the temporary directory and create files called
 `oidrepr-tidrepr.spb`.

I implemented this on the branch and it seems to work well. I find it easier
to inspect on the filesystem than having savepoint state being distributed
over the whole structure.

Christian

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] Branch screwup, I used the trunk

2008-06-21 Thread Christian Theune
Grrr.

I screwed up my branching for the directory layout and at least one
checkin went to the trunk. I'm cleaning it up right now, please give me some
time to see what happened. I'll report back in a while.

Christian

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Branch screwup, I used the trunk

2008-06-21 Thread Christian Theune
On Sat, Jun 21, 2008 at 02:30:54PM +0200, Christian Theune wrote:
 Grrr.
 
 I screwed up my branching for the directory layout and at least one
 checkin went to the trunk. I'm cleaning it up right now, please give me some
 time to see what happened. I'll report back in a while.

Looks like I forgot to switch my working copy when I branched off. To clean
this up I removed the branch, branched the trunk off again and backed out my
changes from the trunk afterwards.

Sorry,
Christian

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Blob directory structure scalability limits

2008-06-21 Thread Christian Theune
On Fri, Jun 20, 2008 at 07:35:10PM +0200, Christian Theune wrote:
 [...] and I'm working on an offline migration script that should be
 completed by tomorrow.

The offline migration script is completed.

I'm currently trying to make the tests run on windows. The code probably does
run, but I get lots of errors due to path names in doctests and bogus
permission information.

Christian

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Blob directory structure scalability limits

2008-06-20 Thread Christian Theune
Me again,

On Thu, Jun 19, 2008 at 01:38:38PM +0200, Christian Theune wrote:
 Hi,

 We propose to introduce a new mode for the blob storage which breaks the
 directory structure into one level per byte of the oid. This would lead to
 directories 0x00-0xFF nested in 8 levels. 

I implemented a `bushy` layout and started calling the old layout `lawn` in
reference to the DirectoryStorage terminology.

The branch is 'ctheune-bushy-directory`.

The layouts are pluggable now, provide 100% compatibility to the current
implementation and I'm working on an offline migration script that should be
completed by tomorrow.

I'd like to get feedback and eventually the allowance to merge this into the
trunk, we need this rather urgently so I'd be happy to fix any issues quickly
that hinder the merge if they get pointed out.

Christian

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Blob directory structure scalability limits

2008-06-20 Thread Christian Theune
Hi,

On Fri, Jun 20, 2008 at 07:55:17PM +0200, Andreas Jung wrote:


 --On 19. Juni 2008 14:31:47 +0200 Martijn Faassen 
 [EMAIL PROTECTED] wrote:

 Hi there,

 On Thu, Jun 19, 2008 at 1:38 PM, Christian Theune [EMAIL PROTECTED] wrote:
 [snip]
 We propose to keep both implementations around and allow to select which
 one to use. We would extend the FileSystemHelper to abstract the two
 strategies.

 Could the default be to choose the more scalable one, or would this
 lead to backwards compatibility issues?



 Good point especially because Zope 2.11 is now inofficially released and  
 people will start using blobs based on the limited directory layout...so  
 how would a migration look like when people do encounter the current  
 limitations?

It's 100% backwards compatible. When the old layout is used a warning is
issued with a hint to migrate but I continue to fully support the old data
structures. When a new directory is started, the new layout becomes the
default.

Migration comes in the form of a command line script that can convert the old
structure to the new one. It requires the database to be offline, but I'm
working hard to make it reasonably fast. The script will be available ...
later today.


Christian


-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] Blob directory structure scalability limits

2008-06-19 Thread Christian Theune
Hi,

one of our installations hit a scalability limits with the current blob
directory structure.

The current structure looks like:

\blobs\
oid\
tid.blob
tid.blob
...
oid\
...
...\

We hit a limit with a database that contains more than 32k blob objects
because ext3 doesn't allow more than 32k entries in a directory.

We propose to introduce a new mode for the blob storage which breaks the
directory structure into one level per byte of the oid. This would lead to
directories 0x00-0xFF nested in 8 levels. 

The last directory denotes the blob itself and looks like the current
directory: a list of blob files named by the tids they were committed for.

We propose to keep both implementations around and allow to select which one
to use. We would extend the FileSystemHelper to abstract the two strategies.

We would also provide a migration tool that can convert the old format to the
new format.

Comments?

Christian


-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Blob directory structure scalability limits

2008-06-19 Thread Christian Theune
Hi,

On Thu, Jun 19, 2008 at 09:29:13AM -0400, Jim Fulton wrote:
 We propose to introduce a new mode for the blob storage which breaks  
 the
 directory structure into one level per byte of the oid. This would  
 lead to
 directories 0x00-0xFF nested in 8 levels.

 +1

 ...

 We propose to keep both implementations around and allow to select  
 which one
 to use. We would extend the FileSystemHelper to abstract the two  
 strategies.

 -1 to making this selectable.

 We would also provide a migration tool that can convert the old format 
 to the
 new format.

 Maybe we can support, but deprecate the old layout and provide a  
 conversion scriptt.

Good for me as well.

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] Ruby/Smalltalk OODB

2008-06-01 Thread Christian Theune
Hi,

this might be interesting to ZODB users and developers:
http://rss.slashdot.org/~r/Slashdot/slashdot/~3/302177093/article.pl

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] zodb does not save transaction

2008-05-29 Thread Christian Theune
On Wed, May 28, 2008 at 07:55:19PM -0700, tsmiller wrote:
 
 ZODB list,
 
 I have a bookstore that uses the ZODB as its storage.  It uses qooxdoo as
 the client and CherryPy for the server.  The server has a 'saveBookById'
 routine that works 'most' of the time.  However, sometimes the
 transaction.commit() does NOT commit the changes and when I restart my
 server the changes are lost.  

This sounds like you are using mutable data types (like lists or dicts) in the
non-persistence aware variants.

Christian

-- 
Christian Theune · [EMAIL PROTECTED]
gocept gmbh  co. kg · forsterstraße 29 · 06112 halle (saale) · germany
http://gocept.com · tel +49 345 1229889 7 · fax +49 345 1229889 1
Zope and Plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] RelStorage and BLOBs

2008-05-07 Thread Christian Theune
On Wed, May 07, 2008 at 08:33:34AM -0300, David Pratt wrote:
 Hi Christian. Curious, what were you using for postgres replication?  
 Many thanks.

The only solution that I know of is slony (which is also sold in a commerical
wrapping by EnterpriseDB) which is very awkward. I'm not aware of other
solutions although people say they exist.

-- 
gocept gmbh  co. kg - forsterstrasse 29 - 06112 halle (saale) - germany
www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 -
fax +49 345 122 9889 1 - zope and plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] RelStorage and BLOBs

2008-05-06 Thread Christian Theune
On Tue, May 06, 2008 at 01:47:45PM -0600, Shane Hathaway wrote:
 David Durham, Jr. wrote:
 My questions is whether or not RelStorage supports BLOBs.  My
 situation is that I have a Plone site with user uploaded images and
 other files, that should presumably be stored as BLOBs with
 RelStorage.  I'm open to placing BLOBs outside of RelStorage if that's
 reasonably accomplished.

 I think an NFS mount is still a better place for BLOBs than a relational  
 database.  If we put BLOBs in a relational database, we'd have to  
 carefully dance with inter-thread connections and simulated file handles  
 that may stay open for a long time.  With NFS those concerns are already  
 taken care of.

 The normal way to set up BLOB storage in zope.conf is to create a  
 blobstorage wrapper around a storage configuration.  That might just  
 work with RelStorage, but I haven't tried it yet.

At leasts its a scenario that is intended to work. I'd be happy about feedback
of people who use it.

 The whole point of using RelStorage, for me, is reliability since I
 can use Oracle features to improve failure scenarios.  I realize that
 Zope sells a replication product, but I will not be able to obtain
 funding for this.  I'm also curious if something like ZeoRAID would be
 more appropriate for my usage scenario.

 Well, I think RelStorage is up to the task, though the capability has  
 not yet been proven.

I'm kind of curious what a match of RelStorage and ZEORaid may give. FWIW my
experiences with Postgresql replication aren't that good so you could still go
that route using two RelStorages with one (or more) ZEORaids in front.

Christian

-- 
gocept gmbh  co. kg - forsterstrasse 29 - 06112 halle (saale) - germany
www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 -
fax +49 345 122 9889 1 - zope and plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Re: ZODB Benchmarks

2008-03-25 Thread Christian Theune
Hi,

On Fri, Mar 21, 2008 at 09:08:28PM +0100, Dieter Maurer wrote:
 Chris Withers wrote at 2008-3-20 22:22 +:
 Roché Compaan wrote:
  Not yet, they are very time consuming. I plan to do the same tests over
  ZEO next to determine what overhead ZEO introduces.
 
 Remember to try introducing more app servers and see where the 
 bottleneck comes ;-)
 
 We have seen commit contention with lots (24) of zeo clients
 and a high write rate application (allmost all requests write to
 the ZODB).

I talked to Brian Aker (MySQL guy) two weeks ago and he proposed that we
should look into a technique called `group commit` to get rid of the commit
contention.

Does anybody know this technique already and maybe has a pointer for me?

Christian

-- 
gocept gmbh  co. kg - forsterstrasse 29 - 06112 halle (saale) - germany
www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 -
fax +49 345 122 9889 1 - zope and plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Zeo Server as a single point of failure

2008-03-10 Thread Christian Theune
Hi,

On Mon, Mar 10, 2008 at 08:28:48PM -0600, Shane Hathaway wrote:
 Christian Theune wrote:
 Hi,
 On Mon, Mar 10, 2008 at 05:34:59PM -0500, Kenneth Miller wrote:
 Hello all,

  I'm currently developing my application ontop of zodb/zeo, and the 
 idea of having the Zeo server the only single point of failure still 
 bothers me. My question is, has anyone thought of any solutions for 
 this. My idea was to have a few or more background processes that kept 
 multiple servers synced and concurrent. Any thoughts?
 Just to make sure that all of the authors involved with anything here 
 spoke
 up, please refer to the other two mails by Gary and Shane. ;)

 Heh.

 How is the ZEO RAID project going, anyway?  It seems like a good idea and I 
 don't think it actually depends on ZEO, does it?  For example, I wonder if 
 it's possible to create a RAID storage around a set of RelStorage 
 instances.


We have alpha1 out there (see the zope.org repository) with full fail-over and
recover facilities.

We made some changes to the ZODB trunk to clean up some interfaces and make
ZEO support the more elaborate protocol details.

 I got a report from one person who put RelStorage behind a ZEO server. 
 Apparently it works fine, though I haven't tried it myself.  Maybe we're 
 finally reaching the point where we can choose from several ZODB storage 
 components and connect them with ease.

Yes, reaching that stage would be nice.

Christian

-- 
gocept gmbh  co. kg - forsterstrasse 29 - 06112 halle (saale) - germany
www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 -
fax +49 345 122 9889 1 - zope and plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Re: become a ZODB mentor in the Google Summer of Code!

2008-03-04 Thread Christian Theune



Martijn Faassen schrieb:

Hey,

Martijn Faassen wrote:
It would be great if we put our community's secret gem, the ZODB, into 
the limelight more, and the Google Summer of Code would be a great 
opportunity. We need mentors, and fast, so if you want to mentor 
someone, please sign up in this wiki page here:


http://wiki.zope.org/gsoc/SummerOfCode2008


No takers?


It's on my list, I'll get around to it tomrrow, I guess.
(need to get a google login. i hate that.)

--
gocept gmbh  co. kg - forsterstrasse 29 - 06112 halle (saale) - germany
www.gocept.com - [EMAIL PROTECTED] - phone +49 345 122 9889 7 -
fax +49 345 122 9889 1 - zope and plone consulting and development
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


  1   2   >