Re: [Zope-dev] zope-tests - FAILED: 29, OK: 15

2012-08-28 Thread Adam GROSZER

On 08/27/2012 08:02 PM, Marius Gedminas wrote:

On Mon, Aug 27, 2012 at 03:26:28PM +0200, Adam GROSZER wrote:

Well, 3.4 KGS is not really interesting anymore, but it would be
pretty helpful to have the same individual packages tested somewhere
on linux as winbot does.

Anyone? Ideas? Time?


http://travis-ci.org/ ?



That seems to be closely tied with github. Or do I miss there something?


--
Best regards,
 Adam GROSZER
--
Quote of the day:
If there is anything we wish to change in the child, we should first 
examine it and see whether it is something that could better be changed 
in ourselves.

- C.G. Jung
___
Zope-Dev maillist  -  Zope-Dev@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 )


Re: [Zope-dev] [ZODB-Dev] [announce] NEO 1.0 - scalable and redundant storage for ZODB

2012-08-28 Thread Vincent Pelletier
On Mon, 27 Aug 2012 14:37:37 +0200,
Vincent Pelletier vinc...@nexedi.com wrote :
 Under the hood, it relies on simple features of SQL databases

To make things maybe a bit clearer, from the feedback I get:
You can forget about SQL presence. NEO usage of SQL is as a relational
as a handful of python dicts is. Except there is no way to load only
part of a pickled dict, or do range searches (ZODB's BTrees are much
better in this regard), or writable to disk atomically without having to
implement this level of atomicity ourselves.

Ideally, NEO would use something like libhail, or maybe even simpler
like kyotocabinet (except that we need composed keys, and kyotocabinet
b-trees have AFAIK no such notion).
SQL as a data definition language was simply too convenient during
development (need a new column ? easy, even if you have a 40GB table),
and it stuck - and we have yet to find a significant drawback to
implement a new storage backend.

As a side effect, SQL allows gathering some statistics over the data
contained in a database very efficiently. Number of current objects,
number of revisions per object, number of transactions, when
transactions occured in base history, average object size, largest
object, you name it.

-- 
Vincent Pelletier
ERP5 - open source ERP/CRM for flexible enterprises
___
Zope-Dev maillist  -  Zope-Dev@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 )


Re: [Zope-dev] [ZODB-Dev] [announce] NEO 1.0 - scalable and redundant storage for ZODB

2012-08-28 Thread Martijn Pieters
On Mon, Aug 27, 2012 at 2:37 PM, Vincent Pelletier vinc...@nexedi.com wrote:
 NEO aims at being a replacement for use-cases where ZEO is used, but
 with better scalability (by allowing data of a single database to be
 distributed over several machines, and by removing database-level
 locking), with failure resilience (by mirroring database content among
 machines). Under the hood, it relies on simple features of SQL
 databases (safe on-disk data structure, efficient memory usage,
 efficient indexes).

How does NEO compare to RelStorage? NEO appears to implement the
storage roughly in the same way; store pickles in tables in a SQL
database.

Some differences that I can see from reading your email:

* NEO takes care of replication itself; RelStorage pushes that
responsibility to the database used.
* NEO supports MySQL and sqlite, RelStorage MySQL, PostgreSQL and Oracle.
* RelStorage can act as a BlobStorage, NEO can not.

Anything else different? Did you make any performance comparisons
between RelStorage and NEO?

-- 
Martijn Pieters
___
Zope-Dev maillist  -  Zope-Dev@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 )


Re: [Zope-dev] [ZODB-Dev] [announce] NEO 1.0 - scalable and redundant storage for ZODB

2012-08-28 Thread Vincent Pelletier
On Tue, 28 Aug 2012 16:31:20 +0200,
Martijn Pieters m...@zopatista.com wrote :
 Anything else different? Did you make any performance comparisons
 between RelStorage and NEO?

I believe the main difference compared to all other ZODB Storage
implementation is the finer-grained locking scheme: in all storage
implementations I know, there is a database-level lock during the
entire second phase of 2PC, whereas in NEO transactions are serialised
only when they alter a common set of objects.
This removes an argument in favour of splitting databases (ie, using
mountpoints): evading the tpc_vote..tpc_finish database-level locking.

Also, NEO distributes objects over several servers (aka, some or all
servers might not contain the whole database), for load balancing/
parallelism purposes. This is not possible if one relies on relational
database replication alone.

