com.thinkaurelius.titan.core.TitanException: постоянное исключение во время серверной операции

Внезапно я начал получать следующее исключение при использовании Titan на моем локальном компьютере. Я использую кассандру 2.0.0

com.thinkaurelius.titan.core.TitanException: Permanent exception during backend operation
    com.thinkaurelius.titan.diskstorage.util.BackendOperation.execute(BackendOperation.java:65)
    com.thinkaurelius.titan.diskstorage.BackendTransaction.executeRead(BackendTransaction.java:380)
    com.thinkaurelius.titan.diskstorage.BackendTransaction.edgeStoreQuery(BackendTransaction.java:178)
    com.thinkaurelius.titan.graphdb.database.cache.ExpirationStoreCache$2.call(ExpirationStoreCache.java:127)
    com.thinkaurelius.titan.graphdb.database.cache.ExpirationStoreCache$2.call(ExpirationStoreCache.java:123)
    com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4796)
    com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3589)
    com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2374)
    com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2337)
    com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2252)
    com.google.common.cache.LocalCache.get(LocalCache.java:3990)
    com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4793)
    com.thinkaurelius.titan.graphdb.database.cache.ExpirationStoreCache.query(ExpirationStoreCache.java:123)
    com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.edgeQuery(StandardTitanGraph.java:209)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$4$2.get(StandardTitanTx.java:773)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$4$2.get(StandardTitanTx.java:770)
    com.thinkaurelius.titan.graphdb.vertices.CacheVertex.loadRelations(CacheVertex.java:39)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$4.execute(StandardTitanTx.java:770)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$4.execute(StandardTitanTx.java:724)
    com.thinkaurelius.titan.graphdb.query.QueryProcessor$LimitAdjustingIterator.getNewIterator(QueryProcessor.java:231)
    com.thinkaurelius.titan.graphdb.query.LimitAdjustingIterator.hasNext(LimitAdjustingIterator.java:32)
    com.thinkaurelius.titan.graphdb.query.QueryProcessor$OuterIterator.nextInternal(QueryProcessor.java:75)
    com.thinkaurelius.titan.graphdb.query.QueryProcessor$OuterIterator.<init>(QueryProcessor.java:65)
    com.thinkaurelius.titan.graphdb.query.QueryProcessor.iterator(QueryProcessor.java:46)
    com.google.common.collect.Iterables.getOnlyElement(Iterables.java:282)
    com.thinkaurelius.titan.graphdb.types.vertices.TitanTypeVertex.getName(TitanTypeVertex.java:28)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$VertexConstructor.get(StandardTitanTx.java:321)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$VertexConstructor.get(StandardTitanTx.java:291)
    com.thinkaurelius.titan.graphdb.transaction.vertexcache.GuavaVertexCache.get(GuavaVertexCache.java:60)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.getExistingVertex(StandardTitanTx.java:288)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$6.apply(StandardTitanTx.java:956)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$6.apply(StandardTitanTx.java:951)
    com.google.common.collect.Iterators$9.transform(Iterators.java:893)
    com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
    com.thinkaurelius.titan.graphdb.query.LimitAdjustingIterator.next(LimitAdjustingIterator.java:55)
    com.thinkaurelius.titan.graphdb.query.QueryProcessor$OuterIterator.nextInternal(QueryProcessor.java:76)
    com.thinkaurelius.titan.graphdb.query.QueryProcessor$OuterIterator.<init>(QueryProcessor.java:65)
    com.thinkaurelius.titan.graphdb.query.QueryProcessor.iterator(QueryProcessor.java:46)
    com.google.common.collect.Iterables$7.iterator(Iterables.java:611)
    com.google.common.collect.Iterables.getOnlyElement(Iterables.java:282)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.getType(StandardTitanTx.java:621)
    com.thinkaurelius.titan.graphdb.query.QueryUtil.getType(QueryUtil.java:52)
    com.thinkaurelius.titan.graphdb.query.QueryUtil.constraints2QNF(QueryUtil.java:145)
    com.thinkaurelius.titan.graphdb.query.GraphCentricQueryBuilder.constructQuery(GraphCentricQueryBuilder.java:163)
    com.thinkaurelius.titan.graphdb.query.GraphCentricQueryBuilder.vertices(GraphCentricQueryBuilder.java:139)
    com.socialbizz.server.security.login.LoginAuthenticationProvider.authenticate(LoginAuthenticationProvider.java:30)
    org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:156)
    org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:174)
    org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter.attemptAuthentication(UsernamePasswordAuthenticationFilter.java:94)
    org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:195)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
    org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
    org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)
    org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)

