bucardo.git
11 years agoMore tweaking to async code
Greg Sabino Mullane [Fri, 2 May 2014 23:34:44 +0000 (19:34 -0400)]
More tweaking to async code

11 years agoRandom comments about new plan
Greg Sabino Mullane [Fri, 2 May 2014 22:07:35 +0000 (18:07 -0400)]
Random comments about new plan

11 years agoFix typo
Greg Sabino Mullane [Wed, 30 Apr 2014 11:27:41 +0000 (07:27 -0400)]
Fix typo

11 years agoDebugging to solve pg_result errors.
Greg Sabino Mullane [Tue, 29 Apr 2014 22:39:42 +0000 (18:39 -0400)]
Debugging to solve pg_result errors.

11 years agoGrabbed incorrect hash - was causing the async_status to not get checked and cleared...
Greg Sabino Mullane [Tue, 29 Apr 2014 18:10:30 +0000 (14:10 -0400)]
Grabbed incorrect hash - was causing the async_status to not get checked and cleared properly on serialization failures occuring at the pg_result point. Shoudl clear up the recent problem seen on the mailing list.

11 years agoSig for 4.99.12
Greg Sabino Mullane [Fri, 25 Apr 2014 17:25:07 +0000 (13:25 -0400)]
Sig for 4.99.12

11 years agoBump version to 4.99.12 4.99.12
Greg Sabino Mullane [Fri, 25 Apr 2014 17:23:10 +0000 (13:23 -0400)]
Bump version to 4.99.12

11 years agoBetter tracking of async status
Greg Sabino Mullane [Thu, 24 Apr 2014 00:07:04 +0000 (20:07 -0400)]
Better tracking of async status

11 years agoBetter service arg parsing
Greg Sabino Mullane [Sun, 20 Apr 2014 12:23:59 +0000 (08:23 -0400)]
Better service arg parsing

11 years agoreadlink can sometimes retrurn undef, even if -s is true, so make a safety check
Greg Sabino Mullane [Sun, 20 Apr 2014 11:29:22 +0000 (07:29 -0400)]
readlink can sometimes retrurn undef, even if -s is true, so make a safety check

11 years agoMild tweaks to log_level notifications
Greg Sabino Mullane [Tue, 15 Apr 2014 15:02:23 +0000 (11:02 -0400)]
Mild tweaks to log_level notifications

11 years agoSupport symlinked bucardo executable when looking for Bucardo.pm and bucardo.schema
Greg Sabino Mullane [Tue, 15 Apr 2014 15:01:24 +0000 (11:01 -0400)]
Support symlinked bucardo executable when looking for Bucardo.pm and bucardo.schema
Allow use of "all" and "tables=all" when creating a herd/relgroup
Don't keep retrying connection if in batch mode

11 years agosqlite: do a BEGIN EXCLUSIVE TRANSACTION in force-lock mode.
Greg Sabino Mullane [Sat, 12 Apr 2014 18:33:50 +0000 (14:33 -0400)]
sqlite: do a BEGIN EXCLUSIVE TRANSACTION in force-lock mode.

11 years agoPut the force-lock-file in the piddir, rather than the globally writeable /tmp
Greg Sabino Mullane [Sat, 12 Apr 2014 18:25:42 +0000 (14:25 -0400)]
Put the force-lock-file in the piddir, rather than the globally writeable /tmp

11 years agoTake out the session level isolation level for mysql - our per transaction calls...
Greg Sabino Mullane [Sat, 12 Apr 2014 17:58:52 +0000 (13:58 -0400)]
Take out the session level isolation level for mysql - our per transaction calls should be good enough.

11 years agoUse READ WRITE isolation levels wherever we can.
Greg Sabino Mullane [Sat, 12 Apr 2014 17:50:57 +0000 (13:50 -0400)]
Use READ WRITE isolation levels wherever we can.