I forgot in the original mail to mention that NEO does all conflict
resolutions on client side rather than server side. The same happens in
relStorage, but this is different from ZEO. Packing on client side
makes it easier to get the setup right: with ZEO you will get more
conflicts than normal if it cannot load some class which implements
conflict resolution, and this might go unnoticed until someone worries
about a performance drop or so. With client-side resolution, if you
don't see Broken Objects, conflict resolution for those classes works.

Some comments on some points you mentioned:
 * NEO supports MySQL and sqlite, RelStorage MySQL, PostgreSQL and
 Oracle.

It should be rather easy to adapt to more back-ends.
We (Nexedi) are not interested in proprietary software, so we will
probably not implement Oracle support ourselves. For PostgreSQL, it's
just that we do not have a setup at hand and the experience to
implement a client properly. I expect that it would not take more than a
week to get PostgreSQL implemented by someone used to it and knowing
python, but new to NEO.

Just to demonstrate that NEO really does not rely on fancy features of
SQL servers, you may dig in older revisions in NEO's git repository. You
can find a btree.py[1] test storage, which is based on ZODB.BTree
class. It was just a toy, without persistence support (I initially
intended to provide it, but never finished it) and hence limited by
the available amount of RAM. But it was otherwise a fully functional NEO
storage backend. I think it took me a week-end to put it together,
while discovering ZODB.Btree API and adapting NEO's storage backend
API along the way (this was the first non-MySQL backend ever
implemented, so API was a bit too ad-hoc at that time).

sqlite was chosen as a way to get rid of the need to setup a
stand-alone SQL server in addition to NEO storage process. We are not
sure yet of how well our database schema holds when there are several
(10+) GB of data in each storage node.

 * RelStorage can act as a BlobStorage, NEO can not.

I would like to stress that this has nothing to do with design, rather
it's just not implemented. We do not wish to rely on filesystem-level
sharing, so we consider something along the lines of providing a
FUSE-based to share blob storage, which then can abstract the blobs
being distributed over several servers. This is just the general idea,
we don't have much experience with blob handling ourselves (which is
why we preferred to leave it asides rather than providing an
unrealistic - and hence unusable - implementation).

[1]http://git.erp5.org/gitweb/neoppod.git/blob/75d83690bd4a34cfe5ed83c949e4a32c7dec7c82:/neo/storage/database/btree.py

Regards,
-- 
Vincent Pelletier
ERP5 - open source ERP/CRM for flexible enterprises
___
Zope-Dev maillist  -  Zope-Dev@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 )


[Zope-dev] zope-tests - FAILED: 24, OK: 17, UNKNOWN: 2

2012-08-28 Thread Zope tests summarizer
This is the summary for test reports received on the 
zope-tests list between 2012-08-27 00:00:00 UTC and 2012-08-28 00:00:00 UTC:

See the footnotes for test reports of unsuccessful builds.

An up-to date view of the builders is also available in our 
buildbot documentation: 
http://docs.zope.org/zopetoolkit/process/buildbots.html#the-nightly-builds

Reports received


[1]UNKNOWN : Zope-trunk Python-2.6.8 : Linux
[2]UNKNOWN : Zope-trunk Python-2.7.3 : Linux
   Zope-2.10 Python-2.4.6 : Linux
   Zope-2.11 Python-2.4.6 : Linux
   Zope-2.12 Python-2.6.8 : Linux
   Zope-2.13 Python-2.6.8 : Linux
   Zope-2.13 Python-2.7.3 : Linux
   winbot / ZODB_dev py_265_win32
   winbot / ZODB_dev py_265_win64
   winbot / ZODB_dev py_270_win32
   winbot / ZODB_dev py_270_win64
