I think I found the underlying cause. The buffer lines never shrink.
They grow continuously to fit the largest string which has gone
through them.  We use to see a gradual increase because the occassional
long record would grow that buffer and eventually enough large records
would be processed to exceed process virtual memory.  The new problem
is caused by adding a
new table with lots of long lines which cause all the buffers to grow
large and prevent even a single SYNC from being processed.

I have a patch which frees the data string instead of resetting when
it is above a certain
size (I chose 32 KB).  There is a danger that a single fetch could be
too big when lots of really huge rows come together.

 - Ian
_______________________________________________
Slony1-general mailing list
[email protected]
http://gborg.postgresql.org/mailman/listinfo/slony1-general

Reply via email to