Why does the TransportClient depend on Lucene core?


(Jeroen Reijn) #1

Hi all,

while trying to use the TransportClient to connect to a remote
elasticsearch cluster in a project that already contains Lucene libraries
it fails to create a client connection with the following error.

[INFO] [talledLocalContainer] Jun 27, 2014 12:43:53 PM org.apache.catalina.
core.StandardContext loadOnStartup
[INFO] [talledLocalContainer] SEVERE: Servlet /app threw load() exception
[INFO] [talledLocalContainer] at org.elasticsearch.Version.(Version.
java:119)
[INFO] [talledLocalContainer] at org.elasticsearch.client.transport.
TransportClient.(TransportClient.java:169)
[INFO] [talledLocalContainer] at org.elasticsearch.client.transport.
TransportClient.(TransportClient.java:125)

Caused by: java.lang.NoSuchFieldError: LUCENE_41

I guess this has to do with the assignment of

Version version = Version.CURRENT;

Is there a particular reason why the transport client depends on the Lucene
core library which contains the versions?

Is there a way I can work around this besides not having the old lucene
libraries in my classpath?

Kind regards,

Jeroen

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(David Pilato) #2

The TransportClient is part of the full elasticsearch distribution.
We don't have another official client for that.

If you really need to have another Lucene version in your class path, I'm afraid you need to use HTTP REST Layer and not Transport layer.

May be you should look at JEST in that case? http://www.elasticsearch.org/guide/en/elasticsearch/client/community/current/clients.html#community-java

--
David Pilato | Technical Advocate | Elasticsearch.com
@dadoonet | @elasticsearchfr

Le 27 juin 2014 à 13:32:55, Jeroen Reijn (j.reijn@1hippo.com) a écrit:

Hi all,

while trying to use the TransportClient to connect to a remote elasticsearch cluster in a project that already contains Lucene libraries it fails to create a client connection with the following error.

[INFO] [talledLocalContainer] Jun 27, 2014 12:43:53 PM org.apache.catalina.core.StandardContext loadOnStartup
[INFO] [talledLocalContainer] SEVERE: Servlet /app threw load() exception
[INFO] [talledLocalContainer] at org.elasticsearch.Version.(Version.java:119)
[INFO] [talledLocalContainer] at org.elasticsearch.client.transport.TransportClient.(TransportClient.java:169)
[INFO] [talledLocalContainer] at org.elasticsearch.client.transport.TransportClient.(TransportClient.java:125)

Caused by: java.lang.NoSuchFieldError: LUCENE_41

I guess this has to do with the assignment of

Version version = Version.CURRENT;

Is there a particular reason why the transport client depends on the Lucene core library which contains the versions?

Is there a way I can work around this besides not having the old lucene libraries in my classpath?

Kind regards,

Jeroen

You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/etPan.53ad65ad.2eb141f2.b75f%40MacBook-Air-de-David.local.
For more options, visit https://groups.google.com/d/optout.


(Jeroen Reijn) #3

Thank you David. I wanted to try to stay as close to the elasticsearch
stack as possible. I've found a different (less nice) way of achieve the
same end result.

Jeroen

On Friday, June 27, 2014 2:38:20 PM UTC+2, David Pilato wrote:

The TransportClient is part of the full elasticsearch distribution.
We don't have another official client for that.

If you really need to have another Lucene version in your class path, I'm
afraid you need to use HTTP REST Layer and not Transport layer.

May be you should look at JEST in that case?
http://www.elasticsearch.org/guide/en/elasticsearch/client/community/current/clients.html#community-java

--
David Pilato | Technical Advocate | Elasticsearch.com
@dadoonet https://twitter.com/dadoonet | @elasticsearchfr
https://twitter.com/elasticsearchfr

Le 27 juin 2014 à 13:32:55, Jeroen Reijn (j.r...@1hippo.com <javascript:>)
a écrit:

Hi all,

while trying to use the TransportClient to connect to a remote
elasticsearch cluster in a project that already contains Lucene libraries
it fails to create a client connection with the following error.

[INFO] [talledLocalContainer] Jun 27, 2014 12:43:53 PM org.apache.catalina
.core.StandardContext loadOnStartup
[INFO] [talledLocalContainer] SEVERE: Servlet /app threw load() exception
[INFO] [talledLocalContainer] at org.elasticsearch.Version.(
Version.java:119)
[INFO] [talledLocalContainer] at org.elasticsearch.client.transport.
TransportClient.(TransportClient.java:169)
[INFO] [talledLocalContainer] at org.elasticsearch.client.transport.
TransportClient.(TransportClient.java:125)

Caused by: java.lang.NoSuchFieldError: LUCENE_41

I guess this has to do with the assignment of

Version version = Version.CURRENT;

Is there a particular reason why the transport client depends on the
Lucene core library which contains the versions?

Is there a way I can work around this besides not having the old lucene
libraries in my classpath?

Kind regards,

Jeroen

You received this message because you are subscribed to the Google Groups
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to elasticsearc...@googlegroups.com <javascript:>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com
https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com?utm_medium=email&utm_source=footer
.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/7a9d0cc9-ef2d-4962-81bb-f4d6875f5936%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(Ming Fang) #4

Are there any plans to release a client only Maven artifact?
It is very strange for a client application to include the entire
Elasticsearch server.