11 years agoHave kid_pid_start notification happen on the main channel, not per database
Greg Sabino Mullane [Sat, 12 Apr 2014 17:31:05 +0000 (13:31 -0400)]
Have kid_pid_start notification happen on the main channel, not per database

11 years agoGather the maximum transaction time for all tables in a single UNION query,
Greg Sabino Mullane [Sat, 12 Apr 2014 17:22:55 +0000 (13:22 -0400)]
Gather the maximum transaction time for all tables in a single UNION query,
rather than making separate SQL calls for each table.
Per suggestion on mailing list from Hans van der Riet

11 years agoAdd error NOTIFY when reload fails
Joshua Tolley [Thu, 10 Apr 2014 17:18:42 +0000 (11:18 -0600)]
Add error NOTIFY when reload fails

11 years agoExit right away if the delta test fails, for better debugging.
Greg Sabino Mullane [Fri, 11 Apr 2014 17:28:17 +0000 (13:28 -0400)]
Exit right away if the delta test fails, for better debugging.

11 years agoWhen debug is on, write out a small text file to help connect to the test databases...
Greg Sabino Mullane [Fri, 11 Apr 2014 17:26:04 +0000 (13:26 -0400)]
When debug is on, write out a small text file to help connect to the test databases via psql.

11 years agoClean up confusing comment
Greg Sabino Mullane [Fri, 11 Apr 2014 11:39:08 +0000 (07:39 -0400)]
Clean up confusing comment

11 years agoCleanup the temporary service files
Greg Sabino Mullane [Fri, 11 Apr 2014 11:38:45 +0000 (07:38 -0400)]
Cleanup the temporary service files

11 years agoMove kid_pid_stop to global listening, not db-based.
Greg Sabino Mullane [Thu, 10 Apr 2014 22:36:46 +0000 (18:36 -0400)]
Move kid_pid_stop to global listening, not db-based.
Do a ping check before trying to cleanup databases on the kid exception handler.

11 years agoBetter debugging for notifys
Greg Sabino Mullane [Thu, 10 Apr 2014 18:25:42 +0000 (14:25 -0400)]
Better debugging for notifys

11 years agoRewrite the delete_rows function.
Greg Sabino Mullane [Thu, 10 Apr 2014 18:00:08 +0000 (14:00 -0400)]
Rewrite the delete_rows function.
Loop through and make sure we have the maximum number of async targets running at all times.
Moved much of the logic to per-target attribs.

11 years agoDebug the initdb call during testing
Greg Sabino Mullane [Thu, 10 Apr 2014 13:43:28 +0000 (09:43 -0400)]
Debug the initdb call during testing

11 years agoBetter tweaking for pgservice items
Greg Sabino Mullane [Thu, 10 Apr 2014 13:42:46 +0000 (09:42 -0400)]
Better tweaking for pgservice items

11 years agoRemove debugging.
Greg Sabino Mullane [Wed, 9 Apr 2014 23:20:08 +0000 (19:20 -0400)]
Remove debugging.

11 years agoBetter munging if we are using a service
Greg Sabino Mullane [Wed, 9 Apr 2014 23:18:20 +0000 (19:18 -0400)]
Better munging if we are using a service

11 years agoIgnore any local .bucardorc files.
Greg Sabino Mullane [Sun, 6 Apr 2014 20:07:03 +0000 (16:07 -0400)]
Ignore any local .bucardorc files.

11 years agoRemove useless comment
Greg Sabino Mullane [Tue, 1 Apr 2014 11:05:29 +0000 (07:05 -0400)]
Remove useless comment

11 years agoBump copyright to 2014
Greg Sabino Mullane [Mon, 31 Mar 2014 13:27:17 +0000 (09:27 -0400)]
Bump copyright to 2014

11 years agoAdd test for 'bucardo upgrade'
Joshua Tolley [Thu, 27 Mar 2014 21:01:09 +0000 (15:01 -0600)]
Add test for 'bucardo upgrade'

