Trying to run a simple benchmark using docker and cassandra stress tool

Installation details
#ScyllaDB version: latest, using docker run
#Cluster size:
Ubuntu 22.04 LTS, single node 8 GB RAM, 2 vcpu (small instance for MVP).

I started scylla using docker:

docker run --name some-scylla --hostname some-scylla -d scylladb/scylla --smp 1

Here is the running container:

docker ps

CONTAINER ID   IMAGE             COMMAND                  CREATED         STATUS         PORTS                                                            NAMES

6e52a6725d34   scylladb/scylla   "/docker-entrypoint.…"   8 minutes ago   Up 3 minutes   22/tcp, 7000-7001/tcp, 9042/tcp, 9160/tcp, 9180/tcp, 10000/tcp   some-scylla



The stress test version and command (and error below):

cassandra-stress  version

Version: 4.1.10


cassandra-stress write n=100000 -node 172.17.0.2

******************** Stress Settings ********************

Command:

Type: write

Count: 100,000

No Warmup: false

Consistency Level: LOCAL_ONE

Target Uncertainty: not applicable

Key Size (bytes): 10

Counter Increment Distibution: add=fixed(1)

Rate:

Auto: false

Thread Count: 200

OpsPer Sec: 0

Population:

Sequence: 1..100000

Order: ARBITRARY

Wrap: true

Insert:

Revisits: Uniform:  min=1,max=1000000

Visits: Fixed:  key=1

Row Population Ratio: Ratio: divisor=1.000000;delegate=Fixed:  key=1

Batch Type: not batching

Columns:

Max Columns Per Key: 5

Column Names: [C0, C1, C2, C3, C4]

Comparator: AsciiType

Timestamp: null

Variable Column Count: false

Slice: false

Size Distribution: Fixed:  key=34

Count Distribution: Fixed:  key=5

Errors:

Ignore: false

Tries: 10

Log:

No Summary: false

No Settings: false

File: null

Interval Millis: 1000

Level: NORMAL

Mode:

API: JAVA_DRIVER_NATIVE

Connection Style: CQL_PREPARED

CQL Version: CQL3

Protocol Version: V5

Username: null

Password: null

Auth Provide Class: null

Max Pending Per Connection: 128

Connections Per Host: 8

Compression: NONE

Node:

Nodes: [172.17.0.2]

Is White List: false

Datacenter: null

Schema:

Keyspace: keyspace1

Replication Strategy: org.apache.cassandra.locator.SimpleStrategy

Replication Strategy Options: {replication_factor=1}

Table Compression: null

Table Compaction Strategy: null

Table Compaction Strategy Options: {}

Transport:

truststore=null; truststore-password=null; keystore=null; keystore-password=null; ssl-protocol=TLS; ssl-alg=null; ssl-ciphers=TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA;

Port:

Native Port: 9042

JMX Port: 7199

Graph:

File: null

Revision: unknown

Title: null

Operation: WRITE

TokenRange:

Wrap: false

Split Factor: 1
java.lang.RuntimeException: com.datastax.driver.core.exceptions.UnsupportedProtocolVersionException: [/172.17.0.2:9042] Host does not support protocol version V5 but V4

at org.apache.cassandra.stress.settings.StressSettings.getJavaDriverClient(StressSettings.java:142)

at org.apache.cassandra.stress.settings.StressSettings.getJavaDriverClient(StressSettings.java:111)

at org.apache.cassandra.stress.settings.SettingsSchema.createKeySpaces(SettingsSchema.java:66)

at org.apache.cassandra.stress.settings.StressSettings.maybeCreateKeyspaces(StressSettings.java:150)

at org.apache.cassandra.stress.StressAction.run(StressAction.java:58)

at org.apache.cassandra.stress.Stress.run(Stress.java:101)

at org.apache.cassandra.stress.Stress.main(Stress.java:54)

Caused by: com.datastax.driver.core.exceptions.UnsupportedProtocolVersionException: [/172.17.0.2:9042] Host does not support protocol version V5 but V4

at com.datastax.driver.core.Connection.unsupportedProtocolVersionException(Connection.java:582)

at com.datastax.driver.core.Connection.access$1200(Connection.java:90)

at com.datastax.driver.core.Connection$6.apply(Connection.java:360)

at com.datastax.driver.core.Connection$6.apply(Connection.java:351)

at com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform(AbstractTransformFuture.java:213)

at com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform(AbstractTransformFuture.java:202)

at com.google.common.util.concurrent.AbstractTransformFuture.run(AbstractTransformFuture.java:118)

at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30)

at com.google.common.util.concurrent.AbstractFuture.executeListener(AbstractFuture.java:1138)

at com.google.common.util.concurrent.AbstractFuture.complete(AbstractFuture.java:958)

at com.google.common.util.concurrent.AbstractFuture.set(AbstractFuture.java:726)

at com.datastax.driver.core.Connection$Future.onSet(Connection.java:1540)

at com.datastax.driver.core.Connection$Dispatcher.channelRead0(Connection.java:1290)

at com.datastax.driver.core.Connection$Dispatcher.channelRead0(Connection.java:1208)

at com.datastax.shaded.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)

at com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)

at com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)

at com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)

at com.datastax.shaded.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)

at com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)

at com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)

at com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)

at com.datastax.shaded.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)

at com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)

at com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)

at com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)

at com.datastax.shaded.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102)

at com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)

at com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)

at com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)

at com.datastax.shaded.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:312)

at com.datastax.shaded.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:286)

at com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)

at com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)

at com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:335)

at com.datastax.shaded.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1304)

at com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:356)

at com.datastax.shaded.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:342)

at com.datastax.shaded.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:921)

at com.datastax.shaded.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:135)

at com.datastax.shaded.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:646)

at com.datastax.shaded.netty.channel.nio.NioEventLoop.processSelectedKeysPlain(NioEventLoop.java:546)

at com.datastax.shaded.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:500)

at com.datastax.shaded.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460)

at com.datastax.shaded.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)

at com.datastax.shaded.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)

at java.base/java.lang.Thread.run(Thread.java:829)

There is an option to select the protocol version, it defaults to the latest NEWEST_SUPPORTED version:

Usage: -mode native [unprepared] cql3 [compression=?] [port=?] [user=?] [password=?] [auth-provider=?] [maxPending=?] [connectionsPerHost=?] [protocolVersion=?]
 OR
Usage: -mode simplenative [prepared] cql3 [port=?]

  unprepared                               force use of unprepared statements
  compression=? (default=none)
  port=? (default=9046)
  user=?                                   username
  password=?                               password
  auth-provider=?                          Fully qualified implementation of com.datastax.driver.core.AuthProvider
  maxPending=? (default=128)               Maximum pending requests per connection
  connectionsPerHost=? (default=8)         Number of connections per host
  protocolVersion=? (default=NEWEST_SUPPORTED) CQL Protocol Version
Invalid -mode options provided, see output for valid options