Marko Kreen [Sun, 18 Sep 2011 20:37:10 +0000 (23:37 +0300)]
Fix bad var in plpy_applyrow
Marko Kreen [Sun, 18 Sep 2011 20:33:49 +0000 (23:33 +0300)]
londiste copy: reorganize DDL restoration logic
Fix transactionality around merge-node ddl handling.
Move restoration to playback, happens when 'catching-up' has ddl.
This allows DDL restoration in separate tx (merge node) to fail.
Also lock table before ddl reading, this avoid concurrent ddl droppers.
Marko Kreen [Sun, 18 Sep 2011 20:24:36 +0000 (23:24 +0300)]
londiste.get_table_list: make sure all state combinations work
Although we may not support all combinations from UI side,
it does not guarantee that some combination cannot happen,
so try to give reasonable roles in any case.
New logic:
- if table has ddl, it's lead
- in case of no dll and at least one complete copy, let the copy be follower:
that means it will do copy into table without touching ddl.
Marko Kreen [Sun, 18 Sep 2011 20:22:35 +0000 (23:22 +0300)]
sql/pgq_coop: sync tests
Marko Kreen [Sun, 18 Sep 2011 20:20:56 +0000 (23:20 +0300)]
londiste.handlers.dispatch: USE_REAL_TABLE is not under self.
Marko Kreen [Sun, 18 Sep 2011 20:20:18 +0000 (23:20 +0300)]
gq_node.get_worker_state: avoid convlicting var name
Marko Kreen [Fri, 16 Sep 2011 11:26:01 +0000 (14:26 +0300)]
sql/londiste: sync regtests with changes
contains:
- avoid 'default' function arg
- override CONTRIB_TESTDB for 9.1
- unidiff for regression.diffs
- quiet plpgsql install
- 'merge_all' when adding table
Marko Kreen [Fri, 16 Sep 2011 10:45:26 +0000 (13:45 +0300)]
londiste.upgrade_schema: move table_info check upgrade here
Egon Valdmees [Fri, 5 Aug 2011 10:48:47 +0000 (13:48 +0300)]
parallel copy process limit
added max-parallel-copy londiste argument to specify max number of parallel copy processes
Marko Kreen [Fri, 16 Sep 2011 10:31:29 +0000 (13:31 +0300)]
londiste truncate handler: drop unnecessary sql reset
Marko Kreen [Thu, 8 Sep 2011 15:34:39 +0000 (17:34 +0200)]
refresh libusual
Marko Kreen [Thu, 8 Sep 2011 15:15:13 +0000 (17:15 +0200)]
pgq.version(): 3.0.0.8
Marko Kreen [Thu, 8 Sep 2011 15:12:31 +0000 (17:12 +0200)]
londiste.upgrade_schema(): magic schema upgrade
ATM does nothing.
Marko Kreen [Thu, 8 Sep 2011 15:10:35 +0000 (17:10 +0200)]
pgq_node.upgrade_schema(): magic schema upgrade
also sync regtest output
Marko Kreen [Thu, 8 Sep 2011 14:58:14 +0000 (16:58 +0200)]
pgq.upgrade_schema(): magic schema upgrade
martinko [Wed, 7 Sep 2011 08:52:08 +0000 (10:52 +0200)]
scripts/scriptmgr.py: ignoring stale pid files when starting scripts
Marko Kreen [Wed, 7 Sep 2011 12:55:50 +0000 (14:55 +0200)]
setup_skytools: add vars to turn of script/sql installation
Marko Kreen [Wed, 7 Sep 2011 11:01:01 +0000 (13:01 +0200)]
CascadedConsumer: allow --reset without consumer info
Can happen for worker on root node.
Marko Kreen [Tue, 6 Sep 2011 22:05:22 +0000 (00:05 +0200)]
setup_skytools: no rename by default on win32
Marko Kreen [Tue, 6 Sep 2011 21:44:24 +0000 (23:44 +0200)]
Don't build C module on windows, minor fixes
Marko Kreen [Tue, 6 Sep 2011 20:59:01 +0000 (22:59 +0200)]
More build work
- separate build dir for setup_skytools, to avoid conflict with pkgloader
- pass configure switches to setup.py
Marko Kreen [Mon, 5 Sep 2011 19:42:16 +0000 (21:42 +0200)]
doc: remove obsolete documentation
Marko Kreen [Mon, 5 Sep 2011 19:41:27 +0000 (21:41 +0200)]
handlers/dispatch.py: temporarily use real table
Marko Kreen [Mon, 5 Sep 2011 19:40:33 +0000 (21:40 +0200)]
Move install logic from Makefile to setup_skytools.py
Marko Kreen [Mon, 5 Sep 2011 12:51:00 +0000 (15:51 +0300)]
.itignore: remove .sql files
Marko Kreen [Mon, 5 Sep 2011 11:05:59 +0000 (14:05 +0300)]
pgq_coop: use 'install.sql' file
Marko Kreen [Mon, 5 Sep 2011 11:04:20 +0000 (14:04 +0300)]
pgq_node: use 'install.sql' file
Marko Kreen [Mon, 5 Sep 2011 11:03:21 +0000 (14:03 +0300)]
sql/londiste: use 'install.sql' file
Marko Kreen [Mon, 5 Sep 2011 11:02:35 +0000 (14:02 +0300)]
pgq_ext: use single 'install.sql' file
Marko Kreen [Mon, 5 Sep 2011 10:53:52 +0000 (13:53 +0300)]
pgq_lowlevel.sql: stop building it
Marko Kreen [Mon, 5 Sep 2011 10:10:20 +0000 (13:10 +0300)]
pgq_triggers.sql: stop building the file
due to new extensions work, the file is now fixed
Marko Kreen [Tue, 30 Aug 2011 11:28:55 +0000 (14:28 +0300)]
londiste.handlers.bulk: fix real table creation
Marko Kreen [Tue, 30 Aug 2011 11:26:48 +0000 (14:26 +0300)]
londiste.handlers.bulk: hack - try to use real table
Marko Kreen [Wed, 24 Aug 2011 08:56:43 +0000 (11:56 +0300)]
Merge remote-tracking branch 'martino/master'
martinko [Tue, 23 Aug 2011 16:15:46 +0000 (18:15 +0200)]
scripting.py: added some aliases in BaseScript
stat_add -> stat_put
stat_inc -> stat_increase
Marko Kreen [Mon, 22 Aug 2011 14:45:23 +0000 (17:45 +0300)]
londiste.table_copy/merge: don't restart failed DDL restore
it will start truncate/copy again, which will be unnoticeable
to other partitions.
Proper fix would be to restart DDL-only, but currently
there is no way to detect the situation.
Marko Kreen [Fri, 19 Aug 2011 07:53:31 +0000 (10:53 +0300)]
tests/noqueue: minor improvements
- avoid hardcoded sleeps
- avoid hardcoded part count
Marko Kreen [Fri, 19 Aug 2011 07:52:17 +0000 (10:52 +0300)]
skytools.BaseScript: fix attribute typo (cf_override)
martinko [Mon, 22 Aug 2011 11:49:50 +0000 (13:49 +0200)]
config.py: added items() and has_section() methods to simplify certain usecases
martinko [Mon, 22 Aug 2011 11:18:36 +0000 (13:18 +0200)]
minor typos fixed
Egon Valdmees [Fri, 29 Jul 2011 10:08:20 +0000 (13:08 +0300)]
cascaded unregister-location
Instead of running drop_node function on every node in cascade,
unregister-location event added to queue by master
Egon Valdmees [Mon, 1 Aug 2011 12:12:53 +0000 (15:12 +0300)]
changed invalid utf8 log level to info
Egon Valdmees [Tue, 19 Jul 2011 11:29:18 +0000 (14:29 +0300)]
fix: expect_sync to londiste.local_add_table i_trg_args
Egon Valdmees [Tue, 19 Jul 2011 10:33:34 +0000 (13:33 +0300)]
multimaster handler
Egon Valdmees [Tue, 19 Jul 2011 10:32:34 +0000 (13:32 +0300)]
no-merge argument
when using it table is not merged from source queues
Marko Kreen [Tue, 12 Jul 2011 11:17:49 +0000 (14:17 +0300)]
sql/conflicthandler: experimental conflict handler.
skytools.plpy_applyrow: low-level helper module
conflicthandler/merge_on_time.sql: sample time-based conflict handler
Marko Kreen [Thu, 7 Jul 2011 12:50:18 +0000 (15:50 +0300)]
handlers.dispatch: utf8 fix - show values only in debug level
Marko Kreen [Wed, 6 Jul 2011 11:37:17 +0000 (14:37 +0300)]
CoopConsumer: another fix for --unregister
Priit Kustala [Thu, 7 Jul 2011 12:32:05 +0000 (12:32 +0000)]
for out param table_name intermediate variable used var_table_name
Marko Kreen [Tue, 5 Jul 2011 09:48:06 +0000 (12:48 +0300)]
safe_utf8_decode: stop using builtin 'replace', its broken
Default 'replace' can eat several symbols, which means
it can corrupt even regular ascii.
Marko Kreen [Mon, 4 Jul 2011 12:05:35 +0000 (15:05 +0300)]
CascadeAdmin: node-info command
Shows detailed info about local node.
Currently the info needs to be gathered from different places,
which is annoying.
Marko Kreen [Mon, 4 Jul 2011 11:49:51 +0000 (14:49 +0300)]
CoopConsumer: Fix --unregister command.
DB function has 4 arguments not 3
Marko Kreen [Mon, 4 Jul 2011 11:48:40 +0000 (14:48 +0300)]
skytools.DBScript: drop connection if connect string has changed
.reload() happens between .work() calls, so it's safe to
drop connection on first .get_database()
Marko Kreen [Wed, 29 Jun 2011 07:34:13 +0000 (10:34 +0300)]
misc/bumpver: add pgq_coop schema for checking
Marko Kreen [Wed, 29 Jun 2011 07:33:47 +0000 (10:33 +0300)]
pgq_coop.version(): 3.0.0.2
Marko Kreen [Wed, 29 Jun 2011 07:08:59 +0000 (10:08 +0300)]
pgq_coop.next_batch: do not kill master consumer
Marko Kreen [Tue, 28 Jun 2011 15:28:50 +0000 (18:28 +0300)]
skytools.sockutil: separate module for low-level socket stuff
Move set_tcp_keepalive() here, plus set_nonblocking() and
set_cloexec().
Marko Kreen [Tue, 28 Jun 2011 14:00:58 +0000 (17:00 +0300)]
Fix various pylint errors
Marko Kreen [Tue, 28 Jun 2011 13:38:47 +0000 (16:38 +0300)]
pgq_coop.register_subconsumer: make sure main consumer exists
Marko Kreen [Tue, 28 Jun 2011 12:43:39 +0000 (15:43 +0300)]
pgq_coop: add public grant for schema
Marko Kreen [Tue, 28 Jun 2011 13:12:10 +0000 (16:12 +0300)]
Makefile: add more modules to doctest
Marko Kreen [Tue, 28 Jun 2011 12:32:28 +0000 (15:32 +0300)]
Simplify utf8 sanitizer and move under skytools/
This patch moves sanitizer under skytools.utf8 and makes
is generally usable, also better testable.
Marko Kreen [Tue, 28 Jun 2011 12:31:24 +0000 (15:31 +0300)]
skytools/__init__: setup proper __all__
Marko Kreen [Tue, 28 Jun 2011 12:28:38 +0000 (15:28 +0300)]
londiste.handlers: .needs_table method
handler can specify whether is actually operates on table
Marko Kreen [Tue, 28 Jun 2011 08:57:11 +0000 (11:57 +0300)]
londiste.setup: disable existence check when --force is used
this is (temp) solution for handlers that do not need
actual table.
Marko Kreen [Tue, 21 Jun 2011 07:46:23 +0000 (10:46 +0300)]
parse_pgarray: more strict error checking
Marko Kreen [Mon, 20 Jun 2011 13:03:33 +0000 (16:03 +0300)]
encodingvalidator: fix utf16 surrogate pairs
seems like python does not think of them as errors
Marko Kreen [Mon, 20 Jun 2011 10:49:02 +0000 (13:49 +0300)]
handlers.dispatch: move encoding validator upwards
Otherwise it may miss bad pkey values.
Marko Kreen [Fri, 17 Jun 2011 11:37:58 +0000 (14:37 +0300)]
misc/bumpver: add db ver scripts to git
Marko Kreen [Fri, 17 Jun 2011 11:36:45 +0000 (14:36 +0300)]
londiste.version(): 3.0.0.8
Marko Kreen [Fri, 17 Jun 2011 11:36:45 +0000 (14:36 +0300)]
pgq_node.version(): 3.0.0.8
Marko Kreen [Fri, 17 Jun 2011 11:27:45 +0000 (14:27 +0300)]
londiste.handlers.dispatch: use 'global' instead 'globals()[]'
Egon Valdmees [Thu, 16 Jun 2011 12:09:57 +0000 (15:09 +0300)]
fix: table rules are incorrect after londiste3 table (re)sync
Egon Valdmees [Tue, 14 Jun 2011 13:50:53 +0000 (16:50 +0300)]
part handler
handler adds trigger argument to full extra3 field with hash value and
filter to event_processing and full_copy
Egon Valdmees [Wed, 15 Jun 2011 11:22:41 +0000 (14:22 +0300)]
sqltools.full_copy variable name fix
Egon Valdmees [Wed, 8 Jun 2011 08:56:53 +0000 (11:56 +0300)]
sort table list by name
Egon Valdmees [Tue, 7 Jun 2011 14:32:06 +0000 (17:32 +0300)]
fix for "NoneType object not subscriptable" error in dispatcher encoding validation
Egon Valdmees [Tue, 7 Jun 2011 12:49:00 +0000 (15:49 +0300)]
fixed merge testcode
Egon Valdmees [Tue, 7 Jun 2011 12:24:53 +0000 (15:24 +0300)]
leaf branch now accepts add-table events
Egon Valdmees [Wed, 1 Jun 2011 14:07:36 +0000 (17:07 +0300)]
fake_local and qsplitter handlers
added new handlers:
* fake_local - dummy handler to setup queue tables. All events are ignored. Table structure is not required. Use in branch/leaf
* qsplitter - dummy handler to setup queue tables. All events are ignored. Table structure is not required. All table events are inserted to destination queue, specified with handler arg 'queue'.
changed local_add_table to allow adding of non-existing tables
Egon Valdmees [Wed, 1 Jun 2011 14:02:01 +0000 (17:02 +0300)]
renamed direct handler func name
Egon Valdmees [Wed, 1 Jun 2011 07:20:14 +0000 (10:20 +0300)]
Merge branch 'master' of lux-dbeer:code/skytools-3
Egon Valdmees [Wed, 1 Jun 2011 06:46:57 +0000 (09:46 +0300)]
no crash when column detection fails
Egon Valdmees [Wed, 1 Jun 2011 06:38:34 +0000 (06:38 +0000)]
Merge branch 'master' of https://github.com/markokr/skytools
Egon Valdmees [Tue, 31 May 2011 12:00:24 +0000 (15:00 +0300)]
direct handler
direct handler is functionally identical with
table handler (default when no handler specified),
but uses dispatch handler logic
Egon Valdmees [Tue, 31 May 2011 11:58:59 +0000 (14:58 +0300)]
error when fixing utf8 in rows with null values
Egon Valdmees [Mon, 30 May 2011 13:20:41 +0000 (16:20 +0300)]
cascade event log level to debug
Marko Kreen [Tue, 31 May 2011 08:11:13 +0000 (11:11 +0300)]
skytools.Config: switch to turn off all default values
Egon Valdmees [Thu, 26 May 2011 13:52:44 +0000 (16:52 +0300)]
table locality check for multi-source leaf
Egon Valdmees [Fri, 13 May 2011 12:03:18 +0000 (15:03 +0300)]
subconsumer (un)registration to qadmin
Egon Valdmees [Mon, 9 May 2011 13:54:53 +0000 (16:54 +0300)]
OCM-2211 pgq_coop doesnt remove timed out subconsumers without active batch
Egon Valdmees [Thu, 5 May 2011 12:37:54 +0000 (15:37 +0300)]
OCM-2279: londiste3 should translate everything to utf8, in a lossy way
where appropriate
* added argument 'encoding' to dispatcher handler
* tests for invalid utf8 sequences
* support for renamed table copy in dispatcher handler
Egon Valdmees [Tue, 8 Feb 2011 13:20:11 +0000 (15:20 +0200)]
table name and columns change support for full_copy
added support for destination table and columns with
different name than source
Marko Kreen [Fri, 6 May 2011 13:44:14 +0000 (16:44 +0300)]
applyfunc handler
Tarvi Pillessaar [Wed, 27 Apr 2011 09:48:29 +0000 (09:48 +0000)]
fixed failed sync exit code
Marko Kreen [Tue, 19 Apr 2011 21:03:32 +0000 (00:03 +0300)]
pgq.triggers: Fix potential rare crash.
The bad hash_search(HASH_ENTER) + SPI_execute() pattern
is used here also. Fix it by always properly initializing
the info structure.
The similar pattern exist also in PgqTriggerInfo, but that
is already handled via ->finalized flag.
Marko Kreen [Tue, 19 Apr 2011 20:22:08 +0000 (23:22 +0300)]
pgq.insert_event: Fix rare crash
If hash_search(HASH_ENTER) succeeds, but make_plan() fails,
due to statement_timeout/deadlock, then HTAB entry will
contain invalid values which leads to crash on next call.
Fix it by always fully initializing struct before calling make_plan().
Debugged-by: Martin Pihlak
Marko Kreen [Fri, 15 Apr 2011 10:19:28 +0000 (13:19 +0300)]
make deb: shortcut for unofficial packages
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.
Marko Kreen [Tue, 12 Apr 2011 08:39:38 +0000 (11:39 +0300)]
skytools.natsort: natural sorting of strings