Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
For quickly checking whether tables have same number of rows,
without comparing tables' contents (data).
|
|
(python handlers) for a given table.
|
|
|
|
In some cases the 'takeover --dead-root' will be used although
actual data on node is fine. Eg. network downtime, lost power.
It would be good to have a way to bring it back to cascade
without need for full rebuild.
This command sync queue contents and re-subscribes node.
Any events found on old root that are not spread to rest of cascade
are dumped and deleted. No actual table changes are made,
thus there must be external mechanism to avoid data conflicts.
|
|
|
|
Deprecated Londiste command line parameter --copy-condition.
Londiste handler part.py must be used instead as it leaves
configuration in maintainable state.
Fixed Londiste compare and repair for one to many and
many to one repliaction use cases. Now filtering
condition is applied on both ends and datasets compared
should be the same.
Cleaned up database splitting howto.
|
|
This will find node where tables are available for copy
by walking upwards to root.
|
|
add-table --wait-sync
Don't return until all pending tables are synced
wait-sync
Wait until all pending tables are synced.
wait-root
Wait until root's next tick has appeared locally.
wait-provider
Wait until provider's next tick has appeared locally.
|
|
add-table: --copy-node=NODENAME, store it into table_attrs
copy: take node name from table_attrs
|
|
This will allow specified nodes to sync global watermark
with each other, without sending it upwards.
This isolates root node from lag on downstream nodes.
|
|
this will auto-apply fixes, instead writing them out.
|
|
|
|
- add .dest_table field to londiste.table_info
- use it for mapping merged tables on leaf
- make handlers use it for sql generaion
- fkey-related functions keep using real table name
|
|
|
|
added max-parallel-copy londiste argument to specify max number of parallel copy processes
|
|
when using it table is not merged from source queues
|
|
Shows detailed info about local node.
Currently the info needs to be gathered from different places,
which is annoying.
|
|
|
|
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.
|
|
--create now does minimal pkey-only structure
--create-full does maximal structure
--create-only is dropped as too complex
|
|
|
|
|
|
|
|
1. Make handler modules known for Londiste:
[londiste3]
handler_modules = londiste.bublin, some_other.module
Modules are imported and classes found in __londiste_handlers__
module variable are registered.
2. Generic table setup:
londiste3 cf.ini add-table foo --handler='handler1' --handler='handler2(arg1, arg2)'
Londiste standard handler is default and always appended to custom plugins.
|
|
|
|
|
|
|
|
|
|
- looping: remove .do_single_loop and .looping variables, let only .loop_delay
control looping. If loop_delay is missing from confing or 0, then
instead sleep, the script will exit.
- docstr: print docstring fragments recursively, so each class
needs to only document its own parameters.
- londiste.py: use Replicator class to print default config as it has
proper class inheritance.
|
|
Use scheme that pygtk uses to support parallel installations:
import pkgloader
pkgloader.require('skytools', '3.0')
import skytools
This will allow keeping old module installed by default and new
version is used only by request.
|
|
* Template config is now in docstring to make to more
easy to keep up-to-date.
* dbscript: --ini option to show template config.
|
|
|
|
Instead of switchover/failover commands have 'takeover' command,
to be launched from new node.
|
|
|
|
- bring londiste help message more up to date
- add --help hint for DBScript start error msg
- bump pgq version to 3.0devel
|
|
New features:
- Cascading
- 'execute' command for running SQL scripts on nodes
- Parallel COPY
- Partition merge
- Sequences are pushed from root
- Rename 'add' command to 'add-table'
- --create switch to add-seq / add-table
also drop the never-implemented file-based transport classes.
|
|
- let AdminScript detect number of args by introspection
- track event_id_seq downstream
- on rename update subscribers too
- slightly more fleshed out switchover
|
|
|
|
|
|
- parallel copy
- dont error out in 'copy' when columns differ - its add-table problem
- test big cascade with lot of tables
|
|
simple init/event processing/copy seems to work.
|
|
|
|
|
|
|
|
|
|
|
|
provider add --all adds all tables that exist in db, otherwise works on registered tables
By Hans-Juergen Schoenig, plus some cleanup from me
|