root cause

com.thinkaurelius.titan.diskstorage.PermanentStorageException: Permanent failure in storage backend
    com.thinkaurelius.titan.diskstorage.cassandra.thrift.CassandraThriftKeyColumnValueStore.convertException(CassandraThriftKeyColumnValueStore.java:311)
    com.thinkaurelius.titan.diskstorage.cassandra.thrift.CassandraThriftKeyColumnValueStore.getNamesSlice(CassandraThriftKeyColumnValueStore.java:196)
    com.thinkaurelius.titan.diskstorage.cassandra.thrift.CassandraThriftKeyColumnValueStore.getSlice(CassandraThriftKeyColumnValueStore.java:120)
    com.thinkaurelius.titan.diskstorage.keycolumnvalue.BufferedKeyColumnValueStore.getSlice(BufferedKeyColumnValueStore.java:40)
    com.thinkaurelius.titan.diskstorage.keycolumnvalue.CachedKeyColumnValueStore$2.call(CachedKeyColumnValueStore.java:91)
    com.thinkaurelius.titan.diskstorage.keycolumnvalue.CachedKeyColumnValueStore$2.call(CachedKeyColumnValueStore.java:87)
    com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4796)
    com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3589)
    com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2374)
    com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2337)
    com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2252)
    com.google.common.cache.LocalCache.get(LocalCache.java:3990)
    com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4793)
    com.thinkaurelius.titan.diskstorage.keycolumnvalue.CachedKeyColumnValueStore.getSlice(CachedKeyColumnValueStore.java:87)
    com.thinkaurelius.titan.diskstorage.locking.consistentkey.ExpectedValueCheckingStore.getSlice(ExpectedValueCheckingStore.java:77)
    com.thinkaurelius.titan.diskstorage.BackendTransaction$1.call(BackendTransaction.java:181)
    com.thinkaurelius.titan.diskstorage.BackendTransaction$1.call(BackendTransaction.java:178)
    com.thinkaurelius.titan.diskstorage.util.BackendOperation.execute(BackendOperation.java:62)
    com.thinkaurelius.titan.diskstorage.BackendTransaction.executeRead(BackendTransaction.java:380)
    com.thinkaurelius.titan.diskstorage.BackendTransaction.edgeStoreQuery(BackendTransaction.java:178)
    com.thinkaurelius.titan.graphdb.database.cache.ExpirationStoreCache$2.call(ExpirationStoreCache.java:127)
    com.thinkaurelius.titan.graphdb.database.cache.ExpirationStoreCache$2.call(ExpirationStoreCache.java:123)
    com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4796)
    com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3589)
    com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2374)
    com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2337)
    com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2252)
    com.google.common.cache.LocalCache.get(LocalCache.java:3990)
    com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4793)
    com.thinkaurelius.titan.graphdb.database.cache.ExpirationStoreCache.query(ExpirationStoreCache.java:123)
    com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.edgeQuery(StandardTitanGraph.java:209)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$4$2.get(StandardTitanTx.java:773)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$4$2.get(StandardTitanTx.java:770)
    com.thinkaurelius.titan.graphdb.vertices.CacheVertex.loadRelations(CacheVertex.java:39)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$4.execute(StandardTitanTx.java:770)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$4.execute(StandardTitanTx.java:724)
    com.thinkaurelius.titan.graphdb.query.QueryProcessor$LimitAdjustingIterator.getNewIterator(QueryProcessor.java:231)
    com.thinkaurelius.titan.graphdb.query.LimitAdjustingIterator.hasNext(LimitAdjustingIterator.java:32)
    com.thinkaurelius.titan.graphdb.query.QueryProcessor$OuterIterator.nextInternal(QueryProcessor.java:75)
    com.thinkaurelius.titan.graphdb.query.QueryProcessor$OuterIterator.<init>(QueryProcessor.java:65)
    com.thinkaurelius.titan.graphdb.query.QueryProcessor.iterator(QueryProcessor.java:46)
    com.google.common.collect.Iterables.getOnlyElement(Iterables.java:282)
    com.thinkaurelius.titan.graphdb.types.vertices.TitanTypeVertex.getName(TitanTypeVertex.java:28)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$VertexConstructor.get(StandardTitanTx.java:321)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$VertexConstructor.get(StandardTitanTx.java:291)
    com.thinkaurelius.titan.graphdb.transaction.vertexcache.GuavaVertexCache.get(GuavaVertexCache.java:60)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.getExistingVertex(StandardTitanTx.java:288)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$6.apply(StandardTitanTx.java:956)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx$6.apply(StandardTitanTx.java:951)
    com.google.common.collect.Iterators$9.transform(Iterators.java:893)
    com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
    com.thinkaurelius.titan.graphdb.query.LimitAdjustingIterator.next(LimitAdjustingIterator.java:55)
    com.thinkaurelius.titan.graphdb.query.QueryProcessor$OuterIterator.nextInternal(QueryProcessor.java:76)
    com.thinkaurelius.titan.graphdb.query.QueryProcessor$OuterIterator.<init>(QueryProcessor.java:65)
    com.thinkaurelius.titan.graphdb.query.QueryProcessor.iterator(QueryProcessor.java:46)
    com.google.common.collect.Iterables$7.iterator(Iterables.java:611)
    com.google.common.collect.Iterables.getOnlyElement(Iterables.java:282)
    com.thinkaurelius.titan.graphdb.transaction.StandardTitanTx.getType(StandardTitanTx.java:621)
    com.thinkaurelius.titan.graphdb.query.QueryUtil.getType(QueryUtil.java:52)
    com.thinkaurelius.titan.graphdb.query.QueryUtil.constraints2QNF(QueryUtil.java:145)
    com.thinkaurelius.titan.graphdb.query.GraphCentricQueryBuilder.constructQuery(GraphCentricQueryBuilder.java:163)
    com.thinkaurelius.titan.graphdb.query.GraphCentricQueryBuilder.vertices(GraphCentricQueryBuilder.java:139)
    com.socialbizz.server.security.login.LoginAuthenticationProvider.authenticate(LoginAuthenticationProvider.java:30)
    org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:156)
    org.springframework.security.authentication.ProviderManager.authenticate(ProviderManager.java:174)
    org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter.attemptAuthentication(UsernamePasswordAuthenticationFilter.java:94)
    org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:195)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
    org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
    org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
    org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)
    org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)

