[
https://issues.apache.org/jira/browse/CASSANDRA-12697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15516000#comment-15516000
]
Sylvain Lebresne commented on CASSANDRA-12697:
----------------------------------------------
Attaching a patch below to skip the cdc column if cdc is disabled, like we did
in CASSANDRA-12236, but on the code path used by schema migration requests:
| [12697-trunk|https://github.com/pcmanus/cassandra/commits/12697-trunk] |
[utests|http://cassci.datastax.com/job/pcmanus-12697-trunk-testall] |
[dtests|http://cassci.datastax.com/job/pcmanus-12697-trunk-dtest] |
I didn't noticed that during the testing of CASSANDRA-12236 because I focused
on the upgrade from 2.x to 3.x, but schema migration tasks don't run then
because of the messaging protocol version bump. So this really only affect
upgrade from any 3.0.x or pre-CDC 3.x to a post-CDC 3.x.
An open question however is why our upgrade tests haven't caught this. It
"seems" we run upgrades between 3.0 and 3.9/trunk (see
[here|http://cassci.datastax.com/job/cassandra-3.9_dtest_upgrade/lastBuild/testReport/upgrade_tests.cql_tests/TestCQLNodes3RF3_Upgrade_current_3_0_x_To_indev_3_x/]
for instance) but said tests seem to be all passing, which is pretty
suspisious to me because I'm able to reproduce the problem with [this beyond
trivial upgrade
test|https://github.com/pcmanus/cassandra-dtest/commit/f9c6057aa236be8e73c6cf116f98aa71a3bddf10]
(which basically only creates a table and that's it). That test logs the error
4 times (and fails due to that). So I'm wondering if the upgrade test are
really running what they pretend they are running ([~philipthompson] would you
mind having a quick look to check if anything wrong jumps out, our upgrade
tests are a big mystery to me).
> cdc column addition still breaks schema migration tasks
> -------------------------------------------------------
>
> Key: CASSANDRA-12697
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12697
> Project: Cassandra
> Issue Type: Bug
> Components: Distributed Metadata
> Reporter: Sylvain Lebresne
> Assignee: Sylvain Lebresne
> Fix For: 3.x
>
>
> This is a followup of CASSANDRA-12236, which basically didn't fully fix the
> problem. Namely, the fix from CASSANDRA-12236 skipped the {{cdc}} column in
> {{SchemaKeyspace.addTableParamsToRowBuilder()}}, but that method isn't used
> by schema "migration tasks" ({{MigrationRequestVerbHandler}}, which instead
> directly send the content of the full schema table it reads from disk. So we
> still end up with a RTE like CASSANDRA-12236.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)