janusgraph icon indicating copy to clipboard operation
janusgraph copied to clipboard

add a key named "ConfigurationManagementGraph" to the "graphs" property

Open lmcrazy opened this issue 6 years ago • 7 comments

Please help to have a look, thanks! I've configured ConfigurationManagementGraph!But it still reported an error。 config: image image

my code is: ` @Test public void graphConfigurationShouldBeWhatWeExpectWhenUsingTemplateConfiguration() throws Exception {

    try {

        JanusGraphManager gm;
        Settings set =new Settings();
        set.host="172.16.161.115";
        gm = new JanusGraphManager(set);
        final Map<String, Object> map = new HashMap<>();
        map.put(STORAGE_BACKEND.toStringWithoutRoot(), "hbase");
        map.put("storage.hostname", "172.16.161.115");
        //ConfiguredGraphFactory.createTemplateConfiguration(new MapConfiguration(map));
        ConfigurationManagementGraph instance = ConfigurationManagementGraph.getInstance();
        final StandardJanusGraph graph = (StandardJanusGraph) ConfiguredGraphFactory.create("ghlml");
        final StandardJanusGraph graph1 = (StandardJanusGraph) ConfiguredGraphFactory.open("ghlml");
        instance.createTemplateConfiguration(new MapConfiguration(map));
        Set<String> graphNames = ConfiguredGraphFactory.getGraphNames();
        for(String str:graphNames){
        	System.out.println("---"+str);
        }
        assertNotNull(graph);
        assertEquals(graph, graph1);
        
        assertEquals("ghlml", graph.getConfiguration().getConfiguration().get(GRAPH_NAME));
       // assertEquals("inmemory", graph.getConfiguration().getConfiguration().get(STORAGE_BACKEND));

    } finally {
        //ConfiguredGraphFactory.removeConfiguration("graph1");
        //ConfiguredGraphFactory.close("graph1");
    }
}

`

error code: ` org.janusgraph.graphdb.management.utils.ConfigurationManagementGraphNotEnabledException: Please add a key named "ConfigurationManagementGraph" to the "graphs" property in your YAML file and restart the server to be able to use the functionality of the ConfigurationManagementGraph class. at org.janusgraph.graphdb.management.ConfigurationManagementGraph.getInstance(ConfigurationManagementGraph.java:97) at pluradj.janusgraph.example.ConfiguredGraphFactoryTest.graphConfigurationShouldBeWhatWeExpectWhenUsingTemplateConfiguration(ConfiguredGraphFactoryTest.java:143) 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

java.lang.RuntimeException: org.janusgraph.graphdb.management.utils.ConfigurationManagementGraphNotEnabledException: Please add a key named "ConfigurationManagementGraph" to the "graphs" property in your YAML file and restart the server to be able to use the functionality of the ConfigurationManagementGraph class. at org.janusgraph.core.ConfiguredGraphFactory.getConfigGraphManagementInstance(ConfiguredGraphFactory.java:169) at org.janusgraph.core.ConfiguredGraphFactory.removeTemplateConfiguration(ConfiguredGraphFactory.java:258) at pluradj.janusgraph.example.ConfiguredGraphFactoryTest.cleanUp(ConfiguredGraphFactoryTest.java:70) 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.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:33) at org.junit.rules.ExpectedException$ExpectedExceptionStatement.evaluate(ExpectedException.java:239) at org.junit.rules.RunRules.evaluate(RunRules.java:20) at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) Caused by: org.janusgraph.graphdb.management.utils.ConfigurationManagementGraphNotEnabledException: Please add a key named "ConfigurationManagementGraph" to the "graphs" property in your YAML file and restart the server to be able to use the functionality of the ConfigurationManagementGraph class. at org.janusgraph.graphdb.management.ConfigurationManagementGraph.getInstance(ConfigurationManagementGraph.java:97) at org.janusgraph.core.ConfiguredGraphFactory.getConfigGraphManagementInstance(ConfiguredGraphFactory.java:167) ... 27 more

`

lmcrazy avatar Nov 26 '18 07:11 lmcrazy

I have the same problem with u. and I do not have ideas to handle it...

cyckax avatar Jan 18 '19 09:01 cyckax

To prevent confusion we have recently added a default template for new issues containing the guidelines as to what belongs in issues. Usage, configuration, and general questions should be asked in gitter, stackoverflow, or the janusgraph-users google group. Github issues are for reporting bugs, requesting new features, and tracking the development of JanusGraph. If your issue is still outstanding please consult one of the communities mentioned. If you still feel like your issue belongs here and was closed in error please feel free to repoen it.

chupman avatar Feb 07 '19 17:02 chupman

I do have the same problem, Can you give the solution

VINAYAK179 avatar Jul 18 '19 04:07 VINAYAK179

