Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 12:51:35 +0200] rev 5107
[source] log attempt to reconnect using warning level. Also, don't relog failed sql (already logged)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 12:33:47 +0200] rev 5106
[test] avoid critical log by informing the source we consider Personne as a multi-sources type
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 12:33:09 +0200] rev 5105
[test] use new temporary_appobjects context manager
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 12:32:39 +0200] rev 5104
[test] that doesn't smell good but fix the test...
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 12:22:20 +0200] rev 5103
[vreg] we do want the opposite...
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 12:26:07 +0200] rev 5102
[testlib] simple helper method to register temporary appobjects (hooks for instance) with a context manager
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 12:21:39 +0200] rev 5101
[undo] fix transactions table name in cleanup operation
Pierre-Yves David <pierre-yves.david@logilab.fr> [Wed, 31 Mar 2010 11:52:15 +0200] rev 5100
Add context management methode to dbapi.Connection
the connection is automaticly closed when exiting the context.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 11:41:20 +0200] rev 5099
i18n update
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 11:41:17 +0200] rev 5098
[i18n] use named substitution to avoid gettext warnings
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 10:56:43 +0200] rev 5097
[dataimport] print transaction id when we get one
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 09:58:44 +0200] rev 5096
[cleanup] add some notes
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 09:58:20 +0200] rev 5095
[optimisation] _select_best is used very intensivly. Peanuts optimization may count :)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 09:57:18 +0200] rev 5094
[optimization] traced_selection is used very intensively in debug mode
optimizing it is worth the pain. Basically : don't do stuff unnecessary
when we don't trace anything.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 09:55:19 +0200] rev 5093
[optimization] improve massive write performance by optimizing hooks selection
profiling on some massive deletion showed up that 2/3 of the time was spent
in hooks selection. Those changes make it much more acceptable (through
selection is still not negligeable):
* use one registry for each event, so we've much less hooks to check
when emiting an event as well as no more need for the match_event
selector. This required ability to put one appobject
into several registries, using a __registries__ class attribute.
* check for deprecated .enabled at registry initialization time instead
of at selection time
A very simple HooksManager class has been reintroduce to choose the
right registry on call_hooks.
Those optimisations leads to a ~x3 factor of time necessary to delete
16000 entities.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Wed, 31 Mar 2010 09:45:14 +0200] rev 5092
[upgrade] after upgrade, fork command to start instance avoid grave uicfg pb (explicit rules all removed...)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 19:59:56 +0200] rev 5091
merge
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 19:55:20 +0200] rev 5090
[repo creation] removing existing entities of 'single' cardinality relatino should be considered as 'activeintegrity' hook. Also don't disable that category during repo creation to avoid pb such as two default workflows for one entity types
Alexandre Fayolle <alexandre.fayolle@logilab.fr> [Tue, 30 Mar 2010 18:41:17 +0200] rev 5089
merge
Alexandre Fayolle <alexandre.fayolle@logilab.fr> [Tue, 30 Mar 2010 16:29:32 +0200] rev 5088
handle Service Close request correctly (closes #736039)
The windows event self._stop_event was not used, and twisted was not getting a
chance of terminating cleanly by calling its shutdown event handlers (which
would eventually call pyro_unregister). Fixed by calling reactor.stop()
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 17:59:18 +0200] rev 5087
[js form validation] fix case where we've None/null keys in the errors dictionnary
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 17:56:10 +0200] rev 5086
[cleanup] exists imported, use it
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 17:54:28 +0200] rev 5085
[form] CompoundField should not return itself in actual_fields, this avoid error on iliane with 3.7.2 where it's marked as required (from the schema) while value are provided by subfields
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 17:50:09 +0200] rev 5084
[repo] we want a hooks manager and hooks initialized event on quick start (we trigger events such as server_backup / server_restore for instance)
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 17:29:03 +0200] rev 5083
[distribution] sql extensions files now have proper extension, fix manifest file
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 14:32:03 +0200] rev 5082
backport stable
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 13:32:01 +0200] rev 5081
[events manager] onevent decorator may be given extra arguments to give to em.bind
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 13:31:21 +0200] rev 5080
[cleanup] some notes
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 13:29:55 +0200] rev 5079
[reload] on registry reloading, we should change class of users of opened session
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 13:28:19 +0200] rev 5078
[appobject imports] don't include __init__ in package's name. See comment for more info
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 13:27:30 +0200] rev 5077
[rset] cubes such as iliane hi-jack rset description by poping some lines from it. Handle this on RepeatList
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 11:18:31 +0200] rev 5076
[undo] basic support for undoing of entity creation / relation addition
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 11:17:50 +0200] rev 5075
[undo] init entity cache when undoing an entity deletion
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 11:17:21 +0200] rev 5074
[undo] consistent is/is_instance_of processing
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 11:15:57 +0200] rev 5073
[repo] don't need rset description on those queries
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 11:15:08 +0200] rev 5072
[cleanup] style fixes, add nodes, 0.2 cents refactorings
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 11:06:13 +0200] rev 5071
[undo] during undoing, call hooks in the [active]integrity and undo categories
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 11:01:34 +0200] rev 5070
[repo] refactor fti operation to use set_operation and a single operation whatever the number of entities to ft index
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 10:57:42 +0200] rev 5069
[querier] introduce RepeatList class, used to optimize size of data returned for result set description
When rql query has no ambiguity, we used to return the same description * N
where N is the size of the result set. Returning RepeatList class avoid
that multiplication.
According to quick benchmark this improve performance for result set whose
size is ~ > 50, has very small penalty for rset < 50, and in any case improve
the size of data to be transfered over the network through pyro connection.
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 10:50:46 +0200] rev 5068
[repo] on add entity, set cache as soon as possible + fill type/source cache
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 10:39:16 +0200] rev 5067
[repo] more efficient eid cache operations handling based on set_operation; refactor
* split CleanupEidTypeCache operation into one operation for deleted eids
and another for added eids, and put them in cw.server.hook
* for consistency, move fti unindexing handling from the repository
to the system source
* handling of deleted eids is done in plan execution (ssplanner), no
needs to redo it in *delete_info
-> no more need for _prepare_delete_info method, killed
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 10:28:41 +0200] rev 5066
[repo] move eschema_eid function from hooks.metadata to server.utils
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 10:20:03 +0200] rev 5065
[primary view] skip virtual rtypes anyway
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 10:18:23 +0200] rev 5064
[test] CubicWebTC.create_user expect an actual query, and we don't need to give session here
Sylvain Thénault <sylvain.thenault@logilab.fr> [Tue, 30 Mar 2010 10:17:29 +0200] rev 5063
[dataimport] stop disabling undo ; commit return transaction id
Aurelien Campeas <aurelien.campeas@logilab.fr> [Mon, 29 Mar 2010 19:10:22 +0200] rev 5062
[logging] demote static file served to debug
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 29 Mar 2010 13:34:24 +0200] rev 5061
[cleanup]
Sylvain Thénault <sylvain.thenault@logilab.fr> [Mon, 29 Mar 2010 13:34:06 +0200] rev 5060
[repo] optimize massive insertion/deletion by using the new set_operation function
Idea is that on massive insertion, cost of handling the list of operation
become non negligeable, so we should minimize the number of operations in
that list.
The set_operation function ease usage of operation associated to data in
session.transaction_data, and we only add the operation when data set isn't
initialized yet, else we simply add data to the set. The operation then
simply process accumulated data.