11 years agoMore bucardo.upgrade fixes
Joshua Tolley [Thu, 27 Mar 2014 20:51:47 +0000 (14:51 -0600)]
More bucardo.upgrade fixes

Now bucardo upgrade run against a database that doesn't need any changes
correctly reports that no changes are necessary

11 years agoIf we are using a service file, make sure we don't default slurp in host and port...
Greg Sabino Mullane [Thu, 20 Mar 2014 21:08:51 +0000 (17:08 -0400)]
If we are using a service file, make sure we don't default slurp in host and port env variables

11 years agogit should ignore service testing files
Greg Sabino Mullane [Thu, 20 Mar 2014 18:24:35 +0000 (14:24 -0400)]
git should ignore service testing files

11 years agoModify syntax so the upgrade process can understand it
Joshua Tolley [Thu, 20 Mar 2014 17:36:27 +0000 (11:36 -0600)]
Modify syntax so the upgrade process can understand it

11 years agoMake the dbservice column have an empty default, so we don't have to start checking...
Greg Sabino Mullane [Mon, 17 Mar 2014 19:38:49 +0000 (15:38 -0400)]
Make the dbservice column have an empty default, so we don't have to start checking "defined or length..." everywhere

11 years agoRevert comment, so it stays in sync with reverted code
Joshua Tolley [Wed, 12 Mar 2014 18:29:44 +0000 (12:29 -0600)]
Revert comment, so it stays in sync with reverted code

11 years agoFinish supporting non-ASCII table and column names
Joshua Tolley [Wed, 12 Mar 2014 16:30:47 +0000 (10:30 -0600)]
Finish supporting non-ASCII table and column names

11 years agoBucardo now accepts pg_service for databases
Joshua Tolley [Tue, 18 Feb 2014 20:06:37 +0000 (13:06 -0700)]
Bucardo now accepts pg_service for databases

11 years agoservice strings are working; still needs tests
Joshua Tolley [Fri, 14 Feb 2014 17:59:34 +0000 (10:59 -0700)]
service strings are working; still needs tests

11 years agoAlways use async when doing deletes. The previous way had a thinko - this should...
Greg Sabino Mullane [Tue, 18 Feb 2014 14:54:46 +0000 (09:54 -0500)]
Always use async when doing deletes. The previous way had a thinko - this should ensure large deletes run concurrently on different hosts.

11 years agoMake install quit ignoring dbname and dbuser options
Joshua Tolley [Thu, 13 Feb 2014 23:25:17 +0000 (16:25 -0700)]
Make install quit ignoring dbname and dbuser options

... again.

11 years agoDon't assume the bucardo database exists on install
Joshua Tolley [Fri, 14 Feb 2014 19:59:48 +0000 (12:59 -0700)]
Don't assume the bucardo database exists on install

11 years agoRevert "Make install quit ignoring dbname and dbuser options"
Joshua Tolley [Fri, 14 Feb 2014 18:14:18 +0000 (11:14 -0700)]
Revert "Make install quit ignoring dbname and dbuser options"

I should probably have run the test suite before committing...

This reverts commit 39dcde241abcdfcc45415d2eb210d8b2c694f479.

11 years agoMake install quit ignoring dbname and dbuser options
Joshua Tolley [Thu, 13 Feb 2014 23:25:17 +0000 (16:25 -0700)]
Make install quit ignoring dbname and dbuser options

11 years agos/vaccuum/vacuum/
Joshua Tolley [Thu, 13 Feb 2014 20:55:15 +0000 (13:55 -0700)]
s/vaccuum/vacuum/

11 years agoMake our statement_chunk_size default match up.
Greg Sabino Mullane [Fri, 17 Jan 2014 15:49:09 +0000 (10:49 -0500)]
Make our statement_chunk_size default match up.

11 years agoDebugging code
Greg Sabino Mullane [Thu, 16 Jan 2014 15:58:40 +0000 (10:58 -0500)]
Debugging code

