我正在使用Cassandra将数据存储在我的应用程序上。一切都变得很好,直到我试图阻止它。停止时,有时我将释放一个nullpointerexception,如下所示:
15:58:56.869 ERROR [Thread-2] [CassandraDaemon.java:185] Exception in thread Thread[Thread-2,5,main]
java.lang.NullPointerException: null
at org.apache.cassandra.thrift.ThriftServer.stop(ThriftServer.java:70) [cassandra-all-2.2.6-E001.jar:2.2.6-E001]
at org.apache.cassandra.service.CassandraDaemon.stop(CassandraDaemon.java:452) [cassandra-all-2.2.6-E001.jar:2.2.6-E001]
at org.apache.cassandra.service.CassandraDaemon.deactivate(CassandraDaemon.java:564) [cassandra-all-2.2.6-E001.jar:2.2.6-E001]
at mypackage.CassandraDaemonForTest$1.run(CassandraDaemonForTest.java:96) [testutils-6.3.0.jar:na]
根据类源,这是问题发生的点:
public void stop()
{
if (server != null)
{
server.stopServer();
try
{
server.join();
}
catch (InterruptedException e)
{
logger.error("Interrupted while waiting thrift server to stop", e);
}
server = null;
}
}
令人惊讶地,有几个相同的节俭服务器运行实例,当我尝试停用时,某些时候会通过null检查并在实例上调用下一个方法时出现问题。我的调试器在同一实例上显示至少三次对此方法的调用:
任何建议如何解决这个问题?
报告并固定了这一点 Cassandra-12105,版本2.2.8,3.0.9,3.8及以上。如果多个线程调用 stop 同时,然后一个人可以设置 server 到 null 在其他线程检查后
server != null
然后扔一个 NullPointerException 在以下调用上
server.stopServer();
// or
server.join();
这 制作方法 synchronized 用于孤立的检查和调用。
考虑升级。
Cassandra中的column family,相当于关系数据库中的表,它用于存储行和字段。 column family 中column数量是不固定的 在关系数据库中,每一行包含的字段个数是相同的。但是在Cassandra中,虽然column family可以定义column的元数据(metadata), 但是每一行的实际的字段数是由客户端程序决定的,所以没必要所有的字...
https://github.com/Stratio/cassandra-lucene-index Stratio’s Cassandra Lucene Index Stratio’s Cassandra Lucene Index, derived from Stratio Cassandra, is a plugin for Apache Cassan...
在关系数据模型中,我们为域中的每个对象建模关系/表。 对于Cassandra,情况并非如此。本文将详细介绍在Cassandra中进行数据建模时需要考虑的所有方面。 以下是Cassandra数据建模的粗略概述。 从上图可以看出, 概念数据建模和应用程序查询是构建模型时要考虑的输入。 对于任何建模(无论是关系数据库还是Cassandra),概念数据建模都是相同的,因为它更多地是关于从实体,关系及其属性...
一、认识两个网站 1、http://cassandra.apache.org/ (cassandra apache官网地址) 2、http://www.datastax.com/ (cassandra发行商网站,datastax和cassandra的关系就像redhat和linux的关系) 二、准备工作 1、搭建安装环境 (1)我的安装环境是CentOS 7.2、JDK 1.8.0。因为cassa...
Cassandra的模型和查询方式与RDBMS有很多的不同,记住这些差异非常重要。 没有查询语言 SQL是关系型数据库的标准查询语言,Cassandra却没有查询语言。不过Cassandra确实也有自己的RPC序列化机制,Thrift。通过Thrift API,用户可以访问其中的数据。 没有引用完整性 Cassandra没有引用完整性的概念,因而没有join的概念。在关系型数据库中,你可以在一个表...
分享嘉宾:王锋 奇虎360 技术总监 文章整理:王彦 内容来源:Cassandra Meetup 出品平台:DataFunTalk 注:欢迎转载,转载请留言。 导读:2010年,Dropbox 在线云存储在国外被用户熟知,同时国内如360、金山、百度等各个厂商也都陆续推出了自家的网盘类产品;而在 "360云盘" 背后的存储技术支撑之一就是以 Cassandra 为基础的云端存储...
一:前提 安装jdk1.8以上,python2.7 二:安装Cassandra Cassandra的下载地址:http://cassandra.apache.org/download/ 下载后将文件解压到某目录下, 然后配置环境变量 CASSANDRA_HOME为你解压的目录, path为%CASSANDRA_HOME%\bin 然后用管理员身份运行cmd(不然可能提示权限不够) 进入Cassan...
摄像头的8种颜色:橙、黄、绿、紫、灰、蓝、棕、白 分别对应双绞线的8种颜色:橙白、橙、绿白、蓝、蓝白、绿、棕白、棕 简化一点用网线的568B顺序分别对接就是:橙白(接橙色)、橙(接黄色)、绿白(接绿色)、蓝(接紫色)、蓝白(接灰色)、绿(接蓝色)、棕白(接棕色)、棕(接白色) 568A标准:绿白,绿,橙白,蓝,蓝白,橙,棕白,棕 橙绿蓝棕 排列好,先4-6交叉,再1-3、2-6 RJ-4...
静态资源访问失效,是应为其地址无法自动添加项目路径 以下model.html 以下index.html 以下index_1.html 以下controller.java 结果...
配置日志并测试 进入到hive目录修改日志文件名称 在hive目录下创建logs目录 修改hive-log4j.properties配置文件hive.log.dir 把hive.log.dir=${java.io.tmpdir}/${user.name} 修改为 /opt/modules/hive-0.13.1/logs 退出hive 进入hive进行测试 进入 日志文件产生 在hive控制台打印...
I'm trying to suppress IE's default handling of Ctrl+O. I've got a onKeyDown handler which get's called, but even though I call event.cancelBubble and return false, the default File|Open command still...
Recently i've picked up Oracle SQL, Right now i'm trying to write a function that later will be used in a view to generate a list. but for now im stuck on the function itself... The function makes use...
I have a problem regarding of creating table. I want to do this: But I got this: I have tried everything and I'm realize that I have problem with the looping. I've tried to put @endforeach before <...
I have a WPF 3D application (C# .NET 4.0) that has a lot of 3D geometries. Now I need to color these geometries by applying a texture. The source for the texture is one large .PNG file like the follow...
after filling the inputs in the view and clicking the submit button, the records gets saved just fine if I use Firefox. The same goes for IE if I'm quick enough. But when I wait 10 seconds, the POST d...