Привет, я работаю с Кассандрой Бэтч.Кассандра выполняет оператор на основе текущей метки времени.У меня есть следующий сценарий
открытый класс CassandraBatchExample {
public static String query1="BEGIN BATCH "
+ "insert into studentbyfname(fname,lname,feeamount,rollnum)values(‘abc’,’xyz’,100,1) USING TIMESTAMP 11; "
+ "delete from studentbyfname USING TIMESTAMP 10 where fname=‘abc’ and lname=‘xyz’;”
+ "APPLY BATCH";
public static void main(String[] args) {
Cluster cluster = null;
Session session =null;
try{
cluster = Cluster.builder().addContactPoints("127.0.0.1","127.0.0.2").build();
session = cluster.connect("demokeyspace");
session.execute(query1);
}catch(Exception e) {
e.getMessage();
}finally {
session.close();
cluster.close();
}
}
}
Когда я выполняю приведенный выше фрагмент кода, ничего не происходит на стороне БД.Кассандре следует вставить запись в таблицу, поскольку оператор вставки внутри пакета имеет больше текущей отметки времени, чем оператор удаления.
Примечание: = Это сейчас странно, сегодня я запустил этот код и вставил запись в таблицу, ноон ведет себя неожиданным образом, иногда он вставляет записи, иногда нет.
Может кто-нибудь помочь мне в этом?Я что-то здесь упускаю.