Search code examples
orientdb

OrientDB spatial query throwing error: java.lang.NoSuchFieldError: INSTANCE


I am trying to evaluate OrientDB and its Spatial capabilities and cannot seem to run a simple query from browse query window

I placed orientdb-spatial-2.2.30-dist.jar in /PATH/orientdb-community-importers-2.2.29/lib/ and bounced orient db

Here is how I created the spatial index

OrientVertexType vertexType = graph.getVertexType("Foo");
ODocument location = new ODocument("OPoint");
vertexType.createProperty("location", OType.EMBEDDED, location.getSchemaClass());
ODocument metadata = new ODocument();
metadata.field("ignoreNullValues", "true");
vertexType.createIndex("Foo.location", "SPATIAL", null, metadata, "LUCENE", new String[]{"location"});

all works without error

Here is the query I run. ( I have run several other queries too but keep getting the same stack trace...)

select from Foo where ST_DWithin(location, "POINT (-97.822 37.751)",20.0) = true

OrientDB info: Studio version : 2.2 OrientDB version : 2.2.29 OS: Mac

Stack trace:

java.lang.NoSuchFieldError: INSTANCE
    at com.orientechnologies.spatial.functions.OSpatialFunctionAbstractIndexable.getDb(OSpatialFunctionAbstractIndexable.java:69)
    at com.orientechnologies.spatial.functions.OSpatialFunctionAbstractIndexable.searchForIndex(OSpatialFunctionAbstractIndexable.java:57)
    at com.orientechnologies.spatial.functions.OSpatialFunctionAbstractIndexable.results(OSpatialFunctionAbstractIndexable.java:73)
    at com.orientechnologies.spatial.functions.OSTDistanceSphereFunction.estimate(OSTDistanceSphereFunction.java:82)
    at com.orientechnologies.orient.core.sql.parser.OFunctionCall.estimateIndexedFunction(OFunctionCall.java:135)
    at com.orientechnologies.orient.core.sql.parser.OLevelZeroIdentifier.estimateIndexedFunction(OLevelZeroIdentifier.java:60)
    at com.orientechnologies.orient.core.sql.parser.OBaseIdentifier.estimateIndexedFunction(OBaseIdentifier.java:57)
    at com.orientechnologies.orient.core.sql.parser.OBaseExpression.estimateIndexedFunction(OBaseExpression.java:96)
    at com.orientechnologies.orient.core.sql.parser.OExpression.estimateIndexedFunction(OExpression.java:171)
    at com.orientechnologies.orient.core.sql.parser.OBinaryCondition.estimateIndexed(OBinaryCondition.java:91)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.tryIndexedFunctions(OCommandExecutorSQLSelect.java:2318)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.searchForIndexes(OCommandExecutorSQLSelect.java:2101)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.searchInClasses(OCommandExecutorSQLSelect.java:1024)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLResultsetAbstract.assignTarget(OCommandExecutorSQLResultsetAbstract.java:211)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.assignTarget(OCommandExecutorSQLSelect.java:527)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.executeSearch(OCommandExecutorSQLSelect.java:509)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.execute(OCommandExecutorSQLSelect.java:485)
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:70)
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.executeCommand(OAbstractPaginatedStorage.java:3340)
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.command(OAbstractPaginatedStorage.java:3278)
    at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:69)
    at com.orientechnologies.orient.server.network.protocol.http.command.post.OServerCommandPostCommand.execute(OServerCommandPostCommand.java:106)
    at com.orientechnologies.orient.graph.server.command.OServerCommandPostCommandGraph.execute(OServerCommandPostCommandGraph.java:37)
    at com.orientechnologies.orient.server.network.protocol.http.ONetworkProtocolHttpAbstract.service(ONetworkProtocolHttpAbstract.java:173)
    at com.orientechnologies.orient.server.network.protocol.http.ONetworkProtocolHttpAbstract.execute(ONetworkProtocolHttpAbstract.java:629)
    at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:81)
$ANSI{green {db=mydb}} Exception `22001A4F` in storage `mydb`

Solution

  • You are using the version 2.2.30 of the plugin spatial with 2.2.29. The version should be the same. Try to upgrade OrientDB or downgrade the Spatial plugin