Hi Chris,
Thanks for your reply, I notice that in docs about object cache, it says
cache_type=soft is the default implementation, is it necessary to setting
it manual?
However, I setting cache_type=soft in my neo4j.properties and also setting
in through blueprint api (which is a HashMap object "configure" pass to [ new
Neo4jGraph(/path/to/graph.db, configure) ]
and I got the following error:
Exception in thread "main" java.lang.RuntimeException: Bad value 'soft' for
setting 'cache_type': must be one of [gcr]
at
com.tinkerpop.blueprints.impls.neo4j.Neo4jGraph.<init>(Neo4jGraph.java:165)
at netdb.graph.unit.CacheManager.loadGraphToCache(CacheManager.java:131)
at netdb.graph.unit.CacheManager.findVertexInCache(CacheManager.java:67)
at netdb.graph.opts.framework.IndexedGraph.query(IndexedGraph.java:47)
at netdb.graph.opts.framework.run.OptsExecutor.run(OptsExecutor.java:62)
at
netdb.graph.opts.framework.run.OptsExecutor.main(OptsExecutor.java:130)
Caused by: java.lang.IllegalArgumentException: Bad value 'soft' for setting
'cache_type': must be one of [gcr]
at org.neo4j.helpers.Settings$DefaultSetting.apply(Settings.java:801)
at org.neo4j.helpers.Settings$DefaultSetting.apply(Settings.java:721)
at
org.neo4j.graphdb.factory.GraphDatabaseSetting$SettingWrapper.apply(GraphDatabaseSetting.java:215)
at
org.neo4j.graphdb.factory.GraphDatabaseSetting$SettingWrapper.apply(GraphDatabaseSetting.java:189)
at
org.neo4j.kernel.configuration.ConfigurationValidator.validate(ConfigurationValidator.java:50)
at org.neo4j.kernel.configuration.Config.applyChanges(Config.java:123)
at org.neo4j.kernel.configuration.Config.<init>(Config.java:91)
at
org.neo4j.kernel.InternalAbstractGraphDatabase.<init>(InternalAbstractGraphDatabase.java:220)
at
org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:103)
at
org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:81)
at
com.tinkerpop.blueprints.impls.neo4j.Neo4jGraph.<init>(Neo4jGraph.java:153)
... 5 more
My neo4j version is neo4j-community-1.9.5
and my blueprint api version is 2.4.0
Really appreciate your help!
Chris Vest於 2014年6月4日星期三UTC+8上午5時21分16秒寫道:
>
> Hi Arvin,
>
> The JVM want’s to use more memory than it is allowed to. In your stack
> trace, the object cache is being created with an initial size that is too
> big to fit.
>
> Either allow a larger heap size for the JVM, or try setting
> cache_type=soft in your neo4j.properties.
>
> You can read more about the object cache here:
> http://docs.neo4j.org/chunked/stable/configuration-caches.html
> And configuring memory for the JVM here:
> http://docs.neo4j.org/chunked/stable/server-performance.html#_specifying_jvm_tuning_properties
>
> The “GCResistantCache” that you can see in the stack trace is an older
> name for the High-Performance Cache that the documentation talks about.
>
> --
> Chris Vest
> System Engineer, Neo Technology
> [ skype: mr.chrisvest, twitter: chvest ]
>
>
> On 03 Jun 2014, at 21:23, Arvin <[email protected] <javascript:>> wrote:
>
> Hi everyone, I struggle with this problem couple days...and still can't
> figure out what happened
> Has it something wrong about blueprint api?
>
> Arvin於 2014年6月2日星期一UTC+8下午1時51分14秒寫道:
>>
>> Hi all,
>> In my research project, I partition my whole graph data into many parts,
>> and store each part in its own graph.db folder
>> then, I may load 10 or 15 graph.db into memory at the same time( new
>> Neo4jGraph(/path/to/graph.db) , I use blueprint api ), because I want to
>> traverse on these part of graph which means if I can't find the node I want
>> in this graph.db, I'll try to find it on other graph.db.
>>
>> It works fine at first, but when it ran for a while, it'll throw these
>> exceptions:
>> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
>> at
>> java.util.concurrent.atomic.AtomicReferenceArray.<init>(AtomicReferenceArray.java:94)
>> at
>> org.neo4j.kernel.impl.cache.GCResistantCache.<init>(GCResistantCache.java:89)
>> at
>> org.neo4j.kernel.impl.cache.GCResistantCacheProvider.newRelationshipCache(GCResistantCacheProvider.java:75)
>> at
>> org.neo4j.kernel.impl.core.DefaultCaches.relationship(DefaultCaches.java:54)
>> at
>> org.neo4j.kernel.InternalAbstractGraphDatabase.create(InternalAbstractGraphDatabase.java:458)
>> at
>> org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:256)
>> at
>> org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:106)
>> at
>> org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:81)
>> at
>> com.tinkerpop.blueprints.impls.neo4j.Neo4jGraph.<init>(Neo4jGraph.java:153)
>> at netdb.graph.unit.CacheManager.loadGraphToCache(CacheManager.java:125)
>> at netdb.graph.unit.CacheManager.findVertexInCache(CacheManager.java:67)
>> at netdb.graph.opts.framework.IndexedGraph.query(IndexedGraph.java:47)
>> at netdb.graph.opts.framework.run.OptsExecutor.run(OptsExecutor.java:62)
>> at
>> netdb.graph.opts.framework.run.OptsExecutor.main(OptsExecutor.java:129)
>>
>> Does anyone know where should I look into? How can I avoid these error?
>> any advice are welcome
>>
>> Thank you very much!
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Neo4j" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected] <javascript:>.
> For more options, visit https://groups.google.com/d/optout.
>
>
>
--
You received this message because you are subscribed to the Google Groups
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.