martinko [Wed, 9 May 2012 14:18:59 +0000 (16:18 +0200)]
Merge branch 'master' of skype-git:/git/dba/skytools-3
Marko Kreen [Wed, 18 Apr 2012 12:54:22 +0000 (15:54 +0300)]
v3.0.1-real
Marko Kreen [Wed, 18 Apr 2012 12:50:58 +0000 (15:50 +0300)]
pgq_coop.version(): 3.0.0.4
Marko Kreen [Wed, 18 Apr 2012 12:50:58 +0000 (15:50 +0300)]
pgq_node.version(): 3.0.0.14
Marko Kreen [Wed, 18 Apr 2012 12:50:58 +0000 (15:50 +0300)]
pgq.version(): 3.0.0.14
Marko Kreen [Wed, 18 Apr 2012 12:46:31 +0000 (15:46 +0300)]
londiste.handlers.dispatch: Detailed exception if part_field is NULL
Give enough details to locate the event in queue
martinko [Tue, 10 Apr 2012 13:01:09 +0000 (15:01 +0200)]
Merge branch 'master' of skype-git:/git/dba/skytools-3
Marko Kreen [Mon, 9 Apr 2012 08:41:04 +0000 (11:41 +0300)]
skytools.skylog: make sysloghander compatible with both 2.6 and 2.7
Marko Kreen [Mon, 9 Apr 2012 08:23:33 +0000 (11:23 +0300)]
v3.0.1
Marko Kreen [Thu, 5 Apr 2012 14:25:10 +0000 (17:25 +0300)]
Merge remote branch 'intgit/master'
Marko Kreen [Thu, 5 Apr 2012 14:23:18 +0000 (17:23 +0300)]
Refresh libusual
Marko Kreen [Thu, 5 Apr 2012 11:40:41 +0000 (14:40 +0300)]
debian: include skytools.ini in tgz
Marko Kreen [Thu, 5 Apr 2012 11:04:26 +0000 (14:04 +0300)]
skylog: stop using standard SysLogHandler, it's broken
It fails to handle unicode strings - it puts BOM in
wrong place. Wrap logging.handlers implementation
in class that simply drops the BOM addition.
martinko [Tue, 3 Apr 2012 10:36:42 +0000 (12:36 +0200)]
skytools.sqltools: dbdict got merge support
martinko [Mon, 2 Apr 2012 14:33:54 +0000 (16:33 +0200)]
skytools.config: improved compatibility with logging.Logger
Marko Kreen [Mon, 19 Mar 2012 09:55:46 +0000 (11:55 +0200)]
Merge remote branch 'intgit/master'
Marko Kreen [Sat, 17 Mar 2012 12:00:49 +0000 (14:00 +0200)]
v3.0
Marko Kreen [Sat, 17 Mar 2012 11:59:26 +0000 (13:59 +0200)]
debian: Use new htmlinstall target to get html docs
Marko Kreen [Fri, 16 Mar 2012 21:33:18 +0000 (23:33 +0200)]
source.cfg: improve source filters
Marko Kreen [Fri, 16 Mar 2012 21:32:23 +0000 (23:32 +0200)]
Refresh libusual
Marko Kreen [Fri, 16 Mar 2012 21:26:26 +0000 (23:26 +0200)]
londiste.handler: dont crash if handler module does not load
As it's not known whether the module is actually needed,
its not good to crash here.
Better would be to import the module only when actually needed,
but lets use this quick fix as temporary solution.
Marko Kreen [Fri, 9 Mar 2012 12:21:10 +0000 (14:21 +0200)]
Add howtos and clean up docs
Include howtos written by Hannu Krosing.
Clean up rest of the docs for release.
Marko Kreen [Tue, 31 Jan 2012 14:44:21 +0000 (16:44 +0200)]
Clean up SQL documentation
By Hannu Krosing, applied with some fixing
Marko Kreen [Mon, 5 Mar 2012 12:20:27 +0000 (14:20 +0200)]
sql/logtriga: compile on 9.2
Marko Kreen [Sat, 18 Feb 2012 19:53:27 +0000 (21:53 +0200)]
sql/pgq: 9.2 compat
Marko Kreen [Sat, 18 Feb 2012 19:52:55 +0000 (21:52 +0200)]
pgq/makefile: report errors from subdirs properly
martinko [Fri, 17 Feb 2012 09:43:22 +0000 (10:43 +0100)]
added support for sizes specified in human readable format
Config options that hold size in bytes can now be specified in human readable format.
Examples: 1, 2 B, 3K, 4 MB
martinko [Mon, 13 Feb 2012 17:25:18 +0000 (18:25 +0100)]
skylog.py: added missing logger aliases (fatal, warn)
Marko Kreen [Fri, 10 Feb 2012 10:13:00 +0000 (12:13 +0200)]
dbdict: on attribute access convert KeyError to AttributeError
Otherwise it confuses some code (copy.deepcopy())
Marko Kreen [Fri, 10 Feb 2012 10:12:20 +0000 (12:12 +0200)]
basescript: exception_sleep param to configure sleep-on-exception
Marko Kreen [Fri, 3 Feb 2012 15:23:38 +0000 (17:23 +0200)]
Drop all txid install code.
It's obsolete since 8.3. Drop it.
Marko Kreen [Wed, 1 Feb 2012 20:41:34 +0000 (22:41 +0200)]
pgq_node.version(): 3.0.0.13
Marko Kreen [Tue, 31 Jan 2012 10:12:46 +0000 (12:12 +0200)]
pgq_node: good looking regression diffs
Marko Kreen [Tue, 31 Jan 2012 08:58:39 +0000 (10:58 +0200)]
--sync-watermark: limit watermark to specific nodes
This will allow specified nodes to sync global watermark
with each other, without sending it upwards.
This isolates root node from lag on downstream nodes.
Marko Kreen [Thu, 19 Jan 2012 15:22:25 +0000 (17:22 +0200)]
Update INSTALL instructions
Marko Kreen [Wed, 11 Jan 2012 09:54:59 +0000 (10:54 +0100)]
pgq_node.set_global_watermark: fix wm=null check for branch node
It was in wrong IF section
Marko Kreen [Tue, 10 Jan 2012 21:40:55 +0000 (22:40 +0100)]
pgq.version(): 3.0.0.13
Marko Kreen [Tue, 10 Jan 2012 21:38:30 +0000 (22:38 +0100)]
pgq.maint_operations: re-check the need for step2
Previously the need for step2 was decided by need for step1.
But if pgqd stops/crashed after step1 but before step2,
the step2 will not be run anymore.
Fix this by rechecking if no step1 was needed.
Marko Kreen [Mon, 9 Jan 2012 11:50:55 +0000 (13:50 +0200)]
pkgloader: better version number cleanup
Marko Kreen [Mon, 9 Jan 2012 09:51:34 +0000 (11:51 +0200)]
pgq_ext.version(): 3.0.0.3
Marko Kreen [Mon, 9 Jan 2012 09:46:08 +0000 (11:46 +0200)]
pgq_ext: add default value to subconsumer_id column
There is historical code that accesses table directly,
so function defaults are not enough.
Marko Kreen [Thu, 5 Jan 2012 19:22:09 +0000 (21:22 +0200)]
Use 3.0b1 as version, to get consistent results.
Marko Kreen [Thu, 5 Jan 2012 19:20:32 +0000 (21:20 +0200)]
debian: stop launching autogen, it must be done before building .deb
Should matter only to somebody building directly from git,
otherwise the build is always from tgz, where the files exist
Marko Kreen [Thu, 5 Jan 2012 19:19:55 +0000 (21:19 +0200)]
source.cfg: include autogen.sh
Marko Kreen [Thu, 5 Jan 2012 18:56:36 +0000 (20:56 +0200)]
debian: use 3.0 (native) as source format
otherwise it tries to create diff
Marko Kreen [Thu, 5 Jan 2012 18:55:52 +0000 (20:55 +0200)]
configure: use londiste.py instead pgqadm.py to detect source dir
Marko Kreen [Thu, 5 Jan 2012 18:55:33 +0000 (20:55 +0200)]
source.cfg: include debian files in tgz
Marko Kreen [Wed, 4 Jan 2012 20:52:21 +0000 (22:52 +0200)]
debian: add libtool into build-deps
It is used to bring config.* files into tree.
Although it would be prefereable to get rid of all
autogen stuff, it is needed only when building
from GIT, but not from .orig.tar.gz
Marko Kreen [Wed, 4 Jan 2012 20:46:07 +0000 (22:46 +0200)]
debian: drop very suspicious ../include-binaries file
Marko Kreen [Wed, 4 Jan 2012 20:42:09 +0000 (22:42 +0200)]
debian: dont install txid.sql, its obsolete since 8.3
Marko Kreen [Wed, 4 Jan 2012 20:40:30 +0000 (22:40 +0200)]
debian: drop SQLDIR, simplify module install
Marko Kreen [Wed, 4 Jan 2012 20:27:41 +0000 (22:27 +0200)]
debian: orig - use top-level 'make tgz' to make tarball
Otherwise we need to maintain two ways to build source.
Marko Kreen [Wed, 4 Jan 2012 20:05:15 +0000 (22:05 +0200)]
debian: more cleanups
- Use ./autgen instead autoreconf. Latter is broken on non-automake trees.
- Drop override_dh_auto_build, seems unnecessary.
- Move config.mak dep from override_dh_auto_build to override_dh_auto_configure
Marko Kreen [Wed, 4 Jan 2012 19:09:57 +0000 (21:09 +0200)]
debian: add support files for 8.3 and 9.2
Marko Kreen [Wed, 4 Jan 2012 11:34:58 +0000 (13:34 +0200)]
debian/: cleanup and sync with other build changes
- remove hardwired 9.1
- dont touch anything under upgrade/
- configure: use --with-sk3-subdir
- install under /usr/share/skytools3 is done by setup_skytools.py
Marko Kreen [Wed, 4 Jan 2012 11:32:55 +0000 (13:32 +0200)]
doc: restore queue_mover & queue_splitter docs
as we still install those scripts, keep their doc around
Marko Kreen [Tue, 3 Jan 2012 22:46:37 +0000 (00:46 +0200)]
create partition: cleanup code
- use proper quoting
- simplify grants
- use "including defaults" to lessen differences from "including all"
Marko Kreen [Fri, 30 Dec 2011 12:17:42 +0000 (14:17 +0200)]
londiste.version(): 3.0.0.13
Marko Kreen [Fri, 30 Dec 2011 12:01:37 +0000 (14:01 +0200)]
londiste.get_table_list: move complex copy logic away
It is now in separate function and called only
for 'in-copy' and 'catching-up' tables.
Should make things more maintainable and speed up common case.
Marko Kreen [Fri, 30 Dec 2011 12:00:58 +0000 (14:00 +0200)]
dbstruct: support grants 'WITH GRANT OPTION'
Marko Kreen [Fri, 30 Dec 2011 11:51:37 +0000 (13:51 +0200)]
handlers.dispatch: Move grants into sql function
The grants can be loaded via information_schema,
thus no need to do it in Python.
Marko Kreen [Thu, 29 Dec 2011 15:16:51 +0000 (17:16 +0200)]
londiste: allow whitespace for key in --handler-arg
as we already do it for value, we can aswell do it for key.
Marko Kreen [Thu, 29 Dec 2011 14:26:33 +0000 (16:26 +0200)]
tests/handler: test dispatcher too
Marko Kreen [Thu, 29 Dec 2011 14:25:32 +0000 (16:25 +0200)]
handlers.dispatch: in case of part-func, apply master grants later
the problem is there is no good way to do it with plpgsql.
Marko Kreen [Thu, 29 Dec 2011 14:19:50 +0000 (16:19 +0200)]
dbstruct: sync acl list with 9.2 git
Marko Kreen [Thu, 29 Dec 2011 12:55:40 +0000 (14:55 +0200)]
londiste.syncer: load per-table handler
this is preparation for compare/repair for subset of table.
Marko Kreen [Thu, 29 Dec 2011 12:35:45 +0000 (14:35 +0200)]
tgz: update libusual include
Marko Kreen [Thu, 29 Dec 2011 12:26:27 +0000 (14:26 +0200)]
config.mak.in: add more replacement vars.
they are currently unused in makefiles tho,
but its the first step.
Marko Kreen [Thu, 29 Dec 2011 10:59:54 +0000 (12:59 +0200)]
dbservice: another cleanup
Marko Kreen [Thu, 29 Dec 2011 10:57:51 +0000 (12:57 +0200)]
dbservice: clean unused imports, make rest available on top-level
Marko Kreen [Thu, 29 Dec 2011 09:59:44 +0000 (11:59 +0200)]
dbservice.TableAPI: cast id to int8
This makes possible to use prepared plans with tapi.
Marko Kreen [Thu, 29 Dec 2011 09:29:31 +0000 (11:29 +0200)]
querybuilder: take type from last ':'
this allows ':' in variable name
Marko Kreen [Wed, 28 Dec 2011 20:19:06 +0000 (22:19 +0200)]
doc/makefile: simplify sed expression
older seds dont like ';'
Marko Kreen [Wed, 28 Dec 2011 10:51:39 +0000 (12:51 +0200)]
makefile: remove subdir dep from python-install
otherwise it wont work on machine without postgres
Marko Kreen [Fri, 23 Dec 2011 21:38:28 +0000 (23:38 +0200)]
londiste add-table: dont check provider tables on root
does not make sense, and creates failure if table
happens to be local=f.
Marko Kreen [Fri, 23 Dec 2011 21:37:31 +0000 (23:37 +0200)]
londiste.local_show_missing: show local=f on root as missing
this can happen in merge situations.
Marko Kreen [Fri, 23 Dec 2011 12:45:08 +0000 (14:45 +0200)]
pgq_ext.version(): 3.0.0.2
Marko Kreen [Fri, 23 Dec 2011 12:45:08 +0000 (14:45 +0200)]
londiste.version(): 3.0.0.12
Marko Kreen [Fri, 23 Dec 2011 12:41:51 +0000 (14:41 +0200)]
londiste.get_table_list: If no merge happens return copy_role=NULL
Seems we started to return 'lead' in such case, which turned on
multi-tx copy. Although it works, it's annoying.
Add regtest for such case.
Marko Kreen [Fri, 23 Dec 2011 12:27:27 +0000 (14:27 +0200)]
londiste copy: fix after-copy wait
Wait now on any non-NULL role.
The string changed in .sql but code here was not updated.
But new simpler rule is that role will be NULL it catchup
can proceed. So follow that.
Also dont do some potentially dangerous operations (lock, drop-fkey)
on follow-up copies.
Marko Kreen [Fri, 23 Dec 2011 09:17:18 +0000 (11:17 +0200)]
tests/merge: make test run again
Now local_add adds table to combined-root too.
Test did not consider that.
Marko Kreen [Thu, 22 Dec 2011 12:04:51 +0000 (14:04 +0200)]
Refresh libusual, provide ./autogen.sh
Marko Kreen [Thu, 22 Dec 2011 11:33:14 +0000 (13:33 +0200)]
londiste repair: set session role for apply conneciton
otherwise changes cannot be applied
Marko Kreen [Thu, 22 Dec 2011 11:00:14 +0000 (13:00 +0200)]
dbservice.make_record: convert list to pgarray
This makes the behaviour compatible with 8.3 plpython,
with did not know arrays and returned text strings.
More general solution would be to use urlenc arrays (same key repeats),
except that not general enough - there is no transparent way
to encode lists with 0 and 1 elements. So caller must always
be aware whether a key is list or not. Thus no advantages
over this pgarray solution and disadvantaga is incompatibility.
Marko Kreen [Thu, 22 Dec 2011 09:16:04 +0000 (11:16 +0200)]
make_pgarray(): convert python list to postgres array
Marko Kreen [Thu, 15 Dec 2011 12:09:00 +0000 (14:09 +0200)]
SkyLogger: addHandler() compat method
Marko Kreen [Thu, 15 Dec 2011 08:31:31 +0000 (10:31 +0200)]
Merge remote branch 'martino/master'
Marko Kreen [Wed, 14 Dec 2011 21:28:42 +0000 (23:28 +0200)]
gitignore: add more files
Marko Kreen [Wed, 14 Dec 2011 20:13:11 +0000 (22:13 +0200)]
pgq_ext: support coop consumers
Add subconsumer_id to all tables and function params.
Marko Kreen [Wed, 14 Dec 2011 14:53:37 +0000 (16:53 +0200)]
pgq_ext: split functions into separate files
Marko Kreen [Wed, 14 Dec 2011 19:55:25 +0000 (21:55 +0200)]
tests/londiste: test repair
martinko [Wed, 14 Dec 2011 17:45:53 +0000 (18:45 +0100)]
Merge branch 'master' of skype-git:/git/dba/skytools-3
martinko [Wed, 14 Dec 2011 14:32:55 +0000 (15:32 +0100)]
added skytools.hashtext module
imported from skytools-2.0 (written by marko)
Marko Kreen [Wed, 14 Dec 2011 12:52:06 +0000 (14:52 +0200)]
pgq.version(): 3.0.0.12
Marko Kreen [Wed, 14 Dec 2011 12:48:54 +0000 (14:48 +0200)]
pgq.register_consumer_at: if tick is given, drop open batch
Old behaviour could catch (maybe) some bugs, but made
life hard for consumers that know what they are doing.
Basically, non-NULL tick pos is taken as "consumer knows better".
Marko Kreen [Tue, 13 Dec 2011 07:33:00 +0000 (09:33 +0200)]
londiste compare: use number of failed tables as exit code
Marko Kreen [Fri, 9 Dec 2011 20:26:41 +0000 (22:26 +0200)]
handlers.dispatch: fix part_func usage
Marko Kreen [Fri, 9 Dec 2011 09:53:56 +0000 (11:53 +0200)]
pgq_coop.version(): 3.0.0.3
Marko Kreen [Fri, 9 Dec 2011 09:53:30 +0000 (11:53 +0200)]
pgq_coop.next_batch: automatically register subconsumer
Marko Kreen [Fri, 9 Dec 2011 08:31:21 +0000 (10:31 +0200)]
londiste repair: add --apply flag
this will auto-apply fixes, instead writing them out.