11 years agoPassword should default to undef, not an empty string
Greg Sabino Mullane [Thu, 16 Jan 2014 15:42:02 +0000 (10:42 -0500)]
Password should default to undef, not an empty string

11 years agoGotta have log levels on all glog() calls.
Greg Sabino Mullane [Sun, 22 Dec 2013 16:12:52 +0000 (11:12 -0500)]
Gotta have log levels on all glog() calls.

11 years agoVersion bump to 4.99.11
Greg Sabino Mullane [Sun, 22 Dec 2013 16:12:15 +0000 (11:12 -0500)]
Version bump to 4.99.11

11 years agoEval everything.
David E. Wheeler [Tue, 17 Dec 2013 19:46:21 +0000 (11:46 -0800)]
Eval everything.

11 years agoSomeone cannot count.
David E. Wheeler [Tue, 17 Dec 2013 01:11:53 +0000 (17:11 -0800)]
Someone cannot count.

11 years agoFix typo in comment.
David E. Wheeler [Tue, 17 Dec 2013 01:00:14 +0000 (17:00 -0800)]
Fix typo in comment.

11 years agoCheck @tableoids, not tablelist, as the latter may be empty (inside validate_sync)
Greg Sabino Mullane [Tue, 3 Dec 2013 17:10:55 +0000 (12:10 -0500)]
Check @tableoids, not tablelist, as the latter may be empty (inside validate_sync)

11 years agoMeta things for the new dev/ directory
Greg Sabino Mullane [Sat, 30 Nov 2013 16:43:45 +0000 (11:43 -0500)]
Meta things for the new dev/ directory

11 years agoVarious tests for developers
Greg Sabino Mullane [Sat, 30 Nov 2013 16:42:15 +0000 (11:42 -0500)]
Various tests for developers

11 years agoBetter makedelta test. Need to move these somewhere else.
Greg Sabino Mullane [Sat, 30 Nov 2013 16:41:06 +0000 (11:41 -0500)]
Better makedelta test. Need to move these somewhere else.

11 years agoFix up some of the makedelta logic.
Greg Sabino Mullane [Sat, 30 Nov 2013 16:39:34 +0000 (11:39 -0500)]
Fix up some of the makedelta logic.

11 years agoBetter handling of inactive databases.
Greg Sabino Mullane [Fri, 22 Nov 2013 04:24:03 +0000 (23:24 -0500)]
Better handling of inactive databases.

11 years agoAdd a fifth inactive database to ensure we handle inactive targets gracefully.
Greg Sabino Mullane [Fri, 22 Nov 2013 03:20:52 +0000 (22:20 -0500)]
Add a fifth inactive database to ensure we handle inactive targets gracefully.

11 years agoBetter cleanup of syncrun entries.
Michelle Sullivan [Sun, 17 Nov 2013 01:57:57 +0000 (20:57 -0500)]
Better cleanup of syncrun entries.
Wrap some of the kid cleanup in evals.

11 years agoDon't package up that MYMETA junk
Greg Sabino Mullane [Sun, 17 Nov 2013 01:52:00 +0000 (20:52 -0500)]
Don't package up that MYMETA junk

11 years agoVersion 4.99.10 4.99.10
Greg Sabino Mullane [Fri, 15 Nov 2013 23:06:59 +0000 (18:06 -0500)]
Version 4.99.10

11 years agoAdd quick test of sequence-only sync. Needs to do some actual diff testing though.
Greg Sabino Mullane [Fri, 15 Nov 2013 23:04:14 +0000 (18:04 -0500)]
Add quick test of sequence-only sync. Needs to do some actual diff testing though.

11 years agoReduce logging for VAC subprocess to warning - we don't want purging details flooding...
Greg Sabino Mullane [Fri, 15 Nov 2013 22:45:24 +0000 (17:45 -0500)]
Reduce logging for VAC subprocess to warning - we don't want purging details flooding the logs.