I have the same problem with JanusGraph 0.4.0, can anyone give a solution for this?

EthanPhan avatar Oct 07 '19 10:10 EthanPhan

I have the same problem with JanusGraph 0.4.0, can anyone give a solution for this?

Did you find any solution ? :( I have the same issue with 0.4.1

jsndh-pm avatar Feb 03 '20 10:02 jsndh-pm

same issue on version 0.6.1

roamerop avatar Mar 01 '22 08:03 roamerop

I'm also running into this issue, currently running through the janusgraph/janusgraph:1.0.0-rc2 and most lately through cloning the git repo and building from that. Ive modified and mounted hardcoded config options with the correct values and multiple variations of those values because I've been losing my mind trying to debug this for the past two days. Is there any interest from the JanusGraph team to look into this? I can push a repo where the problem can be reproduced but I'd like to know if I have to switch away from JanusGraph if this can't be fixed. Being able to create and access dynamic graphs is something that's a requirement for my app and that is shown on your documentation as being included

 sdb:
    image: scylladb/scylla:5.1
    ports:
     - "${SDB_REST_PORT-.env SDB_REST_PORT needs to be set}:10000"
     - "${CQL_PORT-.env CQL_PORT needs to be set}:9042"
     - "${THRIFT_PORT-.env THRIFT_PORT needs to be set}:9160"
     - "${INTERNODE_PORT-.env INTERNODE_PORT needs to be set}:7000"
     - "${INTERNODE_ONE_PORT-.env INTERNODE_ONE_PORT needs to be set}:7001"
     - "${JMX_PORT-.env JMX_PORT needs to be set}:7199"
    environment:
      --default-log-level: warn
    env_file:
      - .env
    volumes:
     - sdb-data:${SCYLLADATA-.env SCYLLADATA needs to be set}
  janus:
    build:
      context: ./janus/1.0/
      dockerfile: ./Dockerfile
    ports:
      - "8182:8182"
    environment:
      janusgraph.set-vertex-id: true
      storage.backend: cql
      storage.hostname: sdb:9042
      janusgraph.index.search.backend: elasticsearch
      janusgraph.index.search.hostname: index:${ELASTIC_PORT-.env ELASTIC_PORT needs to be set}
    volumes:
      - "./janus/config/janusgraph.properties:/etc/opt/janusgraph/janusgraph.properties:ro"
      - "./janus/config/janusgraph-server.yaml:/etc/opt/janusgraph/janusgraph-server.yaml:ro"
      - "./janus/config/janusgraph-server.yaml:/opt/janusgraph/conf/remote-objects.yaml:ro"
      - "./janus/config/empty-sample.groovy:/opt/janusgraph/scripts/empty-sample.groovy:ro"
      
      index:
    image: "${ELASTIC_IMAGE-.env ELASTIC_IMAGE needs to be set}"
    environment:
      - http.host=0.0.0.0
      - transport.host=127.0.0.1
      - node.name=es
      - cluster.initial_master_nodes=es
      - cluster.name=osintbuddy-es
      - bootstrap.memory_lock=true
      - xpack.security.enabled=false
      - "ES_JAVA_OPTS=-Xms4g -Xmx4g"
      - "-Des.logger.level=WARN"
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 262144
        hard: 262144
    ports:
     - "${ELASTIC_PORT-.env ELASTIC_PORT needs to be set}:9200"
    env_file:
      - .env
    user: "1000"
    volumes:
      - type: volume
        source: es-data
        target: /usr/share/elasticsearch/data

janusgraph-server.yaml


host: [0.0.0.0]
port: 8182
evaluationTimeout: 30000
channelizer: org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer
graphManager: org.janusgraph.graphdb.management.JanusGraphManager
graphs: {
  ConfigurationManagementGraph: /etc/opt/janusgraph/janusgraph.properties,
}
scriptEngines: {
  gremlin-groovy: {
    plugins: { org.janusgraph.graphdb.tinkerpop.plugin.JanusGraphGremlinPlugin: {},
               org.apache.tinkerpop.gremlin.server.jsr223.GremlinServerGremlinPlugin: {},
               org.apache.tinkerpop.gremlin.tinkergraph.jsr223.TinkerGraphGremlinPlugin: {},
               org.apache.tinkerpop.gremlin.jsr223.ImportGremlinPlugin: {classImports: [java.lang.Math], methodImports: [java.lang.Math#*]},
               org.apache.tinkerpop.gremlin.jsr223.ScriptFileGremlinPlugin: {files: []}}}}
processors:
  - { className: org.apache.tinkerpop.gremlin.server.op.session.SessionOpProcessor, config: { sessionTimeout: 28800000 }}
  - { className: org.apache.tinkerpop.gremlin.server.op.traversal.TraversalOpProcessor, config: { cacheExpirationTime: 600000, cacheMaxSize: 1000 }}
metrics: {
  consoleReporter: {enabled: true, interval: 180000},
  csvReporter: {enabled: true, interval: 180000, fileName: /tmp/gremlin-server-metrics.csv},
  jmxReporter: {enabled: true},
  slf4jReporter: {enabled: true, interval: 180000},
  graphiteReporter: {enabled: false, interval: 180000}}
maxInitialLineLength: 4096
maxHeaderSize: 8192
maxChunkSize: 8192
maxContentLength: 65536
maxAccumulationBufferComponents: 1024
resultIterationBatchSize: 64
writeBufferLowWaterMark: 32768
writeBufferHighWaterMark: 65536
threadPoolWorker: 1
gremlinPool: 8

janusgraph.properties

gremlin.graph=org.janusgraph.core.ConfiguredGraphFactory
graph.graphname=ConfigurationManagementGraph
storage.backend = cql
storage.hostname = sdb:9042

storage.directory = /var/lib/janusgraph/data


index.search.backend =elasticsearch

index.search.directory = /var/lib/janusgraph/index
set-vertex-id=true
index.search.hostname=index:9200
gremlin> ConfiguredGraphFactory.createConfiguration(new MapConfiguration(map))
org.janusgraph.graphdb.management.utils.ConfigurationManagementGraphNotEnabledException: Please add a key named "ConfigurationManagementGraph" to the "graphs" property in your YAML file and restart the server to be able to use the functionality of the ConfigurationManagementGraph class.
Type ':help' or ':h' for help.
Display stack trace? [yN]y
java.lang.RuntimeException: org.janusgraph.graphdb.management.utils.ConfigurationManagementGraphNotEnabledException: Please add a key named "ConfigurationManagementGraph" to the "graphs" property in your YAML file and restart the server to be able to use the functionality of the ConfigurationManagementGraph class.
        at org.janusgraph.core.ConfiguredGraphFactory.getConfigGraphManagementInstance(ConfiguredGraphFactory.java:218)
        at org.janusgraph.core.ConfiguredGraphFactory.createConfiguration(ConfiguredGraphFactory.java:230)
        at org.janusgraph.core.ConfiguredGraphFactory$createConfiguration.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
        at groovysh_evaluate.run(groovysh_evaluate:3)
        at groovysh_evaluate$run.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at groovysh_evaluate$run.call(Unknown Source)
        at org.codehaus.groovy.tools.shell.Interpreter.evaluate(Interpreter.groovy:82)
        at org.codehaus.groovy.tools.shell.Evaluator$evaluate.call(Unknown Source)
        at org.codehaus.groovy.tools.shell.Groovysh.execute(Groovysh.groovy:201)
        at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.super$3$execute(GremlinGroovysh.groovy)
        at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
        at org.apache.tinkerpop.gremlin.console.GremlinGroovysh.execute(GremlinGroovysh.groovy:83)
        at org.codehaus.groovy.tools.shell.Shell.leftShift(Shell.groovy:120)
        at org.codehaus.groovy.tools.shell.Shell$leftShift$2.call(Unknown Source)
        at org.codehaus.groovy.tools.shell.ShellRunner.work(ShellRunner.groovy:93)
        at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$work(InteractiveShellRunner.groovy)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:164)
        at org.codehaus.groovy.tools.shell.InteractiveShellRunner.work(InteractiveShellRunner.groovy:138)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:190)
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:58)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:160)
        at org.codehaus.groovy.tools.shell.ShellRunner.run(ShellRunner.groovy:57)
        at org.codehaus.groovy.tools.shell.InteractiveShellRunner.super$2$run(InteractiveShellRunner.groovy)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1217)
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:144)
        at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuper0(ScriptBytecodeAdapter.java:164)
        at org.codehaus.groovy.tools.shell.InteractiveShellRunner.run(InteractiveShellRunner.groovy:97)
        at java_lang_Runnable$run.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:119)
        at org.apache.tinkerpop.gremlin.console.Console.<init>(Console.groovy:177)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
        at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
        at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:80)
        at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:237)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:265)
        at org.apache.tinkerpop.gremlin.console.Console.main(Console.groovy:576)
Caused by: org.janusgraph.graphdb.management.utils.ConfigurationManagementGraphNotEnabledException: Please add a key named "ConfigurationManagementGraph" to the "graphs" property in your YAML file and restart the server to be able to use the functionality of the ConfigurationManagementGraph class.
        at org.janusgraph.graphdb.management.ConfigurationManagementGraph.getInstance(ConfigurationManagementGraph.java:106)
        at org.janusgraph.core.ConfiguredGraphFactory.getConfigGraphManagementInstance(ConfiguredGraphFactory.java:216)
        ... 70 more

jerlendds avatar Jul 01 '23 21:07 jerlendds