Date   

Re: keyspaces in JanusGraph

David Pitera <piter...@...>
 

Hey Peter; as Ted said you can define which keyspace you connect to using the appropriate configuration property when defining your graph's .properties file.

Also be aware of this PR https://github.com/JanusGraph/janusgraph/pull/392 which will allow you to create new graphs dynamically (i.e. post server start) and store/manage configurations for these graphs through the ConfigurationManagementGraph API, where the configurations for your graphs are persisted rather than stored on disk in .properties files.

The PR also introduces the notion of a `Template_Configuration`, which should be useful in your case. If are _always_ connecting to one Cassandra cluster, then you can define that appropriate configuration (sans the keyspace parameter), and then call `ConfiguredGraphFactory.create("<graphName>")` to dynamically create and connect to a new graph whose keyspace would be equivalent to "<graphName>". For more specifics, about how to use the `ConfigurationManagementGraph` and `ConfiguredGraphFactory` you can look at the documentation I've written for it in that link.

On Wednesday, June 28, 2017 at 11:52:04 AM UTC-4, Peter wrote:
Hi All,

Cassandra allows definition of multiple keyspaces.  I am using nodejs w/GremlinClient module (npm install gremlin-client) to handle query execution.  Although I know how to set up a keyspace, it is not clear to me how to initialize gremlin client to use a specific keyspace.  Is there a programatic way of selecting a namespace, or is it only possible when loading gremlin-server with specific configuration file.


Thanks,

Peter


New user-JanusGraph consistency with Cassandra

stephenr...@...
 

Hello,
I am evaluating Janusgraph for a project. If backed with Cassandra and set to Quorum or ALL consistency in Cassandra config, and if I use transactions with consistency locking for all of my writes, what consistency issues do I need to consider and be aware of if running a cluster of 20-30 Cassandra instances?
Thank you!
Stephen


Re: Schema management tools

Robert Dale <rob...@...>
 


Jason, this looks like the tool you mentioned.   https://github.com/yhwang/janusgraph-utils  and slide share:  https://www.slideshare.net/ChinHuang4/onboarding-with-janusgraph-performance


On Thursday, July 6, 2017 at 11:36:45 AM UTC-4, Jason Plurad wrote:
Thanks for stirring up the conversation, Robert.

Viewing the schema definitions in tabular form is nice and a similar experience to what you'd find in other database REPLs. I really like the simple access with :schema describe without having to fuss around with the mgmt object directly.

I know some folks in my company have a JSON-based schema tool, which sounds similar to what Marc has. It allows for a relatively painless creation (and exporting) a static schema rather than going directly through the ManagementSystem API. The benefit is that you can manipulate the JSON programmatically, plus it works through the Gremlin Server.

I'd think that Robert's Gremlin Console integration and JSON-based schema definition aren't necessarily only one tool can win. Both could co-exist since they have different objectives. For example, if the ManagementSystem returns a JSON representation, the Gremlin Console plugin does a transform from JSON to text tables.

-- Jason

On Thursday, July 6, 2017 at 4:25:21 AM UTC-4, HadoopMarc wrote:
Hi Robert,

Cool!  Actually, I use a fixed schema myself which I maintain in a json file and look at if needed. Your tool is nice though for other users of my graphs.

If your tool "wins", it would also be nice to document how to use it for remote execution on gremlin server.

Cheers,     Marc


Op woensdag 5 juli 2017 19:40:43 UTC+2 schreef Robert Dale:
With so many high-profile companies and others out there with Titan/Janus in production, I can only imagine that most, if not all, have written some higher-level tools for managing the database and, in particular, the schema.

This is a call to publish your tools.  I'll go first.  I whipped up a little 'describe' command to help make it easier to see the schema and statuses.


This shows the output after loading GraphOfTheGods and running through some of the examples in the docs.


./bin/gremlin.sh -i describe.groovy

gremlin
> graph = JanusGraphFactory.open('conf/janusgraph-cassandra-es.properties')
==>standardjanusgraph[cassandrathrift:[127.0.0.1]]
gremlin
> GraphOfTheGodsFactory.load(graph)
gremlin
> :schema
Usage: must provide command: describe [ vertex | edge | propertykey | index ]
Unknown command: null
gremlin
>
gremlin
> :schema describe
Vertex Label                   | Partitioned | Static
------------                   | ----------- | ------
titan                          
|       false |  false
location                      
|       false |  false
god                            
|       false |  false
demigod                        
|       false |  false
human                          
|       false |  false
monster                        
|       false |  false
person                        
|       false |  false
------------                   | ----------- | ------


Edge Name                      |            Type |        Directed |     Unidirected |    Multiplicity
---------                      |            ---- |        -------- |     ----------- |    ------------
brother                        
|            Edge |            true |           false |           MULTI
follow                        
|            Edge |            true |           false |           MULTI
father                        
|            Edge |            true |           false |        MANY2ONE
mother                        
|            Edge |            true |           false |        MANY2ONE
battled                        
|            Edge |            true |           false |           MULTI
lives                          
|            Edge |            true |           false |           MULTI
pet                            
|            Edge |            true |           false |           MULTI
---------                      |            ---- |        -------- |     ----------- |    ------------


