2011-11-10 2 views
2

우리는 Cassandra 0.7을 사용하고 있으며 안정적인 버전의 cassandra 1.0.0이 출시되었으므로 업그레이드 할 계획이었습니다. 아직 생산 단계에 있지 않기 때문에 위험성이 낮습니다. 우리는 heut 0.7-29를 사용하고 있었는데 testutils 패키지와 모든 유닛 테스트에서 임베디드 서버를 시작하는 데 사용했던 EmbeddedServerHelper 클래스를 사용했습니다.Cassandra 및 hector 1.0 및 단위 테스트

그러나 업그레이드 된 버전의 hector 1.0-1 (cassandra 1.0.x)은 핵심 패키지에서이 패키지 (me.prettyprint.cassandra.testutils)를 제거했습니다.

새로운 hector 1.0-1 API 클라이언트를 사용하여 단위 테스트를 진행하는 계획을 알고 싶습니다. 더 이상 cassandra 임베디드 서버를 시작할 수 있습니까?

도움 주셔서 감사합니다.

답변

2

EmbeddedSchemaLoader 및 EmbeddedServerHelper를 보유하는 새로운 'test'모듈이 있습니다. 우리는 모듈을 코어에서 꺼내서 헥터 외부에서 사용할 수있게되었습니다 (모듈이 이제는 hector에 직접 의존하지 않기 때문에).

https://github.com/rantav/hector/tree/master/test

은 우리가 모든 밖으로 작동하는 방법을 알려주세요.

+0

몇 가지 사항을 수정 한 후에 아래 오류로 끝났습니다. 나는 libthrift v 0.7.0을 최신 종속성으로 사용합니다. 16 : 33 : 29,531 오류 AbstractCassandraDaemon : 354 - 시작시 예외가 발생했습니다. java.lang.NoSuchMethodError : org.apache.thrift.server.TServer. (Lorg/apache/thrift/server/TServer $ AbstractServerArgs) – bobbypavan

+0

카산드라 (Cassandra)와 헤터 (hector)는 모두 중고차 기증 (0.6.1)을 받고 있습니다. 당신은 기생충을 가장 다운 그레이드해야 할 것입니다. – zznate

+0

libthrift 0/5/0를 org.apache.cassandra.deps 그룹에 포함시켜야합니다. cassandra.yaml은 스키마 작성 문을 사용할 수 없기 때문에 스키마를로드하는 가장 좋은 방법은 무엇입니까? 나는 우리의 테스트를 위해 EmbeddedSchemaLoader에서 코드를 복제하려고 생각하고있다. – bobbypavan