skytools.git
14 years agomake deb: shortcut for unofficial packages
Marko Kreen [Fri, 15 Apr 2011 10:19:28 +0000 (13:19 +0300)]
make deb: shortcut for unofficial packages

14 years agodeb: Improve dependencies
Marko Kreen [Fri, 15 Apr 2011 09:14:15 +0000 (12:14 +0300)]
deb: Improve dependencies

Source:
- Ticker is not built with libevent-dev
- python-psycopg2 is not needed for building

python-pgq3
- Depends on python-psycopg2

skytools3-walmgr:
- Depends on python-psycopg2
- Does not depend on postgresql-server, it is reasonable to use
  it to manage non-debian Postgres instances.  Make it 'Enhances:'
  instead.

python-skytools3:
- Suggest: python-psycopg2.  Needed for DB functionality, not otherwise.

14 years agoskytools.natsort: natural sorting of strings
Marko Kreen [Tue, 12 Apr 2011 08:39:38 +0000 (11:39 +0300)]
skytools.natsort: natural sorting of strings

14 years agoskytools: Option of non-lazy loading for various checkers
Marko Kreen [Thu, 7 Apr 2011 12:58:03 +0000 (15:58 +0300)]
skytools: Option of non-lazy loading for various checkers

14 years agoskytools: Separate generic scripting from DBScript
Marko Kreen [Thu, 7 Apr 2011 12:57:28 +0000 (15:57 +0300)]
skytools: Separate generic scripting from DBScript

14 years agosplit skytools3 in several packages for debian
Dimitri Fontaine [Thu, 31 Mar 2011 13:41:01 +0000 (15:41 +0200)]
split skytools3 in several packages for debian

skytools3              Skytool's replication and queuing
python-pgq3            Skytool's PGQ python library
python-skytools3       python scripts framework for skytools
skytools-ticker3       PGQ ticker daemon service
skytools-walmgr3       high-availability archive and restore commands
postgresql-8.4-pgq3    PGQ server-side code (C module for PostgreSQL)
postgresql-9.0-pgq3    PGQ server-side code (C module for PostgreSQL)