On Friday, June 27, 2014 8:38:20 AM UTC-4, David Pilato wrote:

The TransportClient is part of the full elasticsearch distribution.
We don't have another official client for that.

If you really need to have another Lucene version in your class path, I'm
afraid you need to use HTTP REST Layer and not Transport layer.

May be you should look at JEST in that case?
http://www.elasticsearch.org/guide/en/elasticsearch/client/community/current/clients.html#community-java

--
David Pilato | Technical Advocate | Elasticsearch.com
@dadoonet https://twitter.com/dadoonet | @elasticsearchfr
https://twitter.com/elasticsearchfr

Le 27 juin 2014 à 13:32:55, Jeroen Reijn (j.r...@1hippo.com <javascript:>)
a écrit:

Hi all,

while trying to use the TransportClient to connect to a remote
elasticsearch cluster in a project that already contains Lucene libraries
it fails to create a client connection with the following error.

[INFO] [talledLocalContainer] Jun 27, 2014 12:43:53 PM org.apache.catalina
.core.StandardContext loadOnStartup
[INFO] [talledLocalContainer] SEVERE: Servlet /app threw load() exception
[INFO] [talledLocalContainer] at org.elasticsearch.Version.(
Version.java:119)
[INFO] [talledLocalContainer] at org.elasticsearch.client.transport.
TransportClient.(TransportClient.java:169)
[INFO] [talledLocalContainer] at org.elasticsearch.client.transport.
TransportClient.(TransportClient.java:125)

Caused by: java.lang.NoSuchFieldError: LUCENE_41

I guess this has to do with the assignment of

Version version = Version.CURRENT;

Is there a particular reason why the transport client depends on the
Lucene core library which contains the versions?

Is there a way I can work around this besides not having the old lucene
libraries in my classpath?

Kind regards,

Jeroen

You received this message because you are subscribed to the Google Groups
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to elasticsearc...@googlegroups.com <javascript:>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com
https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com?utm_medium=email&utm_source=footer
.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/8f6d868c-69e4-4fcc-8424-13cb5e30eb78%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


(Jörg Prante) #5

I'd like to release such a TransportClient, as part of a modularization of
the 1.2.1 (probably 1.3) codebase. But there is no ETA.

I plan to release three flavors of a modularized TransportClient, an ingest
client that can only write documents to a cluster (depending on Jackson
JSON and Google Guava), a search client that can submit queries (this will
require at least the Lucene query builder classes) and an admin client that
can also execute control commands.

Jörg

On Fri, Jul 11, 2014 at 5:30 PM, Ming Fang minggfang@gmail.com wrote:

Are there any plans to release a client only Maven artifact?
It is very strange for a client application to include the entire
Elasticsearch server.

On Friday, June 27, 2014 8:38:20 AM UTC-4, David Pilato wrote:

The TransportClient is part of the full elasticsearch distribution.
We don't have another official client for that.

If you really need to have another Lucene version in your class path, I'm
afraid you need to use HTTP REST Layer and not Transport layer.

May be you should look at JEST in that case? http://www.
elasticsearch.org/guide/en/elasticsearch/client/
community/current/clients.html#community-java

--
David Pilato | Technical Advocate | Elasticsearch.com
@dadoonet https://twitter.com/dadoonet | @elasticsearchfr
https://twitter.com/elasticsearchfr

Le 27 juin 2014 à 13:32:55, Jeroen Reijn (j.r...@1hippo.com) a écrit:

Hi all,

while trying to use the TransportClient to connect to a remote
elasticsearch cluster in a project that already contains Lucene libraries
it fails to create a client connection with the following error.

[INFO] [talledLocalContainer] Jun 27, 2014 12:43:53 PM org.apache.
catalina.core.StandardContext loadOnStartup
[INFO] [talledLocalContainer] SEVERE: Servlet /app threw load() exception
[INFO] [talledLocalContainer] at org.elasticsearch.Version.(
Version.java:119)
[INFO] [talledLocalContainer] at org.elasticsearch.client.transport.
TransportClient.(TransportClient.java:169)
[INFO] [talledLocalContainer] at org.elasticsearch.client.transport.
TransportClient.(TransportClient.java:125)

Caused by: java.lang.NoSuchFieldError: LUCENE_41

I guess this has to do with the assignment of

Version version = Version.CURRENT;

Is there a particular reason why the transport client depends on the
Lucene core library which contains the versions?

Is there a way I can work around this besides not having the old lucene
libraries in my classpath?

Kind regards,

Jeroen

You received this message because you are subscribed to the Google Groups
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to elasticsearc...@googlegroups.com.

To view this discussion on the web visit https://groups.google.com/d/
msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%
40googlegroups.com
https://groups.google.com/d/msgid/elasticsearch/e29b3445-bef2-440c-b439-65a9a69a8291%40googlegroups.com?utm_medium=email&utm_source=footer
.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/8f6d868c-69e4-4fcc-8424-13cb5e30eb78%40googlegroups.com
https://groups.google.com/d/msgid/elasticsearch/8f6d868c-69e4-4fcc-8424-13cb5e30eb78%40googlegroups.com?utm_medium=email&utm_source=footer
.

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

--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAKdsXoE41shRm-hcKQ6ES3UkNaTQ76Kyzz%2Bqs%2BX9tfmzxCzuTw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


(system) #6