突然间,我在本地计算机上使用Titan时开始遇到异常。我正在使用cassandra 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)
我该如何解决这个问题?我重新启动了我的机器,cassandra但仍在发生。它突然发生了。
没有重负载问题因为我是唯一使用它的用户,没有巨大的数据负载,几乎没有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();