You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by yx zhou <zh...@gmail.com> on 2018/08/24 22:47:31 UTC
[help!] java.lang.NoSuchMethodError: org.apache.solr.client.solrj.request.schema.SchemaRequest
Got the following errow when i try to delete a field with Schema API, on
Solr 7.0.1, cloud model
java.lang.NoSuchMethodError:
org.apache.solr.client.solrj.request.schema.SchemaRequest$SchemaRequestJSONWriter.writeString(Ljava/lang/String;)V
at
org.apache.solr.client.solrj.request.schema.SchemaRequest$SchemaRequestJSONWriter.write(SchemaRequest.java:824)
at
org.apache.solr.client.solrj.request.schema.SchemaRequest$Update.getContentStreams(SchemaRequest.java:711)
at
org.apache.solr.client.solrj.request.RequestWriter.getContentStreams(RequestWriter.java:51)
at
org.apache.solr.client.solrj.impl.BinaryRequestWriter.getContentStreams(BinaryRequestWriter.java:53)
at
org.apache.solr.client.solrj.impl.HttpSolrClient.createMethod(HttpSolrClient.java:330)
at
org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:251)
at
org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:242)
at
org.apache.solr.client.solrj.impl.LBHttpSolrClient.doRequest(LBHttpSolrClient.java:483)
at
org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:413)
at
org.apache.solr.client.solrj.impl.CloudSolrClient.sendRequest(CloudSolrClient.java:1121)
at
org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:862)
at
org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:793)
at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:178)
at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:195)
at org.janusgraph.diskstorage.solr.SolrUtil.deleteField(SolrUtil.java:286)
at org.janusgraph.diskstorage.solr.SolrUtil.fieldsSync(SolrUtil.java:249)
My code is
public static void deleteField(CloudSolrClient client, String
collection, String fieldName)
throws IOException, SolrServerException {
SchemaRequest.DeleteField deleteFieldRequest = new
SchemaRequest.DeleteField(fieldName);
client.setDefaultCollection(collection);
SchemaResponse.UpdateResponse deleteFieldResponse =
deleteFieldRequest.process(client);
}
Re: [help!] java.lang.NoSuchMethodError:
org.apache.solr.client.solrj.request.schema.SchemaRequest
Posted by Steve Rowe <sa...@gmail.com>.
Thanks for letting us know about the source of the problem.
--
Steve
www.lucidworks.com
> On Aug 27, 2018, at 3:15 PM, yx zhou <zh...@gmail.com> wrote:
>
> i found the root cause, it is my setting
>
> <exclusion>
> <groupId>org.noggit</groupId>
> <artifactId>noggit</artifactId>
> </exclusion>
>
> It's has duplicate (version conflict) in my dependency.
>
>
> On Mon, Aug 27, 2018 at 11:22 AM yx zhou <zh...@gmail.com> wrote:
>
>> Hi Steve
>>
>> Thank your reply.
>> My solr server is from
>> http://archive.apache.org/dist/lucene/solr/7.0.1/, and my SolrJ client
>> is
>>
>> <dependency>
>> <groupId>org.apache.solr</groupId>
>> <artifactId>solr-solrj</artifactId>
>> <version>7.0.1</version>
>> <exclusions>
>> <!-- Use jcl-over-slf4j from gremlin-core -->
>> <exclusion>
>> <groupId>org.slf4j</groupId>
>> <artifactId>jcl-over-slf4j</artifactId>
>> </exclusion>
>> <!-- Use noggit from janusgraph-core -->
>> <exclusion>
>> <groupId>org.noggit</groupId>
>> <artifactId>noggit</artifactId>
>> </exclusion>
>> </exclusions>
>> </dependency>
>>
>>
>> Thanks
>>
>>
>> On Fri, Aug 24, 2018 at 4:50 PM Steve Rowe <sa...@gmail.com> wrote:
>>
>>> Hi,
>>>
>>> SchemaRequestJSONWriter class was removed in SOLR-12455[1], but this
>>> change has not been released yet (will be released with Solr 7.5). I’m
>>> guessing you’re using code built against branch_7x or master? If so, then
>>> one solution is to build against the released source for any 7.x version.
>>>
>>> [1] https://issues.apache.org/jira/browse/SOLR-12455
>>>
>>> --
>>> Steve
>>> www.lucidworks.com
>>>
>>>> On Aug 24, 2018, at 6:47 PM, yx zhou <zh...@gmail.com> wrote:
>>>>
>>>> Got the following errow when i try to delete a field with Schema API,
>>> on
>>>> Solr 7.0.1, cloud model
>>>>
>>>> java.lang.NoSuchMethodError:
>>>>
>>> org.apache.solr.client.solrj.request.schema.SchemaRequest$SchemaRequestJSONWriter.writeString(Ljava/lang/String;)V
>>>>
>>>> at
>>>>
>>> org.apache.solr.client.solrj.request.schema.SchemaRequest$SchemaRequestJSONWriter.write(SchemaRequest.java:824)
>>>> at
>>>>
>>> org.apache.solr.client.solrj.request.schema.SchemaRequest$Update.getContentStreams(SchemaRequest.java:711)
>>>> at
>>>>
>>> org.apache.solr.client.solrj.request.RequestWriter.getContentStreams(RequestWriter.java:51)
>>>> at
>>>>
>>> org.apache.solr.client.solrj.impl.BinaryRequestWriter.getContentStreams(BinaryRequestWriter.java:53)
>>>> at
>>>>
>>> org.apache.solr.client.solrj.impl.HttpSolrClient.createMethod(HttpSolrClient.java:330)
>>>> at
>>>>
>>> org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:251)
>>>> at
>>>>
>>> org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:242)
>>>> at
>>>>
>>> org.apache.solr.client.solrj.impl.LBHttpSolrClient.doRequest(LBHttpSolrClient.java:483)
>>>> at
>>>>
>>> org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:413)
>>>> at
>>>>
>>> org.apache.solr.client.solrj.impl.CloudSolrClient.sendRequest(CloudSolrClient.java:1121)
>>>> at
>>>>
>>> org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:862)
>>>> at
>>>>
>>> org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:793)
>>>> at
>>> org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:178)
>>>> at
>>> org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:195)
>>>> at
>>> org.janusgraph.diskstorage.solr.SolrUtil.deleteField(SolrUtil.java:286)
>>>> at
>>> org.janusgraph.diskstorage.solr.SolrUtil.fieldsSync(SolrUtil.java:249)
>>>>
>>>> My code is
>>>>
>>>> public static void deleteField(CloudSolrClient client, String
>>>> collection, String fieldName)
>>>> throws IOException, SolrServerException {
>>>> SchemaRequest.DeleteField deleteFieldRequest = new
>>>> SchemaRequest.DeleteField(fieldName);
>>>>
>>>> client.setDefaultCollection(collection);
>>>> SchemaResponse.UpdateResponse deleteFieldResponse =
>>>> deleteFieldRequest.process(client);
>>>> }
>>>
>>>
Re: [help!] java.lang.NoSuchMethodError: org.apache.solr.client.solrj.request.schema.SchemaRequest
Posted by yx zhou <zh...@gmail.com>.
i found the root cause, it is my setting
<exclusion>
<groupId>org.noggit</groupId>
<artifactId>noggit</artifactId>
</exclusion>
It's has duplicate (version conflict) in my dependency.
On Mon, Aug 27, 2018 at 11:22 AM yx zhou <zh...@gmail.com> wrote:
> Hi Steve
>
> Thank your reply.
> My solr server is from
> http://archive.apache.org/dist/lucene/solr/7.0.1/, and my SolrJ client
> is
>
> <dependency>
> <groupId>org.apache.solr</groupId>
> <artifactId>solr-solrj</artifactId>
> <version>7.0.1</version>
> <exclusions>
> <!-- Use jcl-over-slf4j from gremlin-core -->
> <exclusion>
> <groupId>org.slf4j</groupId>
> <artifactId>jcl-over-slf4j</artifactId>
> </exclusion>
> <!-- Use noggit from janusgraph-core -->
> <exclusion>
> <groupId>org.noggit</groupId>
> <artifactId>noggit</artifactId>
> </exclusion>
> </exclusions>
> </dependency>
>
>
> Thanks
>
>
> On Fri, Aug 24, 2018 at 4:50 PM Steve Rowe <sa...@gmail.com> wrote:
>
>> Hi,
>>
>> SchemaRequestJSONWriter class was removed in SOLR-12455[1], but this
>> change has not been released yet (will be released with Solr 7.5). I’m
>> guessing you’re using code built against branch_7x or master? If so, then
>> one solution is to build against the released source for any 7.x version.
>>
>> [1] https://issues.apache.org/jira/browse/SOLR-12455
>>
>> --
>> Steve
>> www.lucidworks.com
>>
>> > On Aug 24, 2018, at 6:47 PM, yx zhou <zh...@gmail.com> wrote:
>> >
>> > Got the following errow when i try to delete a field with Schema API,
>> on
>> > Solr 7.0.1, cloud model
>> >
>> > java.lang.NoSuchMethodError:
>> >
>> org.apache.solr.client.solrj.request.schema.SchemaRequest$SchemaRequestJSONWriter.writeString(Ljava/lang/String;)V
>> >
>> > at
>> >
>> org.apache.solr.client.solrj.request.schema.SchemaRequest$SchemaRequestJSONWriter.write(SchemaRequest.java:824)
>> > at
>> >
>> org.apache.solr.client.solrj.request.schema.SchemaRequest$Update.getContentStreams(SchemaRequest.java:711)
>> > at
>> >
>> org.apache.solr.client.solrj.request.RequestWriter.getContentStreams(RequestWriter.java:51)
>> > at
>> >
>> org.apache.solr.client.solrj.impl.BinaryRequestWriter.getContentStreams(BinaryRequestWriter.java:53)
>> > at
>> >
>> org.apache.solr.client.solrj.impl.HttpSolrClient.createMethod(HttpSolrClient.java:330)
>> > at
>> >
>> org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:251)
>> > at
>> >
>> org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:242)
>> > at
>> >
>> org.apache.solr.client.solrj.impl.LBHttpSolrClient.doRequest(LBHttpSolrClient.java:483)
>> > at
>> >
>> org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:413)
>> > at
>> >
>> org.apache.solr.client.solrj.impl.CloudSolrClient.sendRequest(CloudSolrClient.java:1121)
>> > at
>> >
>> org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:862)
>> > at
>> >
>> org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:793)
>> > at
>> org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:178)
>> > at
>> org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:195)
>> > at
>> org.janusgraph.diskstorage.solr.SolrUtil.deleteField(SolrUtil.java:286)
>> > at
>> org.janusgraph.diskstorage.solr.SolrUtil.fieldsSync(SolrUtil.java:249)
>> >
>> > My code is
>> >
>> > public static void deleteField(CloudSolrClient client, String
>> > collection, String fieldName)
>> > throws IOException, SolrServerException {
>> > SchemaRequest.DeleteField deleteFieldRequest = new
>> > SchemaRequest.DeleteField(fieldName);
>> >
>> > client.setDefaultCollection(collection);
>> > SchemaResponse.UpdateResponse deleteFieldResponse =
>> > deleteFieldRequest.process(client);
>> > }
>>
>>
Re: [help!] java.lang.NoSuchMethodError: org.apache.solr.client.solrj.request.schema.SchemaRequest
Posted by yx zhou <zh...@gmail.com>.
Hi Steve
Thank your reply.
My solr server is from http://archive.apache.org/dist/lucene/solr/7.0.1/,
and my SolrJ client is
<dependency>
<groupId>org.apache.solr</groupId>
<artifactId>solr-solrj</artifactId>
<version>7.0.1</version>
<exclusions>
<!-- Use jcl-over-slf4j from gremlin-core -->
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</exclusion>
<!-- Use noggit from janusgraph-core -->
<exclusion>
<groupId>org.noggit</groupId>
<artifactId>noggit</artifactId>
</exclusion>
</exclusions>
</dependency>
Thanks
On Fri, Aug 24, 2018 at 4:50 PM Steve Rowe <sa...@gmail.com> wrote:
> Hi,
>
> SchemaRequestJSONWriter class was removed in SOLR-12455[1], but this
> change has not been released yet (will be released with Solr 7.5). I’m
> guessing you’re using code built against branch_7x or master? If so, then
> one solution is to build against the released source for any 7.x version.
>
> [1] https://issues.apache.org/jira/browse/SOLR-12455
>
> --
> Steve
> www.lucidworks.com
>
> > On Aug 24, 2018, at 6:47 PM, yx zhou <zh...@gmail.com> wrote:
> >
> > Got the following errow when i try to delete a field with Schema API, on
> > Solr 7.0.1, cloud model
> >
> > java.lang.NoSuchMethodError:
> >
> org.apache.solr.client.solrj.request.schema.SchemaRequest$SchemaRequestJSONWriter.writeString(Ljava/lang/String;)V
> >
> > at
> >
> org.apache.solr.client.solrj.request.schema.SchemaRequest$SchemaRequestJSONWriter.write(SchemaRequest.java:824)
> > at
> >
> org.apache.solr.client.solrj.request.schema.SchemaRequest$Update.getContentStreams(SchemaRequest.java:711)
> > at
> >
> org.apache.solr.client.solrj.request.RequestWriter.getContentStreams(RequestWriter.java:51)
> > at
> >
> org.apache.solr.client.solrj.impl.BinaryRequestWriter.getContentStreams(BinaryRequestWriter.java:53)
> > at
> >
> org.apache.solr.client.solrj.impl.HttpSolrClient.createMethod(HttpSolrClient.java:330)
> > at
> >
> org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:251)
> > at
> >
> org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:242)
> > at
> >
> org.apache.solr.client.solrj.impl.LBHttpSolrClient.doRequest(LBHttpSolrClient.java:483)
> > at
> >
> org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:413)
> > at
> >
> org.apache.solr.client.solrj.impl.CloudSolrClient.sendRequest(CloudSolrClient.java:1121)
> > at
> >
> org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:862)
> > at
> >
> org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:793)
> > at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:178)
> > at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:195)
> > at
> org.janusgraph.diskstorage.solr.SolrUtil.deleteField(SolrUtil.java:286)
> > at org.janusgraph.diskstorage.solr.SolrUtil.fieldsSync(SolrUtil.java:249)
> >
> > My code is
> >
> > public static void deleteField(CloudSolrClient client, String
> > collection, String fieldName)
> > throws IOException, SolrServerException {
> > SchemaRequest.DeleteField deleteFieldRequest = new
> > SchemaRequest.DeleteField(fieldName);
> >
> > client.setDefaultCollection(collection);
> > SchemaResponse.UpdateResponse deleteFieldResponse =
> > deleteFieldRequest.process(client);
> > }
>
>
Re: [help!] java.lang.NoSuchMethodError:
org.apache.solr.client.solrj.request.schema.SchemaRequest
Posted by Steve Rowe <sa...@gmail.com>.
Hi,
SchemaRequestJSONWriter class was removed in SOLR-12455[1], but this change has not been released yet (will be released with Solr 7.5). I’m guessing you’re using code built against branch_7x or master? If so, then one solution is to build against the released source for any 7.x version.
[1] https://issues.apache.org/jira/browse/SOLR-12455
--
Steve
www.lucidworks.com
> On Aug 24, 2018, at 6:47 PM, yx zhou <zh...@gmail.com> wrote:
>
> Got the following errow when i try to delete a field with Schema API, on
> Solr 7.0.1, cloud model
>
> java.lang.NoSuchMethodError:
> org.apache.solr.client.solrj.request.schema.SchemaRequest$SchemaRequestJSONWriter.writeString(Ljava/lang/String;)V
>
> at
> org.apache.solr.client.solrj.request.schema.SchemaRequest$SchemaRequestJSONWriter.write(SchemaRequest.java:824)
> at
> org.apache.solr.client.solrj.request.schema.SchemaRequest$Update.getContentStreams(SchemaRequest.java:711)
> at
> org.apache.solr.client.solrj.request.RequestWriter.getContentStreams(RequestWriter.java:51)
> at
> org.apache.solr.client.solrj.impl.BinaryRequestWriter.getContentStreams(BinaryRequestWriter.java:53)
> at
> org.apache.solr.client.solrj.impl.HttpSolrClient.createMethod(HttpSolrClient.java:330)
> at
> org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:251)
> at
> org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:242)
> at
> org.apache.solr.client.solrj.impl.LBHttpSolrClient.doRequest(LBHttpSolrClient.java:483)
> at
> org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:413)
> at
> org.apache.solr.client.solrj.impl.CloudSolrClient.sendRequest(CloudSolrClient.java:1121)
> at
> org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:862)
> at
> org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:793)
> at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:178)
> at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:195)
> at org.janusgraph.diskstorage.solr.SolrUtil.deleteField(SolrUtil.java:286)
> at org.janusgraph.diskstorage.solr.SolrUtil.fieldsSync(SolrUtil.java:249)
>
> My code is
>
> public static void deleteField(CloudSolrClient client, String
> collection, String fieldName)
> throws IOException, SolrServerException {
> SchemaRequest.DeleteField deleteFieldRequest = new
> SchemaRequest.DeleteField(fieldName);
>
> client.setDefaultCollection(collection);
> SchemaResponse.UpdateResponse deleteFieldResponse =
> deleteFieldRequest.process(client);
> }