-
Notifications
You must be signed in to change notification settings - Fork 86
simple londiste3 replication standby server error #17
Comments
Sorry I'm using Ubuntu 12.04 and Python 2.7.3 |
please also say: skytools version, psycopg2 version, postgresql version. and what does "select londiste.version()" show? |
Skytools 3.1.2 I made some workaround maybe it helps |
londiste.version() show 3.1.1 |
I have the same issue on: The error is: |
provider=# select londiste.version(); version2.1.12 |
I cannot reproduce it with same version of components. Although all they are self-compiled, so maybe some ubuntu patches mess something up. Please try to find out what kind of object is the 'row' value it complains on. |
Works fine (cannot reproduce) on our old: |
It's the foreign key. If i don't create the foreign key in the db, the error does not occur. Here's the test case:
|
I understand it's supposed to be fkey. The question was about python object - why python % operator thinks its not a "mapping"? Please add print(repr(row)) or something there, to see what kind of object it is. |
looks like row is: |
btw for anyone reading this that has the same issue: a workaround is adding the fkey to the provider+subscriber database after you added the table to the londiste subscriber service. |
I'm trying to configure simple replication and my standby server log:
2012-11-12 11:12:17,372 4435 ERROR Job st3_l3simple_db2 crashed: format requires a mapping
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/skytools/scripting.py", line 563, in run_func_safely
return func()
File "/usr/local/lib/python2.7/dist-packages/pgq/cascade/consumer.py", line 199, in work
return Consumer.work(self)
File "/usr/local/lib/python2.7/dist-packages/pgq/consumer.py", line 280, in work
self._launch_process_batch(db, batch_id, ev_list)
File "/usr/local/lib/python2.7/dist-packages/pgq/consumer.py", line 309, in _launch_process_batch
self.process_batch(db, batch_id, list)
File "/usr/local/lib/python2.7/dist-packages/pgq/cascade/consumer.py", line 172, in process_batch
self.process_remote_batch(src_db, tick_id, event_list, dst_db)
File "/usr/local/lib/python2.7/dist-packages/londiste/playback.py", line 363, in process_remote_batch
self.restore_fkeys(dst_db)
File "/usr/local/lib/python2.7/dist-packages/londiste/playback.py", line 926, in restore_fkeys
self.log.info('Creating fkey: %(fkey_name)s (%(from_table)s --> %(to_table)s)' % row)
TypeError: format requires a mapping
The text was updated successfully, but these errors were encountered: