Re: Replication Error After Adding New Field
Posted in 1999
--=====================_2005794==_.ALT
Content-Type: text/plain; charset="us-ascii"
I suspect that either you stopped ER or ran with CDRBLOCKOUT when you altered
the table.
When ER comes up, we read information about the table that is being replicated
and use the maping information to normalize the row before evaluating it for
possible replication. That means that we have to be able to 'map' the columns
and expand the varchar columns so that the evaluation can proceed. (This also
happens when scanning rows with normal queries.)
If the replay position is not current and the table is altered, this problem
can occur. What happens is that ER is restarted and snooping begins at the
replay position. We now have information about the 'current' format of the
row, but snooping may be trying to process log records prior to the table
alter. That's what causes the problem.
With 7.31, if an inplace alter was done, then we do convert the row from the
log file to the current format prior to normalizing the row.
The best procedure for altering a table that is being replicated under ER is
to:
1) Make sure that the replay position is current.
2) Remove the server as a participant of the replicate.
3) Alter the table.
4) Re-add the server as a participant of the replicate.
At 05:55 PM 7/29/99 +1000, Jim_Ho@tnt.com.au wrote:
>We've recently added a field in a table which is part of a replicate.
>Recently getting this error :
>
>16:39:09 CDR Eval 0: Could not uncompress row 14680066:1402900
>16:39:59 Eval uncomp: encountered invalid varchar in row
>(bookingno:128:15).
>
>16:39:59 CDR Eval 0: Could not uncompress row 14680066:1402900>
>Any idea ?
>
>Jim Ho
>
>
>
>
----------
Madison Pruet
Dallas Texas
Product Development, Enterprise Replication
Informix Software
--=====================_2005794==_.ALT
Content-Type: text/html; charset="us-ascii"
<html><div>I suspect that either you stopped ER or ran with CDRBLOCKOUT
when you altered the table.</div>
<br>
<div>When ER comes up, we read information about the table that is being
replicated and use the maping information to normalize the row before
evaluating it for possible replication. That means that we have to
be able to 'map' the columns and expand the varchar columns so that the
evaluation can proceed. (This also happens when scanning rows with normal
queries.)</div>
<br>
<div>If the replay position is not current and the table is altered, this
problem can occur. What happens is that ER is restarted and
snooping begins at the replay position. We now have information
about the 'current' format of the row, but snooping may be trying to
process log records prior to the table alter. That's what causes
the problem. </div>
<br>
<div>With 7.31, if an inplace alter was done, then we do convert the row
from the log file to the current format prior to normalizing the
row. </div>
<br>
<div>The best procedure for altering a table that is being replicated
under ER is to:</div>
<br>
<div>1) Make sure that the replay position is current.</div>
<br>
<div>2) Remove the server as a participant of the replicate.</div>
<br>
<div>3) Alter the table. </div>
<br>
<div>4) Re-add the server as a participant of the replicate.</div>
<br>
<br>
<div>At 05:55 PM 7/29/99 +1000, Jim_Ho@tnt.com.au wrote:</div>
<div>>We've recently added a field in a table which is part of a
replicate.</div>
<div>>Recently getting this error :</div>
<div>></div>
<div>>16:39:09 CDR Eval 0: Could not uncompress row
14680066:1402900</div>
<div>>16:39:59 Eval uncomp: encountered invalid varchar in
row</div>
<div>>(bookingno:128:15).</div>
<div>></div>
<div>>16:39:59 CDR Eval 0: Could not uncompress row
14680066:1402900</div>
<div>></div>
<div>>Any idea ?</div>
<div>></div>
<div>>Jim Ho</div>
<div>></div>
<div>></div>
<div>></div>
>
<br>
<hr>
<font size=4><b>Madison Pruet<br>
Dallas Texas<br>
Product Development, Enterprise Replication<br>
<font size=4><i>Inform</font><font size=4 color="#FF0000">i</font><font size=4 color="#0000FF">x</font></i><font size=4 color="#000000">
Software<br>
</font></b></html>
--=====================_2005794==_.ALT--