我有一个问题:我将java代码中的条目写入cassandra数据库,它会工作一段时间,然后停止写入。 (nodetool cfstats keyspace.users -H在所有节点上都没有显示密钥数量的变化(估计))
配置:4个节点(4GB,4GB,4GB和6GB RAM)。
我正在使用datastax驱动程序和
之类的连接private Cluster cluster = Cluster.builder()
.addContactPoints(<points>)
.build();
private Session session = cluster.connect("keyspace");
private MappingManager mappingManager = new MappingManager(session);
...
我在数据库中插入
public void writeUser(User user) {
Mapper<User> mapper = mappingManager.mapper(User.class);
mapper.saveAsync(user, Mapper.Option.timestamp(TimeUnit.NANOSECONDS.toMicros(System.nanoTime())));
}
我也试过
public void writeUser(User user) {
Mapper<User> mapper = mappingManager.mapper(User.class);
mapper.save(user);
}
两种变体之间。
在服务器的debug.log中,我看到
DEBUG [GossipStage:1] 2016-05-11 12:21:14,565 FailureDetector.java:456 - Ignoring interval time of 2000380153 for /node
也许问题是,那个服务器在另一个国家?但为什么一开始就写实体?我该如何解决我的问题?
另一个更新:mapper.save上的session.execute返回ResultSet [耗尽:真,列[]]