apache / apache/cassandra-gocql-driver

Bug: Invalid Data Returned After Adding Column

Open
#1,084 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
2.7k
Forks
658
PR merge metrics
No merged PRs in 30d

Description

After ALTERing an existing table by adding a new column, data being read via MapScan() is being returned incorrectly for some queries.

Affects multiple instances of same client.

### What version of Cassandra are you using?
3.11.0

### What version of Gocql are you using?
Originally: 808320e6ccdee98adc65c88071c422f4cff415fa
Also reproduced on: 12e3a8c05db483441932e84ab6c35c339fb01de7 (latest)

### What did you do?
Added new 'text' column to a table via cqlsh

### What did you expect to see?
No change to regular operations

### What did you see instead?
Some queries on the ALTERed table being read back _without_ the new column and some other column values not being decoded correctly (usually looks something like '%��D')

The same query results look correct when read back in 'cqlsh'.

----

### Cluster notes
This occurred on a 27 node cluster. All nodes had the same schema_version after the ALTER was run. I'm unable to reproduce with my 3 node CCM-based cluster.

Contributor guide

Open the contributing guide

Research direction

Start by investigating the Go driver's MapScan() behavior after an ALTER TABLE adds a text column, comparing the driver's results with cqlsh on the affected queries. No files or tests are named; done means regular operations return the new column and decode all other values correctly across the affected multi-node scenario.

Written by the indexing model from the issue text.

Assessment

Tech stack
cassandra, go
Domain
database
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.