Steve Singer [Fri, 6 May 2011 17:09:23 +0000 (13:09 -0400)]
Removing postgresql server header and the associated
MAXALIGN macro. Instead allocate the structures from
two different memory pools (to be futureproof'd to changes
to the structure)
Steve Singer [Fri, 6 May 2011 16:07:10 +0000 (12:07 -0400)]
Bug 204.
The commit
7970189ec93faf3ee71cf49e97529980bbd219aa item (1) says
it removed a duplicate query. That query in fact is/was slightly
different than the one above and should not have been removed.
FAILOVER to a non direct subscriber leaves sl_subscribe with
entires listing the backup node as both a provider and a receiver
of the replication set. This commit should revert that regression.
Christopher Browne [Wed, 4 May 2011 22:09:26 +0000 (18:09 -0400)]
Add some more ignorable files that get generated to .gitignore here and there
Christopher Browne [Wed, 4 May 2011 21:57:23 +0000 (17:57 -0400)]
Git can also ignore the latest HTML files
Christopher Browne [Wed, 4 May 2011 21:55:57 +0000 (17:55 -0400)]
Make sure that <sect1> elements have ID attributes associated, so
that HTML always generates predictable web page names, rather than
auto-generated (and unstable) stuff like x4934.html.
Steve Singer [Wed, 4 May 2011 15:55:29 +0000 (11:55 -0400)]
This was implicitly removed with commit
275a2eaddf995e3376b8fb42dad5c199a6a98bfc
Steve Singer [Wed, 4 May 2011 15:45:27 +0000 (11:45 -0400)]
Updating release notes from recent commits
Steve Singer [Wed, 4 May 2011 15:38:43 +0000 (11:38 -0400)]
Visual Studio Support + Bug #90.
-Adding NMake (Visual Studio) makefiles for slon and slonik.
-Removing postgres.h from slon. Instead we have copied relevant
bits from the postgresql headers to types.h since these bits
are more us re-using postgresql portability functions.
Slon does not actually link in with the backend or need
backend functionality.
-Other changes to support Visual Studio builds of slony
- Eliminate depenency on postgres.h
Squash merge from 2.0 working branch to master/2.1
- Fixes for Sun C compiler builds.
These fixes allow slony to build with the SUN C compiler
Steve Singer [Wed, 4 May 2011 15:20:54 +0000 (11:20 -0400)]
Make sl_event_lock locking work with try blocks.
The LOCK sl_event_lock must be before any queries/SQL in the
transaction. In a try lock where multiple slonik commands
are done as part of the same transaction this causes issues.
The solution to this is that if in a try block then obtain
sl_event_lock when a transaction on the dbconn is opened
Steve Singer [Wed, 4 May 2011 15:14:25 +0000 (11:14 -0400)]
Automatic Wait For.
This is a merge of the auto_wait_for feature branch.
This change modifies slonik so that it will (in normal circumstances)
automatically wait for events to be confirmed before proceeding in
cases where it detects that this is required.
See the documentation changes included in this patch for more details.
Steve Singer [Wed, 4 May 2011 15:04:10 +0000 (11:04 -0400)]
Provide a way of resetting the per session datastructure
that stores the cluster status in the C functions.
cloneFinish() changes the sequence sl_local_node_id but the value
is cached in the C functions per session. If getLocalNodeId()
has already been called in the current session cloneNode will
do the wrong thing because subsequent calls to getLocalNodeId()
will return the old value.
With the auto-wait-for changes slonik typically calls
getLocalNodeId() before submitting commands this exposes
this bug.
Here we provide a C function that resets the cluster status
and have the cloneNode function call this after changing
the sl_local_node_id value.
Steve Singer [Wed, 4 May 2011 13:15:16 +0000 (09:15 -0400)]
Removing section on bare metal/direct slony function calls for configuration.
The supported way of changing slony configuration is through slonik, period.
We have not maintained the stored functions as a stable API through releases
this means tools call these functions need to be release specific.
Slonik also does more than just calling a stored function, this is
particularly true with 2.1 and sl_event_lock.
Steve Singer [Tue, 3 May 2011 20:44:00 +0000 (16:44 -0400)]
More reorg of chapters.
This gets rid of the "Stuff left out" section and moves the content
to more approriate chapters (ie Additional Utilities).
A blurb about cleanupThread is deleted but this is covered
elsewhere in the documentation (ie the cleanupEvent function page)
Steve Singer [Tue, 3 May 2011 18:41:11 +0000 (14:41 -0400)]
Vaccuuming is covered in performance.sgml.
Furthermore this discussion applies to older versions of slony
with pre 8.3 versions of postgresql. The current 2.1 recommendation
is to use autovacuum. If we don't like that we should update
performance.sgml
Steve Singer [Tue, 3 May 2011 18:33:16 +0000 (14:33 -0400)]
Rerog of some of the chapters
Steve Singer [Tue, 3 May 2011 18:00:05 +0000 (14:00 -0400)]
Updating installation guide for 2.1
Christopher Browne [Tue, 3 May 2011 18:52:05 +0000 (14:52 -0400)]
Merge branch 'master' of ssh://git.postgresql.org/slony1-engine
Christopher Browne [Tue, 3 May 2011 18:51:21 +0000 (14:51 -0400)]
Slonik scripts are only to return values in range 0..255
per commit
ef8c0ab6d26510bd61a24718c0a763911043aec5
Steve Singer [Tue, 3 May 2011 15:06:22 +0000 (11:06 -0400)]
Merge branch '21_docs'
Christopher Browne [Mon, 2 May 2011 21:17:23 +0000 (17:17 -0400)]
Fix to DDL regression tests - some of the file paths were wrong.
Steve Singer [Mon, 2 May 2011 20:03:20 +0000 (16:03 -0400)]
Updating documentation for DDL Changes section.
Add in section talking about manually applying DDL.
Christopher Browne [Fri, 29 Apr 2011 20:14:41 +0000 (16:14 -0400)]
Add release notes for bug #201
Christopher Browne [Fri, 29 Apr 2011 20:12:07 +0000 (16:12 -0400)]
Merge branch 'master' of ssh://git.postgresql.org/slony1-engine
Christopher Browne [Fri, 29 Apr 2011 20:11:35 +0000 (16:11 -0400)]
Merge remote-tracking branch 'github/bug201'
http://www.slony.info/bugzilla/show_bug.cgi?id=201
Allow command-line options to be configured from slon_tools.conf
Steve Singer [Fri, 29 Apr 2011 15:06:42 +0000 (15:06 +0000)]
Have the environment variable point at the clustertest jar, not
2 directories above it.
Steve Singer [Thu, 28 Apr 2011 21:02:25 +0000 (17:02 -0400)]
Removing test results.
They should not be in git
Steve Singer [Thu, 28 Apr 2011 20:52:14 +0000 (16:52 -0400)]
Removing test result directories. This should not be in git
Steve Singer [Tue, 26 Apr 2011 19:53:48 +0000 (15:53 -0400)]
Fixing bug introduced in
a0729b759306dd21fe4043ee52a80fae5b515c90
query1 has a 'start transaction;' command that needs to be executed
otherwise no transaction is started. This makes rolling back
on errors hard.
Steve Singer [Mon, 25 Apr 2011 20:41:15 +0000 (16:41 -0400)]
Commits
9687c2a7c866102dab9bde388ce86e51d28f29df
5c009b6d97fccb2342874f6cf5e8d1e611470b12 both added the same line.
This should only be added once.
Removing the extra rtcfg_namespace line.
Steve Singer [Wed, 9 Feb 2011 21:36:45 +0000 (16:36 -0500)]
Switching ACCEPT SET messages to info.
It is really useful to see when this event happens in the logs
(cherry picked from commit
5df057dc12fe1148a07fcd5a445992c453b87306)
Steve Singer [Mon, 25 Apr 2011 17:40:42 +0000 (13:40 -0400)]
Fixing an issues where slon would try to start a new transaction
and obtain sl_config_lock instead of calling enableSubscription.
This was causing a deadlock with sl_event_lock during some tests
Steve Singer [Tue, 19 Apr 2011 14:24:30 +0000 (10:24 -0400)]
Obtaining this lock actually increases deadlock because
it creates a conflict between sl_config_lock and sl_event_lock.
slonik initiated queries will always obtain sl_event_lock before
sl_config_lock (or at least when creating events). Having
remote_worker do the opposite isn't a good idea.
If we find more examples of deadlock with this removed then
they need to be adressed in some other fashion.
Steve Singer [Tue, 19 Apr 2011 14:23:35 +0000 (10:23 -0400)]
Do not lock sl_event when adding an event.
The caller should already have a lock on sl_event_lock
which must be obtained before the txid is assigned
Christopher Browne [Thu, 14 Apr 2011 18:43:37 +0000 (14:43 -0400)]
Updated release notes for HEAD
Reviewed Git logs going back to when we started work in mid-2010.
Note that there's a *tiny* bit of Emacs org-mode stuff that I have
put in so that we can easily autogenerate some nice looking docs
including well-formed HTML to put onto the web site.
Steve Singer [Mon, 11 Apr 2011 13:27:35 +0000 (09:27 -0400)]
Fixing a bug in the log table selection query.
It is possible for the code to enter the if block where
no sets come from that provider. The code will still
execute provider_query so we need to make it a valid query
that returns no rows.
Christopher Browne [Tue, 12 Apr 2011 20:20:06 +0000 (16:20 -0400)]
Bug #196 - snapshot id values appear to travel backwards in sl_event
Put in a lock on a new table, event_lock, whenever events are trying
to generate a SYNC event, and make sure this is the very first thing
executed, to prevent anything else from race-conditioning in to get the
SYNC first
Merge remote-tracking branch 'github/bug196'
Conflicts:
RELEASE
src/backend/slony1_funcs.sql
Steve Singer [Tue, 12 Apr 2011 14:01:22 +0000 (10:01 -0400)]
Fixing segfault.
The clustername needs to be used for both teh first %s and the second %s
Steve Singer [Tue, 12 Apr 2011 14:01:22 +0000 (10:01 -0400)]
Fixing segfault.
The clustername needs to be used for both teh first %s and the second %s
Jason Yan [Fri, 1 Apr 2011 17:05:21 +0000 (13:05 -0400)]
http://www.slony.info/bugzilla/show_bug.cgi?id=201
Allow command-line options to be configured from slon_tools.conf
Christopher Browne [Fri, 18 Mar 2011 19:09:12 +0000 (15:09 -0400)]
Bug #175 - implement a monitoring thread, which stores information
about the activities of the various slon threads in the new table
sl_components
Squashed commit of the following:
commit
da552dd21c87301d7d6d6762a3894c841816d48d
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Mar 18 15:01:34 2011 -0400
Close DB connection here, pointed out by Steven
commit
0003b57ee0fb6ba855c2aa9bcfbc174671996087
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Mar 18 12:20:37 2011 -0400
Add docs about log entries that can occur relating to monitoring thread
commit
d9b69c024d34a9b41a87876270d84d1c5b2b32a6
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Mar 18 12:13:17 2011 -0400
Add log warning if the stack gets pretty big.
commit
24da0a137120f4032858230836b39ed14da755fb
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Mar 18 12:05:55 2011 -0400
Memory leak observed by Steve
commit
d51049b54f014ee4f00f974fc9629a7d64ca9727
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Mar 18 11:45:03 2011 -0400
upgrade schema needs to create sl_components if it is missing
commit
cd3519bba5a03ce2f577747324f4a9ebc697d317
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Thu Mar 17 13:41:38 2011 -0400
Add sl_components to the set of tables we should consider vacuuming
commit
d3f66cccb54168ca8d6a80261337a66228720cd8
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Wed Mar 16 16:40:35 2011 -0400
Add note about interpreting sl_components for monitoring thread
commit
a61f4642ed29bc727d2361a4000500b81573ea11
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Wed Mar 16 16:40:08 2011 -0400
When exiting the monitoring thread, shut off data collection.
And if the monitoring thread is shut off, don't collect any data in the queue.
commit
d1a5be153e51cd10ac12a3dcb9cbb63856a18306
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Wed Mar 16 16:31:47 2011 -0400
Revising failures so that things that aren't honestly fatal do not
restart the slon.
Some error conditions now lead to the monitoring thread terminating without running.
Actually, there's an "eek, there's a problem" here; if the monitoring
thread isn't running, then nothing is there to empty entries from the queue.
So if we're closing it off, then we should turn off entry collection.
Turn the lights off before going home...
commit
d00574d2d1793a372467bc103a7772030fd939ab
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Tue Mar 15 13:05:25 2011 -0400
Various changes resulting from Steve Singer's review:
1. INITIAL_STACK_SIZE from #define to static int
2. Get rid of #defines of begin/commit, in favor of slon_dstrings
3. Add an initial query, at monitor thread start time, which
purges old data out of sl_components.
We removed the other way of cleaning it out, but surely still
need a way.
4. Some memory allocation fixes
5. stack_dump() now locks the stack_lock mutex, entry_dump() comments
warn that users of it need to take that lock.
6. Annotate parms of monitor_state() with "const" as needful
commit
03f52daf1fb7ae2d819ecd0c411342a594f6884d
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Tue Mar 15 12:32:57 2011 -0400
Remove comment per suggestion in review
commit
0543c96506eb55012c4366f78009f886b9464d59
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Tue Mar 15 12:32:29 2011 -0400
Add conf option, monitor_threads, which controls whether or not the monitoring thread is run
commit
7a3c5f54dcf72bcf67a49f6ed5b80ed673fc0ed5
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Mon Mar 14 18:31:59 2011 -0400
Remove deletion query on sl_components, per recommendation from Steve in the patch review
commit
72ed0337641eefda095cfcb706562d71d9c03413
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Mon Mar 14 16:44:02 2011 -0400
Revisions to docs per Steve's comments
commit
c6082bc77f460e985c7a2891c45269c9648347c9
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Mon Mar 14 16:43:22 2011 -0400
Remove default - if we're using slon timestamps, we shouldn't try to default to the DB server's timestamp
commit
e6b947c39272030208341e9fd240f7760be89410
Merge:
a2e7b12 6572ed1
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Feb 25 18:32:29 2011 -0500
Merge branch 'master' of git://git.postgresql.org/git/slony1-engine into bug175
commit
a2e7b12a90209d03ae2064d505db7909fab29b88
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Feb 25 13:07:48 2011 -0500
Add check on sl_components to cluster state test scripts
commit
a546892938506294ee8baae24c4a1bfafc33fb46
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Feb 25 12:43:10 2011 -0500
Add more documentation regarding sl_components interpretation, including more on need for NTP synchronization
commit
54eaf2dd5bbdd3f18966c2d7d494cb8ddcea6dc2
Merge:
f0ff740 b750db3
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Feb 25 11:28:57 2011 -0500
Merge branch 'master' of git://git.postgresql.org/git/slony1-engine into bug175
commit
f0ff740171f3794e2113545756e44d2e8a4554cc
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Thu Feb 24 17:50:13 2011 -0500
Add emacs directory locals
commit
f2a4f355e08365c6b6707ca6d6e2f756637c4c63
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Thu Feb 24 14:42:54 2011 -0500
Run pgindent on monitoring code
commit
21b78047c79c45d04416c8fe4a08cdb92fff79a6
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Thu Feb 24 12:11:47 2011 -0500
Set initial stack size to 6. This suffices for simple clusters, as typical contents look like:
slonyregress1@localhost-> select * from _slony_regress1.sl_components order by co_actor;
co_actor | co_pid | co_node | co_connection_pid | co_activity | co_starttime | co_event | co_eventtype
----------------------+--------+---------+-------------------+------------------+------------------------+----------+--------------
local_cleanup | 24586 | 0 | 24907 | thread main loop | 2011-02-24 17:02:55+00 | | n/a
local_listen | 24896 | 1 | 24900 | thread main loop | 2011-02-24 17:03:03+00 | | n/a
local_monitor | 24586 | 0 | 24909 | thread main loop | 2011-02-24 17:02:55+00 | | n/a
local_sync | 24517 | 0 | 24906 | thread main loop | 2011-02-24 17:03:05+00 | | n/a
remote listener | 24586 | 2 | 24910 | thread main loop | 2011-02-24 17:03:03+00 | | n/a
remoteWorkerThread_2 | 24586 | 2 | 24908 | thread main loop | 2011-02-24 17:02:55+00 | | n/a
(6 rows)
commit
a77fc6cbf80b1bacdad168a25cd51c31ef27daf2
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Thu Feb 24 12:04:14 2011 -0500
Fixed memory allocation problems with monitoring thread stack
commit
1e5f6127d1a27ee1d61f36ee7ebad472fe979211
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Tue Feb 22 16:29:47 2011 -0500
Remove pid parm from monitor_state() - collect that consistently inside the function
commit
36e578301546679a8d8975525a1a84b6736012fe
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Tue Feb 22 16:28:15 2011 -0500
Improving comments on sl_components
commit
bac60dce1063678de66e239f2bdf6765fcdb0a99
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Tue Feb 22 16:27:53 2011 -0500
Add documentation on connections, fixing some SGML tagging problems
commit
1c7b1d456ff2518e77d164ba5b6a2358bc734e84
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Feb 18 18:04:10 2011 -0500
Add section on monitoring that describes the new sl_components
commit
cdbcaacb1b1c5732a739e51d0b3f0a58c5bc86c2
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Feb 18 15:53:59 2011 -0500
More activity monitoring in remote_worker threads
commit
410bff78bc8da1c0cb6b222965ac50ea9341c1ed
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Feb 18 15:46:07 2011 -0500
Remove spurious debugging code
commit
55ae2a5c266f1bf5ed5dbc0b9f5576aca0bfc096
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Feb 18 15:45:13 2011 -0500
Add in monitor_state() calls inside operation loops to indicate when these threads are doing work
commit
65d34b6de01df6117e37aadd8abe341b4469a37d
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Feb 18 15:44:11 2011 -0500
Fixing up memory allocation errors
commit
ad52f7e961e72962c10c2b1ce3099003f81fa305
Merge:
76e3502 04c1986
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Feb 18 12:32:34 2011 -0500
Merge branch 'master' of git://git.postgresql.org/git/slony1-engine into bug175
commit
76e350232d6422b029d204344e5f8e1b7d32eea1
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Thu Feb 17 15:34:35 2011 -0500
Redo monitor thread using a stack, with the optimization that if the latest entry is for the same component, we overwrite, rather than recording an extra element.
commit
f14af6c3bb9cd8dcb1603e47e2744b239d06885a
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Thu Feb 17 15:33:35 2011 -0500
actor is now PK for sl_components, not the previous composite
commit
c642ba97a2e24db170b0927a873f497d9035d372
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Thu Feb 17 15:32:38 2011 -0500
primary key for components is now on actor...
Also, don't bother recording an update to sl_component that is newer than the present entry
commit
87089c80d660f6188eab5097c5413a4b7cf925ff
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Thu Feb 17 15:30:39 2011 -0500
Shift to using malloc'ed stack array means we don't need this queue struct
commit
55746482ed77e5833e31a2d5730f8e1fae6ae51c
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Wed Feb 16 15:17:04 2011 -0500
Allocate space for NUL for strings
commit
b7253ae109b0075b66237f082af9cb5217e9c435
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Tue Feb 15 16:48:14 2011 -0500
Fixing casts on monitoring code
commit
6b4a98137f951e31d438b816b9124c6b8e18f420
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Tue Feb 15 16:47:41 2011 -0500
appendquery function should return void. Change types of PIDs to pid_t
commit
07dcc554baa1a9af2db8664daebe523f59464964
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Tue Feb 15 15:58:49 2011 -0500
Cleanup of function prototypes
commit
434716fc74a911dbeceba1521cfe5623dbec7825
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Tue Feb 15 15:52:31 2011 -0500
Fixes resulting from SPLINT analysis
commit
37dad19295aa5606592c5372a6b5bcbb106e9fe9
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Tue Feb 15 15:51:40 2011 -0500
set default for connpid to ensure there's guaranteed always a value
commit
c9667dd5906dd269f4b7c5995350d6e8643eb227
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Tue Feb 15 13:23:49 2011 -0500
Change some functions returning INT to return VOID to reduce warnings & such
commit
b58a72e7272d1ca96792141482058a048aa3afa7
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Tue Feb 15 12:33:36 2011 -0500
do local malloc() for copies of monitoring labels
commit
f92f86ff32a2c39fd5e6282961d5aa999cad728f
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Tue Feb 15 12:32:53 2011 -0500
Pass NULL rather than empty string to monitor_state()
commit
54ab45829a6242716de30f9af177513244fdbf5c
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Mon Feb 14 12:44:17 2011 -0500
Numerous revisions to monitoring
commit
4c64fbe276bf579ec3949e963de8dcfb837d1fda
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Mon Feb 14 12:40:01 2011 -0500
Capture connection PID for local_listen thread
commit
7136e148d027891d19bd696c1c598f57744ef783
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Mon Feb 14 12:39:37 2011 -0500
Make connection PID mandatory
commit
5b174f9d33aa2a21163fd49369c06e249e4617b8
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Mon Feb 14 12:28:25 2011 -0500
Capture connection PID for monitoring
commit
1b00ff5daa5a363531f2f507fb1e369f7d33ddc6
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Mon Feb 14 12:07:19 2011 -0500
rename query strings, refactor
commit
e2f8d344136b3531bd5fe504733b565c6e9ce5f2
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Mon Feb 14 12:04:46 2011 -0500
Instrument the local listen thread with monitor_state()
commit
6b45354d0cd1b0ff13c1017186b0950c69e982e0
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Feb 11 18:18:59 2011 -0500
Lots more debugging done
commit
b94243a198af131b2dc98bc02d5410fab528ea38
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Feb 11 18:18:36 2011 -0500
Change default timing for monitoring thread to dump results every 500ms, add docs for this option
commit
ed670f0e6b5f06aa80d1fe8e407765cc67948b78
Merge:
17bdfdf 692fa16
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Feb 11 15:49:11 2011 -0500
Merge branch 'master' of git://git.postgresql.org/git/slony1-engine into bug175
commit
17bdfdf63295138d5439384f48c6ad80c72af03c
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Thu Feb 10 17:57:12 2011 -0500
Lots of changes to monitor thread. It doesn't quite work, but it's now getting close
commit
b8101ab3b85aec1f25f287b059bc583c9c7739ce
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Thu Feb 10 17:44:17 2011 -0500
Change to use UPDATE so we'll frequently get to do HOT updates
commit
a32838fde66ef9481681f80ac4ea82103fd43914
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Thu Feb 10 17:36:19 2011 -0500
Query listed co_event too many times
commit
7cb0500a59265ca585fce82437069535a44a40e5
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Thu Feb 10 17:35:53 2011 -0500
Activity isn't mandatory - Listeners aren't normally busy doing things
commit
b81d6f811ae109481ae6e6a055cae8a1f8afdbbe
Merge:
7239af7 f7ceb47
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Tue Feb 8 15:36:17 2011 -0500
Merge branch 'master' into bug175
commit
7239af790b0e103ceefee82a3cb0a7f0803b372e
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Mon Dec 20 18:11:52 2010 -0500
Debugging monitoring code - next steps...
commit
3d1380144a3b1dc320b37154547f76494235385e
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Dec 17 17:55:56 2010 -0500
Revise monitoring API to reduce parms needed, and start instrumenting remote worker main loop
commit
16f722db1e6bf2be2b055a82f66999d8e5babd35
Merge:
e08b3cf 379e4d6
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Dec 17 17:43:27 2010 -0500
Merge branch 'master' into bug175
Conflicts:
src/backend/slony1_funcs.sql
commit
e08b3cf11c0d36eec936071df493ab6a93859046
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Dec 17 17:39:55 2010 -0500
Loose implementation of API for queueing updates to states of slony components, and draining the queue to record the queries in DB
commit
0eaac89aec7f86b601d8e1f9711123b784f62008
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Dec 17 17:38:52 2010 -0500
Add API for recording monitoring of component states
commit
99cbd9cc2ab8ac07da0b5cf2f822b1cd69d47246
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Dec 17 17:38:11 2010 -0500
Add monitor_interval parameter to control how often the monitoring queue gets flushed
commit
8c2997b2a6ec5ffeef40a575570ab1574c9ee7d1
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Dec 17 17:37:39 2010 -0500
Reformatting & such of monitoring table
commit
5a8cc861c59d591ebbf6de00b54a265e3cdac05b
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Dec 17 17:36:55 2010 -0500
Function to record component state for monitoring
commit
125ccb17e9e80db37d3f78e2ea62b56395d68ab7
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Thu Dec 16 16:17:47 2010 -0500
Upon startup of connections, capture the PID into SlonConn structure
commit
31e3547ad4d128f4f1c38165673fb4d3319c7cce
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Thu Dec 16 16:17:18 2010 -0500
Put proper comments on sl_components
commit
aeed5716509029ce84a5b6fc19bc5e76c00d3d4f
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Tue Dec 14 13:16:07 2010 -0500
Add preliminary code for monitoring thread
commit
b61746b0fab22c8c67df3318dc42813407912287
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Tue Dec 14 13:15:37 2010 -0500
Add a preliminary schema for monitoring table
Christopher Browne [Fri, 18 Mar 2011 18:54:56 +0000 (14:54 -0400)]
Squashed commit of the following:
commit
1ac7c028e3151e30ef3976dde09b6b4c622f1a13
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Thu Mar 3 12:49:31 2011 -0500
Add bug #198 to release notes
commit
0774976398221ab11b7df195749224920eaf43cb
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Thu Mar 3 12:48:38 2011 -0500
Add test that the provider node exists
Christopher Browne [Thu, 3 Mar 2011 17:49:31 +0000 (12:49 -0500)]
Add bug #198 to release notes
Christopher Browne [Wed, 2 Mar 2011 19:45:47 +0000 (11:45 -0800)]
Add release note for #196
Christopher Browne [Wed, 2 Mar 2011 19:42:30 +0000 (14:42 -0500)]
Add guard (via locking sl_event_lock) to ESTABLISH_SUBSCRIPTION event creation.
Also, revise README to mention this issue.
Christopher Browne [Wed, 2 Mar 2011 18:04:13 +0000 (13:04 -0500)]
There a few more places to adjust, as there are stored functions that generate events:
a) failednode2() generates an event, so the table needs to be locked before calling this function in src/slonik/slonik.c
b) failoverSet_int() generates an event, hence src/slon/remote_worker.c needs to lock the table first.
Christopher Browne [Wed, 2 Mar 2011 15:30:44 +0000 (10:30 -0500)]
Replace pre_event_create() calls with LOCK TABLE sl_event_lock, to eliminate race condition properly.
Christopher Browne [Wed, 2 Mar 2011 15:29:42 +0000 (10:29 -0500)]
No value in having pre_event_create() function... That leaves the race condition in place.
We need to submit the LOCK TABLE request *immediately* after the BEGIN, with *NO* database logic intervening at all
Christopher Browne [Tue, 1 Mar 2011 20:05:15 +0000 (15:05 -0500)]
Add sl_event_lock table that is what gets locked to prevent mis-serialization of creation of sl_event entries.
Add pre_event_create() function that takes out that lock which will be called by anything that does an event create.
Add code to upgrade schema function which creates sl_event_lock if it is missing.
Slon SYNC thread needs to call pre_event_create() before calling createEvent().
Various functions for slonik actions call pre_event_create() before calling createEvent().
Christopher Browne [Thu, 24 Feb 2011 22:50:13 +0000 (17:50 -0500)]
Add emacs directory locals
Steve Singer [Thu, 24 Feb 2011 22:09:41 +0000 (17:09 -0500)]
Fixing syntax error with previous commit
Steve Singer [Thu, 24 Feb 2011 22:07:11 +0000 (17:07 -0500)]
Re-ordering the lists of tests so once that we expect to fail
based on known but still unaddressed issues are at the bottom
Steve Singer [Thu, 24 Feb 2011 21:01:59 +0000 (16:01 -0500)]
Fixing issue with ExecuteScript test.
N/A was being inserted into the slonikScript.
Steve Singer [Thu, 24 Feb 2011 20:18:11 +0000 (15:18 -0500)]
The table on the slaves isn't empty if the subscribe transaction
rollsback (as we expect it to) in cases where a previous test leaves
the table with data in it.
Manually clean out the slave
Jan Wieck [Fri, 18 Feb 2011 16:29:25 +0000 (11:29 -0500)]
Fixed problem with sets that contain no tables (empty or sequence
only set). The problem only occurs if we don't consume any tables
at all from the data provider. Under normal processing, this does
not lead to a valid log selection query. If we detect this, we
replace the provider_query with a dummy query that returns zero
rows.
Steve Singer [Fri, 11 Feb 2011 20:06:21 +0000 (15:06 -0500)]
Adding test suites based on the clustertest-framework.
clustertest-framework is a testing framework developed for testing
slony that can be found at
https://github.com/clustertest/clustertest-framework/
This commit adds two test suites:
clustertest/regression - is a port of the shell script based regression
tests from the slony1-engine/tests directory.
clustertest/disorder - is a new set of tests for testing slony in the context
of a simulated order entry system.
The tests are based on version 1.0.0 of the clustertest-framework.
The disorder simulated business transactions were written by Jan Wieck.
The scripts that control the transaction flow and slony commands where
written by Steve Singer as was the javascript port of the existing
regression tests.
Chris Browne added documentation, some additional tests, review, testing
and logging improvments.
Christopher Browne [Wed, 2 Feb 2011 16:42:58 +0000 (11:42 -0500)]
Add bug #195 to release notes, reorder
Christopher Browne [Wed, 2 Feb 2011 16:39:26 +0000 (11:39 -0500)]
Bug #195 - change slon_quote functions to IMMUTABLE
Steve Singer [Fri, 28 Jan 2011 21:19:11 +0000 (16:19 -0500)]
Updating release notes. Bug 181 - bulk adding of tables
Steve Singer [Fri, 28 Jan 2011 21:02:10 +0000 (16:02 -0500)]
Bug 181.
Bulk adding of tables + Fewer defaults to set add table.
This change allows users to:
1. omit the ORIGIN parameter to 'set add table' or 'set add sequence'
2. omit the id parameter for 'set add table' or 'set add sequence'.
slonik will query all nodes it has admin conninfo data for to find
the next available id
3. use a regular expression as an argument to 'set add table' or
'set add sequence' to add a group of tables (or sequences)
to a set with a single command. Examples:
set add table(set id=1, tables='public.*');
set add sequences(set id=1, sequences='public.*');
4. Have slonik automatically add any sequences that
are used as part of a SERIAL datatype to the
set while it is adding the table.
set add table(set id=1, fully qualified name='public.test', add sequences=true);
Implemented by Steve Singer with input, documentation, tests, testing and
some patches from Chris Browne
Christopher Browne [Thu, 27 Jan 2011 21:57:51 +0000 (16:57 -0500)]
Notes were about bug #189
Christopher Browne [Thu, 27 Jan 2011 20:02:57 +0000 (15:02 -0500)]
Bug #193 - cleanup thread doing VACUUM every time, not "every vac_count" times
Apparently the revisions done to cleanup thread in 2.0 removed the reset to 0 bit.
Christopher Browne [Thu, 9 Dec 2010 18:42:36 +0000 (13:42 -0500)]
Bug #152 - delete unnecessary debugging printf() calls in DDL handling in slonik
Christopher Browne [Thu, 27 Jan 2011 17:32:56 +0000 (12:32 -0500)]
Add check to slonik EXIT that return value is in range 0..255, consistent with what Unix allows, and consistent with the docs
Christopher Browne [Thu, 27 Jan 2011 17:30:51 +0000 (12:30 -0500)]
Add release notes for bug #167
Jan Wieck [Thu, 27 Jan 2011 14:51:07 +0000 (09:51 -0500)]
Change the sl_log_* selection query from using a complicated where clause
into a series of UNION ALL queries with slightly simpler qualifications.
The PostgreSQL optimizer failed on the old query to apply a lower bound
on the index scankey, causing the query to always select from the beginning
of the table. With a large backlog this caused significant time to be lost,
visible as "time to first row". The new query delivers the first log row
usually within milliseconds regardless of the size of sl_log_*.
New feature explain_interval.
This new slon.conf variable defines an interval in seconds at which the
remote worker will output the current log selection query together with
it's EXPLAIN query plan.
Jan Wieck [Thu, 27 Jan 2011 14:46:40 +0000 (09:46 -0500)]
Make calls to setsockopt() for TCP keep alive depend on definition
of TCP_KEEPIDLE etc. Emit a warning if they are not defined but the
configuration file sets values.
On some platforms (FreeBSD), TCP keep alive settings are done in
the kernel via sysctl.
Christopher Browne [Fri, 14 Jan 2011 20:42:21 +0000 (15:42 -0500)]
Bug #185 - fixing names of functions referenced in admin guide
Names needed to be changed to indicate argument names, because
autodoc generates labels based on the argument names now.
Also, add new filenames that are generated to .gitignore
Steve Singer [Fri, 14 Jan 2011 17:08:41 +0000 (12:08 -0500)]
Adding release note for bug 126
Steve Singer [Thu, 6 Jan 2011 20:24:12 +0000 (15:24 -0500)]
Bug 126.
This change turns TCP_KEEP alive on by default.
It also provides configuration in the slon.conf file for
keep alive, keep alive interval, keep alive count and the
keep alive idle interval.
Other than turning keep alive on/off this change has not yet been implemen
on Win32
Steve Singer [Wed, 22 Dec 2010 14:42:46 +0000 (09:42 -0500)]
Fixing compiler warnings.
Comparing a signed vs unsigned integer produces compiler warnings.
Steve Singer [Tue, 21 Dec 2010 21:45:50 +0000 (16:45 -0500)]
SchedStatus is not an integer.
SchedStatus rc is an enum, assigning negative integer values
to it does not do what we want. Use an int to store int return
values.
Steve Singer [Wed, 12 Jan 2011 14:57:18 +0000 (09:57 -0500)]
Bug #102
http://www.slony.info/bugzilla/show_bug.cgi?id=102
If you have a configuration with 1 master and 2 or more slaves, and you have
all paths defined, slonik can hang during a failover.
In src/slonik/slonik.c, the slonik_failed_node function queries the sl_nodelock
table on each node to find the listener process responsible for that node and
stores it in nodeinfo.
Later in the function it loops through all the nodes, checking to see if the
listener responsible for that node has exited so it knows that slon has
restarted on that node.
Unfortunately, the query it uses just counts the number of processes that are
not that original pid. It obviously is expecting only one entry in the result
set (i.e., the replacement listener). If there are other listeners for other
nodes running on that node (as is the case when a second slave has a path
defined, for example), then that query may never return exactly 1.
The fix is to add the node number to the query, since then it finds the number
of processes that aren't the old listener that are assigned to that node. When
there is exactly 1 of those then the slon has restarted.
Per Michael Lee Squires @ whitepages.com
(cherry picked from commit
d7d19c8b440420000c7ce4555726ad4b45fa812e)
Conflicts:
src/slonik/slonik.c
Christopher Browne [Wed, 12 Jan 2011 21:14:57 +0000 (16:14 -0500)]
Bug #163 - two registry timestamp functions needed to be changed to timestamptz
Christopher Browne [Wed, 12 Jan 2011 21:02:27 +0000 (16:02 -0500)]
Bug #163 - change data types from TIMESTAMP to TIMESTAMP WITH TIME ZONE
Conflicts:
src/backend/slony1_funcs.sql
Steve Singer [Thu, 6 Jan 2011 21:10:38 +0000 (16:10 -0500)]
Bug 180 touchups.
Fixing indentation and adding an entry to the release notes.
Jose Arthur Benetasso Villanova [Thu, 6 Jan 2011 21:06:26 +0000 (16:06 -0500)]
Bug180 Slonik DATE command.
This patch creates a new slonik command 'DATE'.
date(format=''%Y-%m-%d %H:%M:%S %Z');
will print the current date/time to slonik's stdout.
Patch from Jose Arthur Benetasso Villanova <jose.arthur@gmail.com>
Christopher Browne [Wed, 5 Jan 2011 17:39:39 +0000 (12:39 -0500)]
Squashed commit of the following:
commit
90841f25ef8e31be3b8598ba36c87f7b0a28aedf
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Thu Dec 30 17:02:41 2010 -0500
Change all functions to use inline named parameters instead of declaring
aliases inside the function... Bug #185
Christopher Browne [Fri, 31 Dec 2010 17:00:53 +0000 (12:00 -0500)]
Bug #188 - test harness problem where subquery was returning multiple tuples
Christopher Browne [Thu, 30 Dec 2010 17:07:19 +0000 (12:07 -0500)]
Bug #187 - add newline to PID files.
As recommended by Peter Eisentraut
Christopher Browne [Thu, 30 Dec 2010 16:15:36 +0000 (11:15 -0500)]
Merge branch 'master' of ssh://git.postgresql.org/slony1-engine
Christopher Browne [Tue, 28 Dec 2010 22:02:30 +0000 (17:02 -0500)]
Fix schema generation - wasn't using all the right column names in the rules on sales data
Christopher Browne [Tue, 28 Dec 2010 21:52:20 +0000 (16:52 -0500)]
Fix query that generates data for table #3 to use the right column from table #2
Steve Singer [Thu, 23 Dec 2010 19:37:34 +0000 (14:37 -0500)]
Adding a script to build release tar files from git
Steve Singer [Tue, 21 Dec 2010 19:02:48 +0000 (14:02 -0500)]
Fix issue with bug 172.
SLON_ERROR "Unable to submit application_name "
was showing up on the slon output.
SELECT statements return PGRES_TUPLES_OKAY not PGRES_COMMAND_OKAY.
Steve Singer [Wed, 1 Dec 2010 14:36:19 +0000 (09:36 -0500)]
Fix for bug 154.
Call updateRelName from ddlScript_complete_int. Previous commit for but 154
did not actually change ddlScript_complete_int but ddlScript_prepare int.
(cherry picked from commit
6fba3000baf46d26e4dac5761a1aa6afa58282a6)
Conflicts:
RELEASE
Steve Singer [Wed, 1 Dec 2010 14:35:08 +0000 (09:35 -0500)]
Have the distclean rule call clean.
The test-scanner.o file was not being cleaned up on a distclean
(cherry picked from commit
e3ec77df3fda191016fbbc1bfad730642eecc914)
Conflicts:
src/parsestatements/Makefile
Christopher Browne [Wed, 22 Dec 2010 17:35:35 +0000 (12:35 -0500)]
Merge branch 'master' of ssh://git.postgresql.org/slony1-engine
Christopher Browne [Wed, 22 Dec 2010 17:32:23 +0000 (12:32 -0500)]
Fix problem with how DML for table3 was being generated for regression test test1
Christopher Browne [Fri, 17 Dec 2010 18:11:05 +0000 (13:11 -0500)]
Remove debugging statements from subscribeSet() and subscribeSet_int()
Christopher Browne [Wed, 15 Dec 2010 20:48:20 +0000 (15:48 -0500)]
Bug #172 - add support for GUC "application_name" on PG versions that support this (e.g. - 9.0+)
Squashed commit of the following:
commit
2966ae0488067b72aa02f29b1bdeb60b84dc1a4d
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Wed Dec 15 15:37:52 2010 -0500
Need to free PG connection when done
commit
766acf3e105644878e19af8c1fa14f568f187341
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Dec 10 14:43:36 2010 -0500
Revise slonik handling of application_name...
Query to see if the GUC is there, and only try to set the GUC if it
actually exists in this database.
commit
bbe9a3f0f7015768bf3fbc044d9a9bf14039859f
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Dec 10 11:36:37 2010 -0500
Add setting of application_name GUC to slonik
commit
a2d97d94017e74b0fdad100f4be3b2327a56b29d
Author: Christopher Browne <cbbrowne@ca.afilias.info>
Date: Fri Dec 10 11:23:32 2010 -0500
Bug #172 - function to optionally set application_name, and usage of this for slon connections
Christopher Browne [Tue, 14 Dec 2010 17:25:12 +0000 (12:25 -0500)]
Release notes for bug #170
Christopher Browne [Fri, 3 Dec 2010 22:11:37 +0000 (17:11 -0500)]
Remove SNMP references from codebase.
Ran thru test1 successfully after removal/autoconf/configure/build
Christopher Browne [Fri, 3 Dec 2010 22:14:53 +0000 (17:14 -0500)]
Remove netsnmp from autoconf
Christopher Browne [Fri, 3 Dec 2010 19:57:37 +0000 (14:57 -0500)]
Revise limitations - TRUNCATE triggers are available in newer versions
of Postgres, so TRUNCATE can be replicated.
Steve Singer [Mon, 25 Oct 2010 19:10:22 +0000 (15:10 -0400)]
Bug 160
IF wait returns pid < 0 and errno != EINTR bail because
an error occured and we don't know what else to do
(cherry picked from commit
1ce965cf3ae06fc03a2017f87eedefa6f95ddde4)
Steve Singer [Wed, 17 Nov 2010 15:48:46 +0000 (10:48 -0500)]
Documentation updates.
-Move the section on paths to "Concepts"
-Make it more clear that the 'w' option is passed to ssh
Christopher Browne [Tue, 16 Nov 2010 22:46:13 +0000 (17:46 -0500)]
Bug #134: Document TRUNCATE support
New section in triggers.html
Christopher Browne [Tue, 16 Nov 2010 22:43:44 +0000 (17:43 -0500)]
Add more Git ignore targets for HTML files that are generated
Christopher Browne [Tue, 16 Nov 2010 22:05:40 +0000 (17:05 -0500)]
Bug #134 - TRUNCATE trigger support
In Postgres 8.4, one may have an ON TRUNCATE trigger, which is interpreted
appropriately.
Christopher Browne [Mon, 15 Nov 2010 22:34:26 +0000 (17:34 -0500)]
Merge branch 'master' of ssh://git.postgresql.org/slony1-engine