Dmitry Kropachev created CASSANDRA-15598:
--------------------------------------------

             Summary: cassandra-stress in user profile mode fails on handling 
set<set<int>> columns
                 Key: CASSANDRA-15598
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15598
             Project: Cassandra
          Issue Type: Bug
            Reporter: Dmitry Kropachev


Reason:
c-s reads metadata from database, and build column generator from it.
But this logic is build in a way so that it does not support generator 
recursion, which is necessary to support embedded collections.

Fix:
This fix is simple exclude this type of columns from being generated.

Steps to reproduce:
 # docker run -d --name cassandra cassandra:latest
 # cassandra-stress user profile=cs_no_mv_basic_profile.yaml ops'(insert=1)' 
cl=ONE n=20 -pop seq=1..10000000 -port jmx=6868 -mode cql3 native -rate 
threads=2 -node 172.17.0.2
 # docker exec -ti cassandra cqlsh -e 'ALTER TABLE mview.users ADD ( asdasdasd 
set<frozen<set>>);'
 # cassandra-stress user profile=cs_no_mv_basic_profile.yaml ops'(insert=1)' 
cl=ONE n=20 -pop seq=1..10000000 -port jmx=6868 -mode cql3 native -rate 
threads=2 -node 172.17.0.2

Result:
Extra Schema Definitions: null
Generator Configs:
password: Size: Fixed: key=80;
last_name: Size: Uniform: min=1,max=32;
id: Size: Uniform: min=1,max=10;
first_name: Size: Fixed: key=16;
email: Size: Uniform: min=16,max=50;
username: Size: Uniform: min=10,max=30;
Query Definitions:
read1: CQL:select * from mview.users where id = ? LIMIT 10;Fields:samerow;
Token Range Queries:
Insert Settings:
partitions: fixed(1)
batchtype: UNLOGGED
Connected to cluster: , max pending requests per connection 128, max 
connections per host 8
Datacenter: datacenter1; Host: /172.17.0.2:9042; Rack: rack1
Created schema. Sleeping 1s for propagation.
java.lang.NullPointerException
at 
org.apache.cassandra.stress.StressProfile$ColumnInfo.getGenerator(StressProfile.java:760)
at 
org.apache.cassandra.stress.StressProfile$ColumnInfo.getGenerator(StressProfile.java:800)
at 
org.apache.cassandra.stress.StressProfile$ColumnInfo.getGenerator(StressProfile.java:800)
at 
org.apache.cassandra.stress.StressProfile$ColumnInfo.getGenerator(StressProfile.java:755)
at 
org.apache.cassandra.stress.StressProfile$GeneratorFactory.get(StressProfile.java:733)
at 
org.apache.cassandra.stress.StressProfile$GeneratorFactory.newGenerator(StressProfile.java:726)
at 
org.apache.cassandra.stress.StressProfile.newGenerator(StressProfile.java:696)
at 
org.apache.cassandra.stress.StressProfile.printSettings(StressProfile.java:126)
at 
org.apache.cassandra.stress.settings.StressSettings.lambda$printSettings$1(StressSettings.java:311)
at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
at 
org.apache.cassandra.stress.settings.StressSettings.printSettings(StressSettings.java:311)
at org.apache.cassandra.stress.Stress.run(Stress.java:95)
at org.apache.cassandra.stress.Stress.main(Stress.java:62)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to