11 years agoUser-supplied messages should always be shown.
Greg Sabino Mullane [Fri, 15 Nov 2013 22:19:33 +0000 (17:19 -0500)]
User-supplied messages should always be shown.

11 years agoDon't gather column information if there are no columns! Fix for validate_sync and...
Greg Sabino Mullane [Thu, 14 Nov 2013 15:01:08 +0000 (10:01 -0500)]
Don't gather column information if there are no columns! Fix for validate_sync and a table-less sync.

11 years agoDon't populate bucardo_delta_names if no tables (e.g. sequence only sync)
Greg Sabino Mullane [Thu, 14 Nov 2013 03:13:47 +0000 (22:13 -0500)]
Don't populate bucardo_delta_names if no tables (e.g. sequence only sync)

11 years agoSignature for 4.99.9 4.99.9
Greg Sabino Mullane [Tue, 12 Nov 2013 18:14:36 +0000 (13:14 -0500)]
Signature for 4.99.9

11 years agoVersion 4.99.9
Greg Sabino Mullane [Tue, 12 Nov 2013 18:13:01 +0000 (13:13 -0500)]
Version 4.99.9

11 years agoFix quoting for inserts to the bucardo_deltanames table in validate_sync.
Greg Sabino Mullane [Tue, 12 Nov 2013 17:59:27 +0000 (12:59 -0500)]
Fix quoting for inserts to the bucardo_deltanames table in validate_sync.

11 years agoInitialize var
Greg Sabino Mullane [Tue, 12 Nov 2013 05:16:54 +0000 (00:16 -0500)]
Initialize var

11 years agoFixes for the new bucardo_delta_names table.
Greg Sabino Mullane [Tue, 12 Nov 2013 05:15:23 +0000 (00:15 -0500)]
Fixes for the new bucardo_delta_names table.

11 years agoMake sure we specify schema
Greg Sabino Mullane [Tue, 12 Nov 2013 05:02:33 +0000 (00:02 -0500)]
Make sure we specify schema

11 years agoAlways check pg_async_status before calling pg_cancel
Greg Sabino Mullane [Tue, 12 Nov 2013 04:39:38 +0000 (23:39 -0500)]
Always check pg_async_status before calling pg_cancel

11 years agoStupid tabs
Greg Sabino Mullane [Tue, 12 Nov 2013 04:20:57 +0000 (23:20 -0500)]
Stupid tabs

11 years agoMake sure we only try to populate bucardo_delta_names for source databases.
Greg Sabino Mullane [Tue, 12 Nov 2013 04:19:59 +0000 (23:19 -0500)]
Make sure we only try to populate bucardo_delta_names for source databases.

11 years agoOn FK warnings, show the contraint name, otherwise we often have duplicated we cannot...
Greg Sabino Mullane [Sat, 9 Nov 2013 19:31:24 +0000 (14:31 -0500)]
On FK warnings, show the contraint name, otherwise we often have duplicated we cannot distinguish.

11 years agoShow the host in our connection logging if we have one.
Greg Sabino Mullane [Sat, 9 Nov 2013 18:18:46 +0000 (13:18 -0500)]
Show the host in our connection logging if we have one.

11 years agoTesting putting a pg_cancel at the end of the kid before the rollback.
Greg Sabino Mullane [Sat, 9 Nov 2013 18:10:40 +0000 (13:10 -0500)]
Testing putting a pg_cancel at the end of the kid before the rollback.

11 years agoDon't show the initial DSN to the Bucardo database
Greg Sabino Mullane [Sat, 9 Nov 2013 18:06:57 +0000 (13:06 -0500)]
Don't show the initial DSN to the Bucardo database

11 years agoWe don't need to check database wide when we already check database/table combo anyway.
Greg Sabino Mullane [Fri, 8 Nov 2013 19:41:35 +0000 (14:41 -0500)]
We don't need to check database wide when we already check database/table combo anyway.