You can install your script in /etc/skytools/*.ini and the skytools package
will try to start them automatically, using scriptmgr.  Of course you still
need to install pgq for ticker services and londiste for replication.

14 years agoOCM-1524: merge_all switch for non-queue merge leaf
Egon Valdmees [Tue, 12 Apr 2011 11:00:14 +0000 (14:00 +0300)]
OCM-1524: merge_all switch for non-queue merge leaf

14 years agoOCM-1524: syntax error fix and added tests
Egon Valdmees [Mon, 11 Apr 2011 12:53:44 +0000 (15:53 +0300)]
OCM-1524: syntax error fix and added tests

14 years agoOCM-704: creating merge-leaf with non-existing queue on leaf side should throw an...
Egon Valdmees [Fri, 8 Apr 2011 14:20:09 +0000 (17:20 +0300)]
OCM-704: creating merge-leaf with non-existing queue on leaf side should throw an error

14 years agoOCM-1581: skytools3 script error "Config value not set: subconsumer_timeout"
Egon Valdmees [Fri, 8 Apr 2011 14:19:47 +0000 (17:19 +0300)]
OCM-1581: skytools3 script error "Config value not set: subconsumer_timeout"

14 years agoOCM-1538: londiste3 qtable plugin behaves dangerously when adding skip trigger to...
Egon Valdmees [Fri, 8 Apr 2011 14:16:28 +0000 (17:16 +0300)]
OCM-1538: londiste3 qtable plugin behaves dangerously when adding skip trigger to a existing queue table

14 years agoOCM-1524: adding table to n:1 cascade merge should work as with merge-leaf scenario
Egon Valdmees [Fri, 8 Apr 2011 14:15:22 +0000 (17:15 +0300)]
OCM-1524: adding table to n:1 cascade merge should work as with merge-leaf scenario

14 years agoAvoid direct symbol imports
Marko Kreen [Wed, 6 Apr 2011 17:42:31 +0000 (20:42 +0300)]
Avoid direct symbol imports

Always use

  import skytools
  def xx():
   skytools.foo

this allows maximum laziness when importing.

14 years agorefresh libusual
Marko Kreen [Wed, 6 Apr 2011 16:35:53 +0000 (19:35 +0300)]
refresh libusual

14 years agoskytools: Convert __init__ module to apipkg
Marko Kreen [Wed, 6 Apr 2011 16:13:06 +0000 (19:13 +0300)]
skytools: Convert __init__ module to apipkg

14 years agoskytools: Include apipkg module
Marko Kreen [Wed, 6 Apr 2011 16:09:52 +0000 (19:09 +0300)]
skytools: Include apipkg module

Include Holger Krekel's apipkg module in skytools.

It allows top module to lazily load symbols from submodules.

14 years agolondiste.setup: simplify table attr show expression
Marko Kreen [Wed, 6 Apr 2011 09:25:16 +0000 (12:25 +0300)]
londiste.setup: simplify table attr show expression

14 years agoAdded "compression" to master config template.
Martin Pihlak [Mon, 4 Apr 2011 07:04:44 +0000 (10:04 +0300)]
Added "compression" to master config template.

14 years agoignore missing authorized_keys file on wal slave cleanup.
Martin Pihlak [Fri, 1 Apr 2011 12:22:07 +0000 (15:22 +0300)]
ignore missing authorized_keys file on wal slave cleanup.

14 years agoMerge branch 'master' of internal-git:/git/dba/skytools-3
Martin Pihlak [Thu, 31 Mar 2011 11:05:19 +0000 (14:05 +0300)]
Merge branch 'master' of internal-git:/git/dba/skytools-3

14 years agodebian: Instead depending, suggest skytools-modules
Marko Kreen [Tue, 29 Mar 2011 13:29:20 +0000 (16:29 +0300)]
debian: Instead depending, suggest skytools-modules

14 years ago.gitignore: added *~ and .DS_Store
martinko [Thu, 24 Mar 2011 15:27:24 +0000 (16:27 +0100)]
.gitignore: added *~ and .DS_Store

Added ignoring of VIM's backup files and Mac OS X Finder's custom
folder attributes' files.

14 years agofix pid writing in slave xlock.
Martin Pihlak [Thu, 24 Mar 2011 11:01:06 +0000 (13:01 +0200)]
fix pid writing in slave xlock.

Slave xlock should not attempt to write pid to BACKUPLOCK
if none was specified on command line.

14 years agopython/pkgloader.py: removed duplicate raise
martinko [Thu, 24 Mar 2011 10:44:41 +0000 (11:44 +0100)]
python/pkgloader.py: removed duplicate raise

14 years agogenerated handlers have keep_latest as default row_mode
Egon Valdmees [Tue, 22 Mar 2011 14:38:46 +0000 (14:38 +0000)]
generated handlers have keep_latest as default row_mode

14 years agofix: temp table schema & quoting, update & delete sql, bulk load count checks
Egon Valdmees [Tue, 22 Mar 2011 13:56:50 +0000 (13:56 +0000)]
fix: temp table schema & quoting, update & delete sql, bulk load count checks

14 years agoremoved next arg from generated dispatcher handler init
Egon Valdmees [Tue, 22 Mar 2011 11:03:15 +0000 (11:03 +0000)]
removed next arg from generated dispatcher handler init

14 years agofix --ssh-add-key with missing authorized_keys file
Martin Pihlak [Fri, 18 Mar 2011 11:47:58 +0000 (13:47 +0200)]
fix --ssh-add-key with missing authorized_keys file

14 years agoempty handler bug fix
Egon Valdmees [Thu, 17 Mar 2011 21:58:13 +0000 (21:58 +0000)]
empty handler bug fix

14 years agoCouple of bugfixes for stale backup lock handling.
Martin Pihlak [Thu, 17 Mar 2011 19:03:29 +0000 (21:03 +0200)]
Couple of bugfixes for stale backup lock handling.

14 years agoMove the pg_stop_backup() into a finally: block.
Steve Singer [Thu, 17 Mar 2011 18:18:45 +0000 (20:18 +0200)]
Move the pg_stop_backup() into a finally: block.
Some instances were reported where the base backup failed with some issue
but pg_stop_backup() hadn't been called and had to be called manually.
This should make that less likely

14 years agoAdd support for detecting stale locks and releasing them instead of aborting
Steve Singer [Thu, 17 Mar 2011 18:17:23 +0000 (20:17 +0200)]
Add support for detecting stale locks and releasing them instead of aborting

14 years agowalmgr.py: add "cleanup" command
Martin Pihlak [Wed, 16 Mar 2011 11:12:08 +0000 (13:12 +0200)]
walmgr.py: add "cleanup" command

14 years agomodernize wal-master.ini
Martin Pihlak [Wed, 16 Mar 2011 11:11:35 +0000 (13:11 +0200)]
modernize wal-master.ini

14 years agodoc/todo: expand some points
Marko Kreen [Wed, 23 Feb 2011 12:41:30 +0000 (14:41 +0200)]
doc/todo: expand some points

14 years agotodo cleanup
Marko Kreen [Wed, 23 Feb 2011 11:56:52 +0000 (13:56 +0200)]
todo cleanup

14 years agomake test: quickly test doctest-enabled modules
Marko Kreen [Wed, 23 Feb 2011 11:54:26 +0000 (13:54 +0200)]
make test: quickly test doctest-enabled modules

14 years agocascade status: avoid negative lag, sort by name
Marko Kreen [Wed, 23 Feb 2011 11:49:49 +0000 (13:49 +0200)]
cascade status: avoid negative lag, sort by name

negative lag can happen if info fetching takes too long.

14 years agoCoopConsumer: subconsumer_timeout config param
Marko Kreen [Wed, 23 Feb 2011 11:49:15 +0000 (13:49 +0200)]
CoopConsumer: subconsumer_timeout config param

14 years agoMerge remote-tracking branch 'intgit/master'
Marko Kreen [Wed, 16 Feb 2011 11:35:24 +0000 (13:35 +0200)]
Merge remote-tracking branch 'intgit/master'

14 years agobump db ver
Marko Kreen [Wed, 16 Feb 2011 11:29:29 +0000 (13:29 +0200)]
bump db ver

14 years agopgq_coop: add version() function
Marko Kreen [Wed, 16 Feb 2011 11:27:31 +0000 (13:27 +0200)]
pgq_coop: add version() function

14 years agopgq_coop: add possibility to take over dead subconsumer batch
Marko Kreen [Wed, 16 Feb 2011 11:26:57 +0000 (13:26 +0200)]
pgq_coop: add possibility to take over dead subconsumer batch

14 years agoDispatcher handler
Egon Valdmees [Fri, 11 Feb 2011 13:39:04 +0000 (15:39 +0200)]
Dispatcher handler

14 years agobulk-handler: sync with new api, add GP compat
Marko Kreen [Fri, 11 Feb 2011 13:36:20 +0000 (15:36 +0200)]
bulk-handler: sync with new api, add GP compat

14 years agolondiste: new qtable handler
Marko Kreen [Fri, 11 Feb 2011 13:34:44 +0000 (15:34 +0200)]
londiste: new qtable handler

14 years agolondiste; drop chained handler, use single handler per table
Marko Kreen [Fri, 11 Feb 2011 13:31:47 +0000 (15:31 +0200)]
londiste; drop chained handler, use single handler per table

Original idea was to let admins cascade different handlers,
but that seems too complicated.  Instead let programmer
use subclassing to create handlers with required functionality.

14 years agodbstruct: GP dist key support
Egon Valdmees [Fri, 11 Feb 2011 11:43:53 +0000 (13:43 +0200)]
dbstruct: GP dist key support

14 years agoAdminScript.display_table: allow field formatter function
Egon Valdmees [Fri, 11 Feb 2011 11:35:19 +0000 (13:35 +0200)]
AdminScript.display_table: allow field formatter function

14 years agoserialconsumer: fix batch_info usage
Marko Kreen [Fri, 11 Feb 2011 13:29:20 +0000 (15:29 +0200)]
serialconsumer: fix batch_info usage

14 years agogitignore: dont ignore too much
Marko Kreen [Fri, 11 Feb 2011 13:51:25 +0000 (15:51 +0200)]
gitignore: dont ignore too much

14 years agoSSH batch mode and no strict host checking for remote_walmgr
Martin Pihlak [Wed, 9 Feb 2011 13:12:47 +0000 (13:12 +0000)]
SSH batch mode and no strict host checking for remote_walmgr

14 years agoCreate log,pid,conf directories during --init
Martin Pihlak [Wed, 9 Feb 2011 13:08:33 +0000 (13:08 +0000)]
Create log,pid,conf directories during --init

14 years agodbscript: make db service-api errors noiseless
Marko Kreen [Wed, 9 Feb 2011 12:05:04 +0000 (14:05 +0200)]
dbscript: make db service-api errors noiseless

14 years agopython/pgq: batch_info cleanup
Marko Kreen [Fri, 4 Feb 2011 15:13:41 +0000 (17:13 +0200)]
python/pgq: batch_info cleanup

- move batch_info compat from sql to python
- get rid of get_batch_info(), self.batch_info is always defined
- make remoteconsumer use self.batch_info

14 years agosql/pgq: separate out the truncate trigger tests
Marko Kreen [Fri, 4 Feb 2011 15:08:37 +0000 (17:08 +0200)]
sql/pgq: separate out the truncate trigger tests

this makes success/failure on 8.3 clearer.

14 years agopgq.get_queue_info: report last tick in queue
Marko Kreen [Fri, 4 Feb 2011 14:59:34 +0000 (16:59 +0200)]
pgq.get_queue_info: report last tick in queue

14 years agopgq_node.get_worker_state: new function
Marko Kreen [Fri, 4 Feb 2011 14:44:30 +0000 (16:44 +0200)]
pgq_node.get_worker_state: new function

combines get_node_info & get_consumer_info

14 years agocascadedworker: fix tick tx handling on branch
Marko Kreen [Wed, 2 Feb 2011 13:51:49 +0000 (15:51 +0200)]
cascadedworker: fix tick tx handling on branch

14 years agopgqd: set defaults for pidfile & logfile
Marko Kreen [Tue, 1 Feb 2011 12:56:14 +0000 (14:56 +0200)]
pgqd: set defaults for pidfile & logfile

14 years agocascade tag-dead: spread info over all nodes
Marko Kreen [Tue, 1 Feb 2011 12:55:29 +0000 (14:55 +0200)]
cascade tag-dead: spread info over all nodes

14 years agorefresh libusual
Marko Kreen [Tue, 1 Feb 2011 12:55:18 +0000 (14:55 +0200)]
refresh libusual

14 years agopsycopgwrapper: export psycopg2.Error as DBError
Marko Kreen [Tue, 1 Feb 2011 12:54:04 +0000 (14:54 +0200)]
psycopgwrapper: export psycopg2.Error as DBError

14 years agostatus: info improvements
Marko Kreen [Tue, 1 Feb 2011 12:25:46 +0000 (14:25 +0200)]
status: info improvements

- show queue name
- show local node
- show lag in nicer way
- show last tick on node

14 years agocascade status: catch node errors, instead of aborting
Marko Kreen [Tue, 1 Feb 2011 12:25:18 +0000 (14:25 +0200)]
cascade status: catch node errors, instead of aborting

14 years agopgq_node.get_node_info: set worker_last_tick to last tick on root.
Marko Kreen [Tue, 1 Feb 2011 12:23:52 +0000 (14:23 +0200)]
pgq_node.get_node_info: set worker_last_tick to last tick on root.

14 years agorefresh libusual
Marko Kreen [Thu, 27 Jan 2011 11:05:54 +0000 (13:05 +0200)]
refresh libusual

14 years agobump db ver
Marko Kreen [Thu, 27 Jan 2011 10:54:23 +0000 (12:54 +0200)]
bump db ver

14 years agoCascadedWorker: call pgq_node.set_global_watermark() only on branch
Marko Kreen [Wed, 26 Jan 2011 14:54:26 +0000 (16:54 +0200)]
CascadedWorker: call pgq_node.set_global_watermark() only on branch

14 years agodbscript: debug log for new connections
Marko Kreen [Mon, 24 Jan 2011 15:28:35 +0000 (17:28 +0200)]
dbscript: debug log for new connections

14 years agotodo: drop done items
Marko Kreen [Mon, 24 Jan 2011 15:28:18 +0000 (17:28 +0200)]
todo: drop done items

14 years agopgq/cascade/admin: make tag-dead store into db
Marko Kreen [Mon, 24 Jan 2011 15:26:27 +0000 (17:26 +0200)]
pgq/cascade/admin: make tag-dead store into db

14 years agopgq_node.drop_node.sql: on local drop, delete all locations
Marko Kreen [Mon, 24 Jan 2011 15:25:33 +0000 (17:25 +0200)]
pgq_node.drop_node.sql: on local drop, delete all locations

14 years agopgq_node.register_location: NULL location keeps old value
Marko Kreen [Mon, 24 Jan 2011 15:25:03 +0000 (17:25 +0200)]
pgq_node.register_location: NULL location keeps old value

14 years agolondiste: change behaviour of --create* flags
Marko Kreen [Mon, 24 Jan 2011 13:28:21 +0000 (15:28 +0200)]
londiste: change behaviour of --create* flags

--create now does minimal pkey-only structure

--create-full does maximal structure

--create-only is dropped as too complex

14 years agoTweaking --init to work on custom postgres setup
Martin Pihlak [Sat, 22 Jan 2011 08:52:08 +0000 (10:52 +0200)]
Tweaking --init to work on custom postgres setup

14 years agoAdded --init-X commands to simplify walmgr setup.
Martin Pihlak [Fri, 21 Jan 2011 13:36:18 +0000 (15:36 +0200)]
Added --init-X commands to simplify walmgr setup.

- Both wal-master and slave now use [walmgr] configuration section.
- Added --init-master and --init-slave command to set up configuration files.
- Various path are guessed from PGDATA, optionally override with --set X=Y
- "slave" config key in wal-master.ini now only contains hostname
- "slave" config key in wal-slave.ini has been replaced with walmgr_data
- ssh-keygen option to init-master, ssh-add-key option to init-slave
- most of the cf.get() calls for directories have been replaced with cf.getfile()

14 years agorewrote netxt_batch for coop consumer to be more flexible, using next_batch_custom
Asko Tiidumaa [Tue, 18 Jan 2011 09:41:10 +0000 (09:41 +0000)]
rewrote netxt_batch for coop consumer to be more flexible, using next_batch_custom

14 years agoIgnore pgsql_tmp directory while creating base backup.
Martin Pihlak [Fri, 14 Jan 2011 14:11:02 +0000 (16:11 +0200)]
Ignore pgsql_tmp directory while creating base backup.

bug reported by Guillaume Smet

14 years agoDBScript: allow override config parameters from command line (--set).
Marko Kreen [Mon, 17 Jan 2011 14:47:56 +0000 (16:47 +0200)]
DBScript: allow override config parameters from command line (--set).

14 years agopgq/triggers: sanitize some dubious code
Marko Kreen [Fri, 14 Jan 2011 15:03:22 +0000 (17:03 +0200)]
pgq/triggers: sanitize some dubious code

14 years agobump db ver
Marko Kreen [Fri, 14 Jan 2011 13:19:50 +0000 (15:19 +0200)]
bump db ver

14 years agopgq.ticker(): rework the old tick sanity check
Marko Kreen [Fri, 14 Jan 2011 12:09:47 +0000 (14:09 +0200)]
pgq.ticker(): rework the old tick sanity check

due to good-enough timing, seq and xmax may appear reversed.

only error out when xmin is wrong.

otherwise throw warning, to debug the issue.

14 years agofixed case when event id is NULL on retry
Asko Tiidumaa [Fri, 14 Jan 2011 12:01:20 +0000 (12:01 +0000)]
fixed case when event id is NULL on retry

14 years agoMerge remote branch 'mpihlak/master'
Marko Kreen [Thu, 13 Jan 2011 13:58:56 +0000 (15:58 +0200)]
Merge remote branch 'mpihlak/master'

14 years agoFix "walmgr stop" not to disable archive_mode.
Martin Pihlak [Thu, 13 Jan 2011 13:31:03 +0000 (15:31 +0200)]
Fix "walmgr stop" not to disable archive_mode.

That is, unless master_restart_cmd is defined.

14 years agotests/londiste: test lagging takeover
Marko Kreen [Wed, 12 Jan 2011 13:59:34 +0000 (15:59 +0200)]
tests/londiste: test lagging takeover

14 years agonodeinfo status: show only first line of error
Marko Kreen [Wed, 12 Jan 2011 13:54:04 +0000 (15:54 +0200)]
nodeinfo status: show only first line of error

14 years agodoc/devnotes: point to new repo
Marko Kreen [Wed, 12 Jan 2011 13:53:38 +0000 (15:53 +0200)]
doc/devnotes: point to new repo

14 years agorefresh libusual
Marko Kreen [Mon, 10 Jan 2011 14:33:28 +0000 (16:33 +0200)]
refresh libusual

14 years agotests: default to tcp connection
Marko Kreen [Mon, 10 Jan 2011 14:32:24 +0000 (16:32 +0200)]
tests: default to tcp connection

14 years agocascadedworker: create ticks on branch in separate tx
Marko Kreen [Mon, 10 Jan 2011 14:30:30 +0000 (16:30 +0200)]
cascadedworker: create ticks on branch in separate tx

txid_visible_in_snapshot() does not consider same txid
as visible in current snapshot.

14 years agotests/londiste: generate some load when testing
Marko Kreen [Mon, 10 Jan 2011 14:28:04 +0000 (16:28 +0200)]
tests/londiste: generate some load when testing

14 years agopgq/triggers: disallow primary key updates
Marko Kreen [Mon, 10 Jan 2011 14:27:03 +0000 (16:27 +0200)]
pgq/triggers: disallow primary key updates

14 years agopgq.ticker: better error message when sanity check fails
Marko Kreen [Mon, 10 Jan 2011 14:26:05 +0000 (16:26 +0200)]
pgq.ticker: better error message when sanity check fails

14 years agoMerge branch 'master' of internal-git:/git/dba/skytools-3
Asko Tiidumaa [Wed, 22 Dec 2010 09:30:21 +0000 (09:30 +0000)]
Merge branch 'master' of internal-git:/git/dba/skytools-3

14 years agofixes to producer sql filtering
Asko Tiidumaa [Wed, 22 Dec 2010 09:29:51 +0000 (09:29 +0000)]
fixes to producer sql filtering

14 years agoupdate syslog settings in pgqd.ini
Martin Pihlak [Wed, 22 Dec 2010 09:06:50 +0000 (11:06 +0200)]
update syslog settings in pgqd.ini

14 years agochange default syslog=1 for pgqd.
Martin Pihlak [Wed, 22 Dec 2010 08:56:19 +0000 (10:56 +0200)]
change default syslog=1 for pgqd.

14 years agoMerge remote branch 'intgit/master'
Marko Kreen [Tue, 21 Dec 2010 12:39:47 +0000 (14:39 +0200)]
Merge remote branch 'intgit/master'