With CassandraRelevantProperties what has changed is how system properties are accessed within the codebase, but they are still passed as system properties when executing the process, see
With CassandraRelevantProperties what has changed is how system properties are accessed within the codebase, but they are still passed as system properties when executing the process, see https://docs.datastax.com/en/dse/6.8/docs/managing/configure/cassandra-system-properties.html. If you're changing the contents of cassandra.yaml, make sure to pass the correct location via -Dcassandra.config and restart the node.
I wasn't able to find a reference to SAI_VECTOR_ALLOW_CUSTOM_PARAMETERS in Cassandra's system properties or cassandra.yaml, so I'm not sure where this configuration would go or look like.
opened Pull Request #2910 on apache/cassandra
#2910 CASSANDRA-19002 3.0 followup set 0 hint ttl
CassandraRelevantProperties have default value for many of the system properties. But I am not able to link them with settings in the cassandra.yaml file. In particular, I want to set the...
CassandraRelevantProperties have default value for many of the system properties. But I am not able to link them with settings in the cassandra.yaml file. In particular, I want to set the SAI_VECTOR_ALLOW_CUSTOM_PARAMETERS to true to configure the vector index. Can I do that with any configuration file without rebuilding cassandra?
I'm thinking in the manner of storying iot telemetry data.
I'd like to optimize my storage. In this case let us take iot telemetry as an example. I'd like to keep recent data (eg last 6 months) as hot and highly replicated. For older...
I'm thinking in the manner of storying iot telemetry data.
I'd like to optimize my storage. In this case let us take iot telemetry as an example. I'd like to keep recent data (eg last 6 months) as hot and highly replicated. For older data I'd like to reduce replicas and/or fully offload to a lower performance archive cluster.
I know keyspace based replication strategies. However this would mean I'd require multiple keyspaces. However I'd like to rather have the replication based on the primary-key / shard-key based solution.
Is it possilbe to define replication strategy based on data age or any other property?
If yes, how can this be achieved?
Thanks a lot in advance for your expertise.
commented Pull Request #2902 on apache/cassandra
Thanks @polandll! Let me know when that's done and I'll close this PR off without a merge. Appreciate the fast replies on this!
I've been looking into doing a bulk upload to Cassandra using the sstableloader with CQLSSTableWriter (
I've been looking into doing a bulk upload to Cassandra using the sstableloader with CQLSSTableWriter (https://cassandra.apache.org/doc/stable/cassandra/operating/bulk_loading.html#generating-sstables-with-cqlsstablewriter-java-api)
My question is, can I use LWT on an existing table during the creation of these sstables and have that reflected by the sstableloader?
For instance lets say my table has the following data:
Then I run the following code
CQLSSTableWriter.builder()
.inDirectory()
.forTable("CREATE TABLE test.table(key bigint, value bigint, PRIMARY KEY(key))")
.using("INSERT INTO test.table(key, value) VALUES(?, ?) IF NOT EXISTS")
...
writer.addRow(2, 2001);
writer.addRow(3, 3000);
...
What will be the final state of the cassandra cluster table? My hope is that it would be (1)
but I assume if LWT are not supported it would be (2)
Also, this is not specified in the documentation either, but the sstableloader might overwrite the entire table (3)
Which of (1),(2),(3) will be the state of the table after sstableloader runs?
I tried to run locally, but have been unable to get it to run in a non-prod environment
opened Pull Request #80 on apache/cassandra-sidecar
#80 CASSANDRASC-84 Expose additional node settings
I've followed the instructure of this guide:
I've followed the instructure of this guide: https://nosan.github.io/embedded-cassandra/4.0.7/#what-are-oss-supported-by-embedded-cassandra. I faced with the issue that library doesn't support the m1 aarch64 chip. I used the:
- AmazonCorretto OpenJdk 1.8
- Maven builder manager
- Macbook pro 14 m1 chip
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>CassandraTest</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>com.github.nosan</groupId>
<artifactId>embedded-cassandra</artifactId>
<version>4.0.7</version>
</dependency>
<dependency>
<groupId>com.datastax.oss</groupId>
<artifactId>java-driver-core</artifactId>
<version>4.15.0</version>
</dependency>
</dependencies>
</project>
Main.java
package org.example;
import com.datastax.oss.driver.api.core.CqlSession;
import com.github.nosan.embedded.cassandra.Cassandra;
import com.github.nosan.embedded.cassandra.CassandraBuilder;
import com.github.nosan.embedded.cassandra.Settings;
import com.github.nosan.embedded.cassandra.cql.CqlScript;
import java.net.InetSocketAddress;
public class Main {
public static void main(String[] args) {
Cassandra cassandra = new CassandraBuilder()
.addJvmOptions("-Xmx1024m", "-Xms1024m", "-Xss700k")
.build();
cassandra.start();
try {
Settings settings = cassandra.getSettings();
try (CqlSession session = CqlSession.builder()
.addContactPoint(new InetSocketAddress(settings.getAddress(), settings.getPort()))
.withLocalDatacenter("datacenter1")
.build()) {
CqlScript.ofClassPath("schema.cql").forEachStatement(session::execute);
}
}
finally {
cassandra.stop();
}
}
}
Logs:
ERROR [main] 2023-11-16 15:23:50,249 NativeLibraryDarwin.java:64 - Failed to link the C library against JNA. Native methods will be unavailable.
java.lang.UnsatisfiedLinkError: /Users/pavlo/Library/Caches/JNA/temp/jna5079777972566874879.tmp: dlopen(/Users/pavlo/Library/Caches/JNA/temp/jna5079777972566874879.tmp, 0x0001): tried: '/Users/pavlo/Library/Caches/JNA/temp/jna5079777972566874879.tmp' (fat file, but missing compatible architecture (have 'i386,x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/pavlo/Library/Caches/JNA/temp/jna5079777972566874879.tmp' (no such file), '/Users/pavlo/Library/Caches/JNA/temp/jna5079777972566874879.tmp' (fat file, but missing compatible architecture (have 'i386,x86_64', need 'arm64'))
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1934)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1817)
at java.lang.Runtime.load0(Runtime.java:782)
at java.lang.System.load(System.java:1100)
at com.sun.jna.Native.loadNativeDispatchLibraryFromClasspath(Native.java:1018)
at com.sun.jna.Native.loadNativeDispatchLibrary(Native.java:988)
at com.sun.jna.Native.<clinit>(Native.java:195)
at com.sun.jna.NativeLibrary.<clinit>(NativeLibrary.java:87)
at org.apache.cassandra.utils.NativeLibraryDarwin.<clinit>(NativeLibraryDarwin.java:55)
at org.apache.cassandra.utils.NativeLibrary.<clinit>(NativeLibrary.java:98)
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:258)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:765)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:889)