PropertyKey Name               |            Type |     Cardinality |            Data Type
----------------               |            ---- |     ----------- |            ---------
birthDate                      
|     PropertyKey |          SINGLE | class java.lang.Long
rating                        
|     PropertyKey |          SINGLE | class java.lang.Double
name                          
|     PropertyKey |          SINGLE | class java.lang.String
age                            
|     PropertyKey |          SINGLE | class java.lang.Integer
time                          
|     PropertyKey |          SINGLE | class java.lang.Integer
reason                        
|     PropertyKey |          SINGLE | class java.lang.String
location                      
|     PropertyKey |          SINGLE | class org.janusgraph.core.attribute.Geoshape
----------------               |            ---- |     ----------- |            ---------


Graph Index                    |      Type |          Element | Unique |       Backing |     PropertyKey |               Status
-----------                    |      ---- |          ------- | ------ |       ------- |     ----------- |               ------
name                          
| Composite | JanusGraphVertex |   true | internalindex |                 |                    
                               
|           |                  |        |               |            name |              ENABLED
vertices                      
|     Mixed | JanusGraphVertex |  false |        search |                 |                    
                               
|           |                  |        |               |             age |              ENABLED
byNameComposite                
| Composite | JanusGraphVertex |  false | internalindex |                 |                    
                               
|           |                  |        |               |            name |              ENABLED
byNameAndAgeComposite          
| Composite | JanusGraphVertex |  false | internalindex |                 |                    
                               
|           |                  |        |               |            name |              ENABLED
                               
|           |                  |        |               |             age |              ENABLED
byNameUnique                  
| Composite | JanusGraphVertex |   true | internalindex |                 |                    
                               
|           |                  |        |               |            name |              ENABLED
nameAndAge                    
|     Mixed | JanusGraphVertex |  false |        search |                 |                    
                               
|           |                  |        |               |            name |              ENABLED
                               
|           |                  |        |               |             age |              ENABLED
byNameAndLabel                
| Composite | JanusGraphVertex |  false | internalindex |                 |                    
                               
|           |                  |        |               |            name |            INSTALLED
edges                          
|     Mixed |   JanusGraphEdge |  false |        search |                 |                    
                               
|           |                  |        |               |          reason |              ENABLED
                               
|           |                  |        |               |        location |              ENABLED
----------                     |      ---- |          ------- | ------ |       ------- |     ----------- |               ------


Relation Index                 |                 Type |  Direction |   Sort Key | Sort Order |               Status
--------------                 |                 ---- |  --------- | ---------- |   -------- |               ------
battlesByTime                  
|              battled |       BOTH |       time |       decr |              ENABLED
battlesByRatingAndTime        
|              battled |        OUT |     rating |       decr |            INSTALLED
                               
|                      |            |       time |            |                    
--------------                 |                 ---- |  --------- | ---------- |   -------- |               ------


gremlin
>




Re: How can I tell if indices are being used in a query (intercepting the log)

Nigel Brown <nigel...@...>
 