[3]winbot / z3c.contents_py_265_32
[4]winbot / z3c.coverage_py_265_32
[5]winbot / z3c.datagenerator_py_265_32
[6]winbot / z3c.datagenerator_py_265_32
[7]winbot / z3c.formui_py_265_32
[8]winbot / z3c.layer.pagelet_py_265_32
[9]winbot / z3c.layer.ready2go_py_265_32
[10]   winbot / z3c.layer.ready2go_py_265_32
[11]   winbot / z3c.menu.ready2go_py_265_32
[12]   winbot / z3c.pagelet_py_265_32
[13]   winbot / z3c.pdftemplate_py_265_32
[14]   winbot / z3c.recipe.paster_py_265_32
[15]   winbot / z3c.rml_py_265_32
[16]   winbot / z3c.rml_py_265_32
[17]   winbot / zc_buildout_dev py_254_win32 1.6.x
[18]   winbot / zc_buildout_dev py_265_win32 1.6.x
[19]   winbot / zc_buildout_dev py_265_win32 master
[20]   winbot / zc_buildout_dev py_265_win64 1.6.x
[21]   winbot / zc_buildout_dev py_265_win64 master
[22]   winbot / zc_buildout_dev py_270_win32 1.6.x
[23]   winbot / zc_buildout_dev py_270_win32 master
[24]   winbot / zc_buildout_dev py_270_win64 1.6.x
[25]   winbot / zc_buildout_dev py_270_win64 master
[26]   winbot / zope.app.twisted_py_265_32
   winbot / ztk_10 py_254_win32
   winbot / ztk_10 py_265_win32
   winbot / ztk_10 py_265_win64
   winbot / ztk_11 py_254_win32
   winbot / ztk_11 py_265_win32
   winbot / ztk_11 py_265_win64
   winbot / ztk_11 py_270_win32
   winbot / ztk_11 py_270_win64

Non-OK results
--

[1]UNKNOWN UNKNOWN : Zope-trunk Python-2.6.8 : Linux
   https://mail.zope.org/pipermail/zope-tests/2012-August/067337.html


[2]UNKNOWN UNKNOWN : Zope-trunk Python-2.7.3 : Linux
   https://mail.zope.org/pipermail/zope-tests/2012-August/067338.html


[3]FAILED  winbot / z3c.contents_py_265_32
   https://mail.zope.org/pipermail/zope-tests/2012-August/067322.html


[4]FAILED  winbot / z3c.coverage_py_265_32
   https://mail.zope.org/pipermail/zope-tests/2012-August/067327.html


[5]FAILED  winbot / z3c.datagenerator_py_265_32
   https://mail.zope.org/pipermail/zope-tests/2012-August/067339.html


[6]FAILED  winbot / z3c.datagenerator_py_265_32
   https://mail.zope.org/pipermail/zope-tests/2012-August/067328.html


[7]FAILED  winbot / z3c.formui_py_265_32
   https://mail.zope.org/pipermail/zope-tests/2012-August/067331.html


[8]FAILED  winbot / z3c.layer.pagelet_py_265_32
   https://mail.zope.org/pipermail/zope-tests/2012-August/067330.html


[9]FAILED  winbot / z3c.layer.ready2go_py_265_32
   https://mail.zope.org/pipermail/zope-tests/2012-August/067340.html


[10]   FAILED  winbot / z3c.layer.ready2go_py_265_32
   https://mail.zope.org/pipermail/zope-tests/2012-August/067325.html


[11]   FAILED  winbot / z3c.menu.ready2go_py_265_32
   https://mail.zope.org/pipermail/zope-tests/2012-August/067320.html


[12]   FAILED  winbot / z3c.pagelet_py_265_32
   https://mail.zope.org/pipermail/zope-tests/2012-August/067329.html


[13]   FAILED  winbot / z3c.pdftemplate_py_265_32
   https://mail.zope.org/pipermail/zope-tests/2012-August/067326.html


[14]   FAILED  winbot / z3c.recipe.paster_py_265_32
   https://mail.zope.org/pipermail/zope-tests/2012-August/067323.html


[15]   FAILED  winbot / z3c.rml_py_265_32
   https://mail.zope.org/pipermail/zope-tests/2012-August/067341.html


[16]   FAILED  winbot / z3c.rml_py_265_32
   https://mail.zope.org/pipermail/zope-tests/2012-August/067321.html


[17]   FAILED  winbot / zc_buildout_dev py_254_win32 1.6.x
   https://mail.zope.org/pipermail/zope-tests/2012-August/067351.html


[18]   FAILED  winbot / zc_buildout_dev py_265_win32 1.6.x
   https://mail.zope.org/pipermail/zope-tests/2012-August/067352.html


[19]   FAILED  winbot / zc_buildout_dev py_265_win32 master
   https://mail.zope.org/pipermail/zope-tests/2012-August/067350.html


[20]   FAILED  winbot / zc_buildout_dev py_265_win64 1.6.x
   https://mail.zope.org/pipermail/zope-tests/2012-August/067355.html


[21]   FAILED  winbot / zc_buildout_dev py_265_win64 master
   https://mail.zope.org/pipermail/zope-tests/2012-August/067353.html


[22]   FAILED  winbot / zc_buildout_dev py_270_win32 1.6.x