I have been working on downgrading sstables for awhile now. I have the downgrader mostly working. The only issue is when downgrading system tables.
Specifically during the 3.1 -> 4.0 changes a column broadcast_port was added to system/local. This means that 3.1 system can not read the table as it has no definition for it. I tried marking the column for deletion in the metadata and in the serialization header. The later got past the column not found problem, but I suspect that it just means that data columns after broadcast_port shifted and so incorrectly read. I tried to run scrub to see if it would clean up the issues. No luck. I suspect I need to rewrite data columns and remove the broadcast_port altogether. Does anyone have a suggestion for how to approach this problem? Is rewriting the sstable the only solution? Can anyone point me to example code for forcing the rewrite in an offline system? Thanks, Claude