The only way I found was to step through the code. While stepping, I didn't see any logs that were there to be missed.
What we really want is for this to be part of the output of the explain step (http://tinkerpop.apache.org/docs/current/reference/#explain-step) but it does not seem to be.


Re: Is textRegex using search backends?

Nigel Brown <nigel...@...>
 

The key here is not to used two indices (janus will pick one) but to use TEXTSTRING. See http://docs.janusgraph.org/latest/index-parameters.html#_full_text_and_string_search


Re: janusgraph solr cassandra GraphOfTheGodsFactory

sju...@...
 

When I've done this test before I've needed to create a core for both edges and vertices.

http://localhost:8983/solr/admin/cores?action=CREATE&name=edges&instanceDir=/opt/solr/server/solr/configsets/janusgraph&config=solrconfig.xml&dataDir=/tmp/edges_data
http://localhost:8983/solr/admin/cores?action=CREATE&name=vertices&instanceDir=/opt/solr/server/solr/configsets/janusgraph&config=solrconfig.xml&dataDir=/tmp/vertices_data

To load GraphOfTheGods you probably will also need to add the JTS jar to your Solr server. There's an open PR now that will remove this requirement in the future.

http://docs.janusgraph.org/0.1.1/solr.html#_jts_classnotfoundexception_with_geo_data


On Friday, July 7, 2017 at 10:11:04 PM UTC-5, mahendiran chandrasekar wrote:
Error trying to load GraphOfTheGodsFactory into janusgraph-cassandra-solr

Steps: 
1) download cassandra, copy cassandra.yaml from janusgraph/cassandra/cassandra.yaml -> cassandra_installationdir/conf/cassandra.yaml
2) download solr 5.2.1, copy all conf files from janusgraph/conf/solr/* -> solr_installation/server/solr/config_sets/basic_configs/*
3) Started cassandra and solr
4)janusgraph/bin/gremlin.sh

graph = JanusGraphFactory.open('conf/janusgraph-cassandra-solr.properties')
==>standardjanusgraph[cassandrathrift:[127.0.0.1]] 

gremlin> GraphOfTheGodsFactory.load(graph)

causes this stack trace

15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - Unable to save documents to Solr as one of the shape objects stored were not compatible with Solr.
org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error from server at http://localhost:8983/solr: Expected mime type application/octet-stream but got text/html. <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Error 404 Not Found</title>
</head>
<body><h2>HTTP ERROR 404</h2>
<p>Problem accessing /solr/edges/update. Reason:
<pre>    Not Found</pre></p><hr><i><small>Powered by Jetty://</small></i><hr/>

</body>
</html>

at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:529)
at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:235)
at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:227)
at org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:526)
at org.janusgraph.diskstorage.solr.SolrIndex.commitDocumentChanges(SolrIndex.java:407)
at org.janusgraph.diskstorage.solr.SolrIndex.mutate(SolrIndex.java:318)
at org.janusgraph.diskstorage.indexing.IndexTransaction$1.call(IndexTransaction.java:137)
at org.janusgraph.diskstorage.indexing.IndexTransaction$1.call(IndexTransaction.java:134)
at org.janusgraph.diskstorage.util.BackendOperation.executeDirect(BackendOperation.java:69)
at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:55)
at org.janusgraph.diskstorage.indexing.IndexTransaction.flushInternal(IndexTransaction.java:134)
at org.janusgraph.diskstorage.indexing.IndexTransaction.commit(IndexTransaction.java:115)
at org.janusgraph.diskstorage.BackendTransaction.commitIndexes(BackendTransaction.java:140)
at org.janusgraph.graphdb.database.StandardJanusGraph.commit(StandardJanusGraph.java:743)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.commit(StandardJanusGraphTx.java:1363)
at org.janusgraph.example.GraphOfTheGodsFactory.load(GraphOfTheGodsFactory.java:144)
at org.janusgraph.example.GraphOfTheGodsFactory.load(GraphOfTheGodsFactory.java:63)
at org.janusgraph.example.GraphOfTheGodsFactory$load.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at groovysh_evaluate.run(groovysh_evaluate:3)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
at org.codehaus.groovy.tools.shell.Interpreter.evaluate(Interpreter.groovy:70)
at org.codehaus.groovy.tools.shell.Groovysh.execute(Groovysh.groovy:190)
at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.super$3$execute(GremlinGroovysh.groovy)
at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.execute(GremlinGroovysh.groovy:72)
at org.codehaus.groovy.tools.shell.Shell.leftShift(Shell.groovy:122)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$work(InteractiveShellRunner.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:152)
at org.codehaus.groovy.tools.shell.ShellRunner.run(ShellRunner.groovy:59)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$run(InteractiveShellRunner.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:152)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.run(InteractiveShellRunner.groovy:83)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
at org.apache.tinkerpop.gremlin.console.Console.<init>(Console.groovy:152)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
at org.apache.tinkerpop.gremlin.console.Console.main(Console.groovy:455)
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - Details in failed document batch:
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:5y1-6h4-9hx-38w
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - place_g:POINT(23.7 38.1)
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:2s2-39s-b2t-cqw
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - reason_t:no fear of death
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:5xt-39k-b2t-6fs
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - reason_t:loves waves
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:6qh-6h4-9hx-6eo
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - place_g:POINT(22.0 39.0)
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:3yx-3bc-b2t-3cg
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - reason_t:loves fresh breezes
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:6c9-6h4-9hx-9l4
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - place_g:POINT(23.9 37.7)
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - Unable to save documents to Solr as one of the shape objects stored were not compatible with Solr.
org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error from server at http://localhost:8983/solr: Expected mime type application/octet-stream but got text/html. <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Error 404 Not Found</title>
</head>
<body><h2>HTTP ERROR 404</h2>
<p>Problem accessing /solr/edges/update. Reason:
<pre>    Not Found</pre></p><hr><i><small>Powered by Jetty://</small></i><hr/>

</body>
</html>

at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:529)
at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:235)
at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:227)
at org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:526)
at org.janusgraph.diskstorage.solr.SolrIndex.commitDocumentChanges(SolrIndex.java:407)
at org.janusgraph.diskstorage.solr.SolrIndex.mutate(SolrIndex.java:318)
at org.janusgraph.diskstorage.indexing.IndexTransaction$1.call(IndexTransaction.java:137)
at org.janusgraph.diskstorage.indexing.IndexTransaction$1.call(IndexTransaction.java:134)
at org.janusgraph.diskstorage.util.BackendOperation.executeDirect(BackendOperation.java:69)
at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:55)
at org.janusgraph.diskstorage.indexing.IndexTransaction.flushInternal(IndexTransaction.java:134)
at org.janusgraph.diskstorage.indexing.IndexTransaction.commit(IndexTransaction.java:115)
at org.janusgraph.diskstorage.BackendTransaction.commitIndexes(BackendTransaction.java:140)
at org.janusgraph.graphdb.database.StandardJanusGraph.commit(StandardJanusGraph.java:743)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.commit(StandardJanusGraphTx.java:1363)
at org.janusgraph.example.GraphOfTheGodsFactory.load(GraphOfTheGodsFactory.java:144)
at org.janusgraph.example.GraphOfTheGodsFactory.load(GraphOfTheGodsFactory.java:63)
at org.janusgraph.example.GraphOfTheGodsFactory$load.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at groovysh_evaluate.run(groovysh_evaluate:3)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
at org.codehaus.groovy.tools.shell.Interpreter.evaluate(Interpreter.groovy:70)
at org.codehaus.groovy.tools.shell.Groovysh.execute(Groovysh.groovy:190)
at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.super$3$execute(GremlinGroovysh.groovy)
at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.execute(GremlinGroovysh.groovy:72)
at org.codehaus.groovy.tools.shell.Shell.leftShift(Shell.groovy:122)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$work(InteractiveShellRunner.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:152)
at org.codehaus.groovy.tools.shell.ShellRunner.run(ShellRunner.groovy:59)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$run(InteractiveShellRunner.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:152)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.run(InteractiveShellRunner.groovy:83)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
at org.apache.tinkerpop.gremlin.console.Console.<init>(Console.groovy:152)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
at org.apache.tinkerpop.gremlin.console.Console.main(Console.groovy:455)
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - Details in failed document batch:
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:5y1-6h4-9hx-38w
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - place_g:POINT(23.7 38.1)
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:2s2-39s-b2t-cqw
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - reason_t:no fear of death
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:5xt-39k-b2t-6fs
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - reason_t:loves waves
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:6qh-6h4-9hx-6eo
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - place_g:POINT(22.0 39.0)
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:3yx-3bc-b2t-3cg
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - reason_t:loves fresh breezes
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:6c9-6h4-9hx-9l4
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - place_g:POINT(23.9 37.7)



janusgraph solr cassandra GraphOfTheGodsFactory

mahi...@...
 

Error trying to load GraphOfTheGodsFactory into janusgraph-cassandra-solr

Steps: 
1) download cassandra, copy cassandra.yaml from janusgraph/cassandra/cassandra.yaml -> cassandra_installationdir/conf/cassandra.yaml
2) download solr 5.2.1, copy all conf files from janusgraph/conf/solr/* -> solr_installation/server/solr/config_sets/basic_configs/*
3) Started cassandra and solr
4)janusgraph/bin/gremlin.sh

graph = JanusGraphFactory.open('conf/janusgraph-cassandra-solr.properties')
==>standardjanusgraph[cassandrathrift:[127.0.0.1]] 

gremlin> GraphOfTheGodsFactory.load(graph)

causes this stack trace

15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - Unable to save documents to Solr as one of the shape objects stored were not compatible with Solr.
org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error from server at http://localhost:8983/solr: Expected mime type application/octet-stream but got text/html. <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Error 404 Not Found</title>
</head>
<body><h2>HTTP ERROR 404</h2>
<p>Problem accessing /solr/edges/update. Reason:
<pre>    Not Found</pre></p><hr><i><small>Powered by Jetty://</small></i><hr/>

</body>
</html>

at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:529)
at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:235)
at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:227)
at org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:526)
at org.janusgraph.diskstorage.solr.SolrIndex.commitDocumentChanges(SolrIndex.java:407)
at org.janusgraph.diskstorage.solr.SolrIndex.mutate(SolrIndex.java:318)
at org.janusgraph.diskstorage.indexing.IndexTransaction$1.call(IndexTransaction.java:137)
at org.janusgraph.diskstorage.indexing.IndexTransaction$1.call(IndexTransaction.java:134)
at org.janusgraph.diskstorage.util.BackendOperation.executeDirect(BackendOperation.java:69)
at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:55)
at org.janusgraph.diskstorage.indexing.IndexTransaction.flushInternal(IndexTransaction.java:134)
at org.janusgraph.diskstorage.indexing.IndexTransaction.commit(IndexTransaction.java:115)
at org.janusgraph.diskstorage.BackendTransaction.commitIndexes(BackendTransaction.java:140)
at org.janusgraph.graphdb.database.StandardJanusGraph.commit(StandardJanusGraph.java:743)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.commit(StandardJanusGraphTx.java:1363)
at org.janusgraph.example.GraphOfTheGodsFactory.load(GraphOfTheGodsFactory.java:144)
at org.janusgraph.example.GraphOfTheGodsFactory.load(GraphOfTheGodsFactory.java:63)
at org.janusgraph.example.GraphOfTheGodsFactory$load.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at groovysh_evaluate.run(groovysh_evaluate:3)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
at org.codehaus.groovy.tools.shell.Interpreter.evaluate(Interpreter.groovy:70)
at org.codehaus.groovy.tools.shell.Groovysh.execute(Groovysh.groovy:190)
at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.super$3$execute(GremlinGroovysh.groovy)
at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.execute(GremlinGroovysh.groovy:72)
at org.codehaus.groovy.tools.shell.Shell.leftShift(Shell.groovy:122)
at org.codehaus.groovy.tools.shell.ShellRunner.work(ShellRunner.groovy:95)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$work(InteractiveShellRunner.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:152)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.work(InteractiveShellRunner.groovy:124)
at org.codehaus.groovy.tools.shell.ShellRunner.run(ShellRunner.groovy:59)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$run(InteractiveShellRunner.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:152)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.run(InteractiveShellRunner.groovy:83)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
at org.apache.tinkerpop.gremlin.console.Console.<init>(Console.groovy:152)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
at org.apache.tinkerpop.gremlin.console.Console.main(Console.groovy:455)
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - Details in failed document batch:
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:5y1-6h4-9hx-38w
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - place_g:POINT(23.7 38.1)
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:2s2-39s-b2t-cqw
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - reason_t:no fear of death
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:5xt-39k-b2t-6fs
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - reason_t:loves waves
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:6qh-6h4-9hx-6eo
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - place_g:POINT(22.0 39.0)
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:3yx-3bc-b2t-3cg
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - reason_t:loves fresh breezes
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:6c9-6h4-9hx-9l4
15:07:39 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - place_g:POINT(23.9 37.7)
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - Unable to save documents to Solr as one of the shape objects stored were not compatible with Solr.
org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException: Error from server at http://localhost:8983/solr: Expected mime type application/octet-stream but got text/html. <html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Error 404 Not Found</title>
</head>
<body><h2>HTTP ERROR 404</h2>
<p>Problem accessing /solr/edges/update. Reason:
<pre>    Not Found</pre></p><hr><i><small>Powered by Jetty://</small></i><hr/>

</body>
</html>

at org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:529)
at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:235)
at org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:227)
at org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:526)
at org.janusgraph.diskstorage.solr.SolrIndex.commitDocumentChanges(SolrIndex.java:407)
at org.janusgraph.diskstorage.solr.SolrIndex.mutate(SolrIndex.java:318)
at org.janusgraph.diskstorage.indexing.IndexTransaction$1.call(IndexTransaction.java:137)
at org.janusgraph.diskstorage.indexing.IndexTransaction$1.call(IndexTransaction.java:134)
at org.janusgraph.diskstorage.util.BackendOperation.executeDirect(BackendOperation.java:69)
at org.janusgraph.diskstorage.util.BackendOperation.execute(BackendOperation.java:55)
at org.janusgraph.diskstorage.indexing.IndexTransaction.flushInternal(IndexTransaction.java:134)
at org.janusgraph.diskstorage.indexing.IndexTransaction.commit(IndexTransaction.java:115)
at org.janusgraph.diskstorage.BackendTransaction.commitIndexes(BackendTransaction.java:140)
at org.janusgraph.graphdb.database.StandardJanusGraph.commit(StandardJanusGraph.java:743)
at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.commit(StandardJanusGraphTx.java:1363)
at org.janusgraph.example.GraphOfTheGodsFactory.load(GraphOfTheGodsFactory.java:144)
at org.janusgraph.example.GraphOfTheGodsFactory.load(GraphOfTheGodsFactory.java:63)
at org.janusgraph.example.GraphOfTheGodsFactory$load.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at groovysh_evaluate.run(groovysh_evaluate:3)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
at org.codehaus.groovy.tools.shell.Interpreter.evaluate(Interpreter.groovy:70)
at org.codehaus.groovy.tools.shell.Groovysh.execute(Groovysh.groovy:190)
at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.super$3$execute(GremlinGroovysh.groovy)
at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.execute(GremlinGroovysh.groovy:72)
at org.codehaus.groovy.tools.shell.Shell.leftShift(Shell.groovy:122)
at org.codehaus.groovy.tools.shell.ShellRunner.work(ShellRunner.groovy:95)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$work(InteractiveShellRunner.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:152)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.work(InteractiveShellRunner.groovy:124)
at org.codehaus.groovy.tools.shell.ShellRunner.run(ShellRunner.groovy:59)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$run(InteractiveShellRunner.groovy)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:152)
at org.codehaus.groovy.tools.shell.InteractiveShellRunner.run(InteractiveShellRunner.groovy:83)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
at org.apache.tinkerpop.gremlin.console.Console.<init>(Console.groovy:152)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
at org.apache.tinkerpop.gremlin.console.Console.main(Console.groovy:455)
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - Details in failed document batch:
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:5y1-6h4-9hx-38w
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - place_g:POINT(23.7 38.1)
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:2s2-39s-b2t-cqw
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - reason_t:no fear of death
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:5xt-39k-b2t-6fs
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - reason_t:loves waves
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:6qh-6h4-9hx-6eo
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - place_g:POINT(22.0 39.0)
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:3yx-3bc-b2t-3cg
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - reason_t:loves fresh breezes
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - id:6c9-6h4-9hx-9l4
15:07:52 ERROR org.janusgraph.diskstorage.solr.SolrIndex  - place_g:POINT(23.9 37.7)



Re: JanusGraph support for Cassandra 3.x

Ted Wilmes <twi...@...>
 

Hi Robert,
I've used the thrift and astyanax adapters and as of late, I've been dipping my toes into the new CQL adapter. So far that has worked well too against Apache Cassandra and Scylla 1.6.

--Ted

On Fri, Jul 7, 2017 at 1:55 PM, Robert Dale <rob...@...> wrote:
Ted, what driver do you use?

Robert Dale

On Fri, Jul 7, 2017 at 2:28 PM, Ted Wilmes <twi...@...> wrote:
Hi Vijaya,
I haven't had any issues running Janus in OLTP mode against Cassandra 3. Issue 172 is a problem if you want to run analytic queries using the TinkerPop SparkGraphComputer against your Janus data.

--Ted

On Friday, July 7, 2017 at 9:55:43 AM UTC-5, vijaya bhaskar Peddinti wrote:
Dear All,

Can we uses Janusgraph with Cassandra 3.x (as per docs it is mentioned only 2.1.z)? if not supported, Any new release planned with support for cassandra 3.x and when can it be expected?


I have gone through Issues#172 and 267 where this is extensively discussed but these are in Open state. 


thanks and regards,
Vijaya Bhaskar Peddinti

--
You received this message because you are subscribed to the Google Groups "JanusGraph users list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-users+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.



Re: JanusGraph support for Cassandra 3.x

Robert Dale <rob...@...>
 

Ted, what driver do you use?

Robert Dale

On Fri, Jul 7, 2017 at 2:28 PM, Ted Wilmes <twi...@...> wrote:
Hi Vijaya,
I haven't had any issues running Janus in OLTP mode against Cassandra 3. Issue 172 is a problem if you want to run analytic queries using the TinkerPop SparkGraphComputer against your Janus data.

--Ted

On Friday, July 7, 2017 at 9:55:43 AM UTC-5, vijaya bhaskar Peddinti wrote:
Dear All,

Can we uses Janusgraph with Cassandra 3.x (as per docs it is mentioned only 2.1.z)? if not supported, Any new release planned with support for cassandra 3.x and when can it be expected?


I have gone through Issues#172 and 267 where this is extensively discussed but these are in Open state. 


thanks and regards,
Vijaya Bhaskar Peddinti

--
You received this message because you are subscribed to the Google Groups "JanusGraph users list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: JanusGraph support for Cassandra 3.x

Ted Wilmes <twi...@...>
 

Hi Vijaya,
I haven't had any issues running Janus in OLTP mode against Cassandra 3. Issue 172 is a problem if you want to run analytic queries using the TinkerPop SparkGraphComputer against your Janus data.

--Ted


On Friday, July 7, 2017 at 9:55:43 AM UTC-5, vijaya bhaskar Peddinti wrote:
Dear All,

Can we uses Janusgraph with Cassandra 3.x (as per docs it is mentioned only 2.1.z)? if not supported, Any new release planned with support for cassandra 3.x and when can it be expected?


I have gone through Issues#172 and 267 where this is extensively discussed but these are in Open state. 


thanks and regards,
Vijaya Bhaskar Peddinti


Re: Who is using JanusGraph in production?

Rainer Pichler <rain...@...>
 

Hi,

we at CELUM released another blog post. It describes how we fetch data from JanusGraph via an intermediate query language right from our front-end: https://www.celum.com/en/blog/technology/a-querys-quest

Besides a small glitch at upgrading from JanusGraph 0.1.0 to 0.1.1 on Cassandra during development (https://groups.google.com/forum/#!topic/janusgraph-users/RU47QLGAVck), it works fine. Also, the support of a more recent Apache Tinkerpop version compared to Titan helps us a lot.

Feel free to contact me if you have further questions or suggestions.

-Rainer Pichler
https://twitter.com/rainerpichler

Am Freitag, 7. April 2017 15:15:31 UTC+2 schrieb Jimmy:

Lovely and promising project! I want to know if anyone is using JanusGraph in production at present?Thanks!


JanusGraph support for Cassandra 3.x

boonof...@...
 

Dear All,

Can we uses Janusgraph with Cassandra 3.x (as per docs it is mentioned only 2.1.z)? if not supported, Any new release planned with support for cassandra 3.x and when can it be expected?


I have gone through Issues#172 and 267 where this is extensively discussed but these are in Open state. 


thanks and regards,
Vijaya Bhaskar Peddinti


Issues about loading data into JanusGraph

Junfei Hu <hujunf...@...>
 

I have billions of vertices and edges to load into JanusGraph. Writing into it one by one is too slow for me. I've been looking for methods to do batch loading. Here is some methods and tools I know now.
1. Simply write vertices and edges into JanusGraph. Too slow. 
2. Enable batch-load option, then write data into JanusGraph. 
When loading too many vertices (says billions), VertexCache will occupy too much JVM Heap Memory, and cause OOM error. 
VertexCache clean policy is to wake up clean thread when query-miss count is greater than 5. Loading data won't trigger query-miss.
3. ProgramVertexProgramStep
I don't know how to use this do batch loading. The examples in TinkerPop docs seems to be of no help.
4. graph.Io().writer()........
It can actually do batch loading. I've read the source code of its implementation. But seems it's the same as committing when have called addVertex() batch-size times, like 1 or 2 above. It should have the same problems on VertexCache. 
It requires user-supplied ids. Will this cause conflicts with JanusGraph-generated ids?

Any misunderstanding above? 
Any other tools or methods to do batch-loading?


Re: [BLOG] Configuring JanusGraph for spark-yarn

John Helmsen <john....@...>
 

Excellent!


On Thursday, July 6, 2017 at 4:15:37 AM UTC-4, HadoopMarc wrote:

Readers wanting to run OLAP queries on a real spark-yarn cluster might want to check my recent post:

http://yaaics.blogspot.nl/2017/07/configuring-janusgraph-for-spark-yarn.html

Regards,  Marc


Re: set (ArrayList) property as JSON string

Kelvin Lawrence <kelvin....@...>
 

Are you using Solr as your index by chance?

Kelvin


On Thursday, July 6, 2017 at 10:05:37 AM UTC-5, Eser Kandogan wrote:
Hi,

In 3.2.4 I used to be able to set a property with a value of ArrayList, 

for example:
g.V(1234).property('followers',inE('follows').outV().valueMap('name','age').fold())

but it seems I can't do it on Janus graph. It gives me an error:
Property value... is of type class java.util.ArrayList is not supported.

I tried to set it as JSON string:
g.V(1234).property('followers',JsonOutput.toJson(inE('follows').outV().valueMap('name','age').fold()))

it sets it to [].

How can I set a property as JSONized ArrayList? Thanks.

Eser Kandogan


Re: Who is using JanusGraph in production?

Jason Plurad <plu...@...>
 

Hi Nikolai,

If you're happy with Titan 1.0 and you are comfortable putting it into production and supporting it by yourself, I'd say go for it. There are folks out there with Titan 1.0 in production. They are likely maintaining private forks with any fixes they needed and applied themselves.

>  I would like to see the completion of Titan 1.1 work as JanusGraph release and then future development.

Are there specific functions in Titan 1.1 you were waiting on? If so, I'd suggest opening up issues on the JanusGraph tracker. We didn't copy over all of the open issues from the Titan issue tracker. As far as I can recall, the Aurelius crew didn't publish any specific roadmap of features for Titan 1.1. DataStax owns Titan, so it would be up to them to publish a Titan 1.1 release, however they made it abundantly clear they were not interested in doing so.

In addition to an open community with open governance, a major goal of the JanusGraph project was to consolidate private forks from other in the community so we can easily migrate existing Titan users and continue forward with a single codebase. Misha mentioned that JanusGraph is forked directly from the latest Titan 1.1 development branch, so JanusGraph is essentially a continuation of Titan. As a consumer, you benefit from code fixes and features provided by others in the community. And there have been many fixes put in already! Development priorities have been mostly around upgrading dependencies in that had gone stale because Titan had been out of development for a long time. Pretty much all of the core dependencies (TinkerPop, Cassandra, HBase, BerkeleyJE, Elasticsearch, Solr, Lucene) have been updated to work with recent versions. There is work going on to improve the test suite to ensure we have a solid platform before introducing significant breaking changes.

> There are some bugfixes but surely there may be new issues introduced and not yet found :)

True of any software project, open source or not.

> What makes the choice even more difficult is that I understand that it is my (as everyone's else) job to actually find, report and, if possible, fix these issues ;)

That's ideal state for any open source software project. But even if you can't fix it yourself, reporting it is a solid contribution regardless. If the bug is significant enough, others are likely running into it and would be motivated to help fix it. If you stick with Titan, there's little point in reporting it publicly since it doesn't appear that DataStax will fix that codebase publicly anymore. The burden would be all on you.

-- Jason


On Tuesday, July 4, 2017 at 11:12:24 PM UTC-4, Nikolai Grigoriev wrote:
Hi Misha,

I think I misused the word "stable" - it is all relative in software in general and large open-source projects in particular. And, of course, it is not all about a nice number like 1.0.

I knew that JanusGraph has been forked from relatively stable branch of Titian. I am looking at it from pragmatic point of view of someone who did not diff Titan 1.0 and latest JanusGraph release. There are some bugfixes but surely there may be new issues introduced and not yet found :) What makes the choice even more difficult is that I understand that it is my (as everyone's else) job to actually find, report and, if possible, fix these issues ;)

Anyway, I am trying to decide now: if I was happy about the state of Titan 1.0.0 and I would go to production with it, say, 6 months ago - should I consider JanusGraph instead of it now or not? I have not seen any kind of release strategy for JanusGraph yet. I think it would be a good idea to openly state the priorities for JanusGraph development. Is it more about converging on a relatively bug-free release with critical and low-risk bugfixes first and then going forward with breaking changes after that (or in parallel)? Or it is something else?

I think, personally, as Titan/JanusGraph user I would like to see the completion of Titan 1.1 work as JanusGraph release and then future development.


On 4 July 2017 at 18:27, Misha Brukman wrote:
Hi Nikolai,

Can you please define what you mean by "stable release"? Are you looking for a 1.0 release? That's probably not happening for a while — the next release's version will be 0.2.0.

That said, you're running Titan 1.0 — note that JanusGraph 0.1.0 forked from the (unreleased) Titan 1.1 branch, and has upgraded a number of dependencies and added a number of changes and bug fixes, so it's already well ahead of Titan 1.0, rather than a new from-scratch project. While it's true that in most projects, 0.x versions are considered "development" and not for production use cases, in this particular case of JanusGraph, the version number is not nearly as important given the project's heritage.

Here's an incomplete list of companies who are already running JanusGraph in production (i.e., companies that have publicly stated that they are and agreed to be listed):
and more are coming soon.

Hope this helps,
Misha

On Tue, Jul 4, 2017 at 11:11 AM, ngrigoriev wrote:
We are going with titan-1.0.0 for now as (correct me if I am wrong) JG does not have a stable release yet.

--
You received this message because you are subscribed to the Google Groups "JanusGraph users list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to janusgraph-users+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.




--
Nikolai Grigoriev
(514) 772-5178


Re: Error during serialization: Cannot get namespace of root

Jason Plurad <plu...@...>
 

Hi Ramesh, what Gremlin query are you passing to the server?

-- Jason

On Thursday, July 6, 2017 at 11:04:08 AM UTC-4, Ramesh Nagaraju wrote:
Hi All,

 I am totally new to Graph Databases.
 I am using node js package gremlin-javascript with Janusgraph Project.
 When I execute the node pgm, I get the following error:

 I am not sure what is wrong:


Error during serialization: Cannot get namespace of root (through reference chain: java.util.ArrayList[0]->org.janusgraph.graphdb.database.StandardJanusGraph["backend"]->org.janusgraph.diskstorage.Backend["storeManager"]->org.janusgraph.diskstorage.keycolumnvalue.keyvalue.OrderedKeyValueStoreManagerAdapter["features"]->org.janusgraph.diskstorage.keycolumnvalue.StandardStoreFeatures["keyConsistentTxConfig"]->org.janusgraph.diskstorage.configuration.ModifiableConfiguration["rootNamespace"]->org.janusgraph.diskstorage.configuration.ConfigNamespace["namespace"]) (Error 599)

Thanks
Ramesh N


Re: [BLOG] Configuring JanusGraph for spark-yarn

Jason Plurad <plu...@...>
 

+1 thanks for sharing Marc!


On Thursday, July 6, 2017 at 4:15:37 AM UTC-4, HadoopMarc wrote:

Readers wanting to run OLAP queries on a real spark-yarn cluster might want to check my recent post:

http://yaaics.blogspot.nl/2017/07/configuring-janusgraph-for-spark-yarn.html

Regards,  Marc


Re: Schema management tools

Jason Plurad <plu...@...>
 

Thanks for stirring up the conversation, Robert.

Viewing the schema definitions in tabular form is nice and a similar experience to what you'd find in other database REPLs. I really like the simple access with :schema describe without having to fuss around with the mgmt object directly.

I know some folks in my company have a JSON-based schema tool, which sounds similar to what Marc has. It allows for a relatively painless creation (and exporting) a static schema rather than going directly through the ManagementSystem API. The benefit is that you can manipulate the JSON programmatically, plus it works through the Gremlin Server.

I'd think that Robert's Gremlin Console integration and JSON-based schema definition aren't necessarily only one tool can win. Both could co-exist since they have different objectives. For example, if the ManagementSystem returns a JSON representation, the Gremlin Console plugin does a transform from JSON to text tables.

-- Jason

On Thursday, July 6, 2017 at 4:25:21 AM UTC-4, HadoopMarc wrote:
Hi Robert,

Cool!  Actually, I use a fixed schema myself which I maintain in a json file and look at if needed. Your tool is nice though for other users of my graphs.

If your tool "wins", it would also be nice to document how to use it for remote execution on gremlin server.

Cheers,     Marc


Op woensdag 5 juli 2017 19:40:43 UTC+2 schreef Robert Dale:
With so many high-profile companies and others out there with Titan/Janus in production, I can only imagine that most, if not all, have written some higher-level tools for managing the database and, in particular, the schema.

This is a call to publish your tools.  I'll go first.  I whipped up a little 'describe' command to help make it easier to see the schema and statuses.


This shows the output after loading GraphOfTheGods and running through some of the examples in the docs.


./bin/gremlin.sh -i describe.groovy

gremlin
> graph = JanusGraphFactory.open('conf/janusgraph-cassandra-es.properties')
==>standardjanusgraph[cassandrathrift:[127.0.0.1]]
gremlin
> GraphOfTheGodsFactory.load(graph)
gremlin
> :schema
Usage: must provide command: describe [ vertex | edge | propertykey | index ]
Unknown command: null
gremlin
>
gremlin
> :schema describe
Vertex Label                   | Partitioned | Static
------------                   | ----------- | ------
titan                          
|       false |  false
location                      
|       false |  false
god                            
|       false |  false
demigod                        
|       false |  false
human                          
|       false |  false
monster                        
|       false |  false
person                        
|       false |  false
------------                   | ----------- | ------


Edge Name                      |            Type |        Directed |     Unidirected |    Multiplicity
---------                      |            ---- |        -------- |     ----------- |    ------------
brother                        
|            Edge |            true |           false |           MULTI
follow                        
|            Edge |            true |           false |           MULTI
father                        
|            Edge |            true |           false |        MANY2ONE
mother                        
|            Edge |            true |           false |        MANY2ONE
battled                        
|            Edge |            true |           false |           MULTI
lives                          
|            Edge |            true |           false |           MULTI
pet                            
|            Edge |            true |           false |           MULTI
---------                      |            ---- |        -------- |     ----------- |    ------------


PropertyKey Name               |            Type |     Cardinality |            Data Type
----------------               |            ---- |     ----------- |            ---------
birthDate                      
|     PropertyKey |          SINGLE | class java.lang.Long
rating                        
|     PropertyKey |          SINGLE | class java.lang.Double
name                          
|     PropertyKey |          SINGLE | class java.lang.String
age                            
|     PropertyKey |          SINGLE | class java.lang.Integer
time                          
|     PropertyKey |          SINGLE | class java.lang.Integer
reason                        
|     PropertyKey |          SINGLE | class java.lang.String
location                      
|     PropertyKey |          SINGLE | class org.janusgraph.core.attribute.Geoshape
----------------               |            ---- |     ----------- |            ---------


Graph Index                    |      Type |          Element | Unique |       Backing |     PropertyKey |               Status
-----------                    |      ---- |          ------- | ------ |       ------- |     ----------- |               ------
name                          
| Composite | JanusGraphVertex |   true | internalindex |                 |                    
                               
|           |                  |        |               |            name |              ENABLED
vertices                      
|     Mixed | JanusGraphVertex |  false |        search |                 |                    
                               
|           |                  |        |               |             age |              ENABLED
byNameComposite                
| Composite | JanusGraphVertex |  false | internalindex |                 |                    
                               
|           |                  |        |               |            name |              ENABLED
byNameAndAgeComposite          
| Composite | JanusGraphVertex |  false | internalindex |                 |                    
                               
|           |                  |        |               |            name |              ENABLED
                               
|           |                  |        |               |             age |              ENABLED
byNameUnique                  
| Composite | JanusGraphVertex |   true | internalindex |                 |                    
                               
|           |                  |        |               |            name |              ENABLED
nameAndAge                    
|     Mixed | JanusGraphVertex |  false |        search |                 |                    
                               
|           |                  |        |               |            name |              ENABLED
                               
|           |                  |        |               |             age |              ENABLED
byNameAndLabel                
| Composite | JanusGraphVertex |  false | internalindex |                 |                    
                               
|           |                  |        |               |            name |            INSTALLED
edges                          
|     Mixed |   JanusGraphEdge |  false |        search |                 |                    
                               
|           |                  |        |               |          reason |              ENABLED
                               
|           |                  |        |               |        location |              ENABLED
----------                     |      ---- |          ------- | ------ |       ------- |     ----------- |               ------


Relation Index                 |                 Type |  Direction |   Sort Key | Sort Order |               Status
--------------                 |                 ---- |  --------- | ---------- |   -------- |               ------
battlesByTime                  
|              battled |       BOTH |       time |       decr |              ENABLED
battlesByRatingAndTime        
|              battled |        OUT |     rating |       decr |            INSTALLED
                               
|                      |            |       time |            |                    
--------------                 |                 ---- |  --------- | ---------- |   -------- |               ------


gremlin
>




Re: Schema management tools

Nigel Brown <nigel...@...>
 


This is a good tool, thanks.
 

6241 - 6260 of 6661