apache / apache/cassandra-gocql-driver
Bug: Invalid Data Returned After Adding Column
- 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
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