Как я могу решить эту проблему? Я перезапустил свою машину, кассандра, но все еще происходит. Это случилось внезапно.

Нет проблем с большой нагрузкой, потому что я единственный пользователь, который использует это, нет огромной нагрузки данных, вряд ли будет 30-40 вершин.

Вот как я добавляю вершину:

Vertex userVertex = graph.addVertex(null);
        userVertex.setProperty("vid"          , email);
        userVertex.setProperty("userName"        , email);
        userVertex.setProperty("userId"          , userVertex.getId());
        userVertex.setProperty("fullName"        , fullName);
        userVertex.setProperty("gender"          , gender);
        userVertex.setProperty("password"        , password);
        userVertex.setProperty("activateLink"    , activationLink);
        userVertex.setProperty("block"           , "F");
graph.commit();

и здесь я прочитал вышеупомянутую запись во время входа в систему:

vertex=graph.query().has("vid",Compare.EQUAL,authentication.getName())
    .vertices().iterator().next();

и прежде всего я сделал это:

graph.makeKey("vid").dataType(String.class)
                .indexed(Vertex.class).unique().make();

person Manish Kumar    schedule 05.03.2014    source источник
comment
Насколько мне известно, Cassandra 2 официально не поддерживается: stackoverflow.com/questions/20064396/   -  person MarcoL    schedule 05.03.2014
comment
В любом случае, вы уверены, что в вашей БД есть уникальные идентификаторы? Вы случайно использовали batch_loading для загрузки в него данных?   -  person MarcoL    schedule 05.03.2014
comment
Я обновил свой вопрос, чтобы получить более подробную информацию .. Нет, я не использовал batch_upload   -  person Manish Kumar    schedule 05.03.2014
comment
Извините, просто чтобы уточнить: вы создаете индекс вершины перед загрузкой данных в БД?   -  person MarcoL    schedule 12.03.2014
comment
да, я создаю индексы непосредственно перед вставкой отдельных данных   -  person Manish Kumar    schedule 12.03.2014
comment
Я создаю свои индексы до того, как на самом деле создаю данные, и это работает для меня.   -  person Ducaz035    schedule 02.07.2014