11 years agoIntroduce the concept of a "quick delta" check.
Greg Sabino Mullane [Fri, 8 Nov 2013 04:53:09 +0000 (23:53 -0500)]
Introduce the concept of a "quick delta" check.

By default, this is turned on, but is left as a config variable in case this turns out to be a very bad idea. :)

This is a huge win on slow networks. Rather than getting a distinct pk count for every table in the sync, we ask the remote
database for a list of all tables and whether or not they have any changes. If they don't, we do not have to bother
with the normal "select distinct" query. This reduces the number of database calls drastically for syncs with a
large number of tables. In addition, the delta quick queries inside the function are extraorfinarily fast compared
to their distinct counterparts, as they do a select 1 ... limit 1.

All of this is accomplished by a new table on each source database called bucardo_delta_names, which stores a
list of all tables for a sync, along with their delta and track table names. This table's information is rewritten
on Bucardo startup each time. The new function uses this table to dynamically generate the quick delta queries
for each table, and then returns it in a simple text format.

This is especially noticeable on slow networks with a large number of tables in a sync. Testing in the case
that drove all this improved the sync run speed from 42 seconds to less than a second (for no rows - the
number of rows is a constant cost limited by how fast COPY goes, in most cases).

11 years agoLet's try this again...
Greg Sabino Mullane [Wed, 6 Nov 2013 16:56:55 +0000 (11:56 -0500)]
Let's try this again...

11 years agoTypo.
Greg Sabino Mullane [Wed, 6 Nov 2013 16:55:15 +0000 (11:55 -0500)]
Typo.

11 years agoShow chunk when copying
Greg Sabino Mullane [Tue, 5 Nov 2013 23:20:31 +0000 (18:20 -0500)]
Show chunk when copying

11 years agoChange default statement_chunk_size from 10000 to 8000, based on real-world experience.
Greg Sabino Mullane [Tue, 5 Nov 2013 20:31:13 +0000 (15:31 -0500)]
Change default statement_chunk_size from 10000 to 8000, based on real-world experience.

11 years agoUse prepare_cached, not prepare, inside of fetch1_sql
Greg Sabino Mullane [Tue, 5 Nov 2013 16:47:29 +0000 (11:47 -0500)]
Use prepare_cached, not prepare, inside of fetch1_sql

11 years agoTypo: compress_delta is a function, not a table
Greg Sabino Mullane [Tue, 5 Nov 2013 16:18:30 +0000 (11:18 -0500)]
Typo: compress_delta is a function, not a table

11 years agoCache the column lookups inside of validate_sync.
Greg Sabino Mullane [Tue, 29 Oct 2013 04:37:13 +0000 (00:37 -0400)]
Cache the column lookups inside of validate_sync.

11 years agoMake sure we do something sensible if we call for a log_level before we have loaded...
Greg Sabino Mullane [Fri, 25 Oct 2013 03:12:12 +0000 (23:12 -0400)]
Make sure we do something sensible if we call for a log_level before we have loaded the config.

11 years agoTabs cleanup
Greg Sabino Mullane [Thu, 24 Oct 2013 03:36:59 +0000 (23:36 -0400)]
Tabs cleanup

11 years agoReplace 'haztrig' with cached version inside of validate_sync.
Greg Sabino Mullane [Thu, 24 Oct 2013 03:35:29 +0000 (23:35 -0400)]
Replace 'haztrig' with cached version inside of validate_sync.

11 years agoShow the DSN we are connecting with
Greg Sabino Mullane [Thu, 24 Oct 2013 02:38:56 +0000 (22:38 -0400)]
Show the DSN we are connecting with

11 years agoReport on total sync time in the logs, even if no rows were changed.
Greg Sabino Mullane [Wed, 23 Oct 2013 14:58:49 +0000 (10:58 -0400)]
Report on total sync time in the logs, even if no rows were changed.

11 years agoOnly try and create that index once.
Greg Sabino Mullane [Wed, 23 Oct 2013 03:38:26 +0000 (23:38 -0400)]
Only try and create that index once.