ElasticSearch Dependencies


(Shay Banon) #1

Hi,

ElasticSearch dependencies (when you use it on the JVM) have been reduced
to just lucene. Some jars are not longer needed (jgroups for example) and
some are jarjar'ed. Its in master, and snapshots have been updated.

cheers,
shay.banon


(Sergio Bossa) #2

On Thu, May 13, 2010 at 2:25 PM, Shay Banon
shay.banon@elasticsearch.com wrote:

ElasticSearch dependencies (when you use it on the JVM) have been reduced
to just lucene. Some jars are not longer needed (jgroups for example) and
some are jarjar'ed. Its in master, and snapshots have been updated.

Great, very useful for embedding ElasticSearch in your own project, or
just using client APIs.

Cheers,

Sergio B.

--
Sergio Bossa
http://www.linkedin.com/in/sergiob


(sezgin küçükkaraaslan) #3

Hi,
I have been using transport client of release 0.5.1 for some time to connect
to elastic search nodes. (I could not use node client because I have old
lucene jars in my classpath) When I try to move to the 0.6.0 version, I
realized that some transport client api has a dependency to the lucene jars.
Is this still the case, or does the client really need these dependencies ?

Thanks in advance,

Sezgin Kucukkaraaslan
www.ifountain.com

On Thu, May 13, 2010 at 3:25 PM, Shay Banon shay.banon@elasticsearch.comwrote:

Hi,

ElasticSearch dependencies (when you use it on the JVM) have been reduced
to just lucene. Some jars are not longer needed (jgroups for example) and
some are jarjar'ed. Its in master, and snapshots have been updated.

cheers,
shay.banon


(Shay Banon) #4

I actually have not tried to create the TransportClient to work without
Lucene classes (basically meaning that any API elasticsearch provides should
be without Lucene classes). Which APIs have you seen that have Lucene
dependencies?

2010/5/13 sezgin küçükkaraaslan sezo104@gmail.com

Hi,
I have been using transport client of release 0.5.1 for some time to
connect to elastic search nodes. (I could not use node client because I have
old lucene jars in my classpath) When I try to move to the 0.6.0 version, I
realized that some transport client api has a dependency to the lucene jars.
Is this still the case, or does the client really need these dependencies ?

Thanks in advance,

Sezgin Kucukkaraaslan
www.ifountain.com

On Thu, May 13, 2010 at 3:25 PM, Shay Banon shay.banon@elasticsearch.comwrote:

Hi,

ElasticSearch dependencies (when you use it on the JVM) have been
reduced to just lucene. Some jars are not longer needed (jgroups for
example) and some are jarjar'ed. Its in master, and snapshots have been
updated.

cheers,
shay.banon


(Łukasz Osipiuk) #5

On 13 May 2010 15:44, "sezgin küçükkaraaslan" sezo104@gmail.com wrote:

Hi,
I have been using transport client of release 0.5.1 for some time to connect
to elastic search nodes. (I could not use node client because I have old
lucene jars in my classpath) When I try to move to the 0.6.0 version, I
realized that some transport client api has a dependency to the lucene jars.
Is this still the case, or does the client really need these dependencies ?

Thanks in advance,

Sezgin Kucukkaraaslan
www.ifountain.com

On Thu, May 13, 2010 at 3:25 PM, Shay Banon shay.banon@elasticsearch.com
wrote:

Hi,

ElasticSearch dependencies (when you use it on the JVM) have been
reduced to just luce...


(sezgin küçükkaraaslan) #6

From the meaning of the name "TransportClient", it seems to me that the
client is not related with lucene interface. It gets exception during the
discovery of the other nodes. Here is the trace:

Exception in thread "elasticsearch[DuQuesne, Jacques][tp]-pool-1-thread-1"
java.lang.NoClassDefFoundError: org/apache/lucene/util/StringHelper
at
org.elasticsearch.cluster.node.DiscoveryNode.(DiscoveryNode.java:40)
at
org.elasticsearch.cluster.node.DiscoveryNode.(DiscoveryNode.java:52)
at
org.elasticsearch.client.transport.TransportClientNodesService$ScheduledNodesSampler$1.run(TransportClientNodesService.java:170)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException:
org.apache.lucene.util.StringHelper
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
... 6 more

Regards,
Sezgin Kucukkaraaslan
www.ifountain.com

On Thu, May 13, 2010 at 4:55 PM, Shay Banon shay.banon@elasticsearch.comwrote:

I actually have not tried to create the TransportClient to work without
Lucene classes (basically meaning that any API elasticsearch provides should
be without Lucene classes). Which APIs have you seen that have Lucene
dependencies?

2010/5/13 sezgin küçükkaraaslan sezo104@gmail.com

Hi,

I have been using transport client of release 0.5.1 for some time to
connect to elastic search nodes. (I could not use node client because I have
old lucene jars in my classpath) When I try to move to the 0.6.0 version, I
realized that some transport client api has a dependency to the lucene jars.
Is this still the case, or does the client really need these dependencies ?

Thanks in advance,

Sezgin Kucukkaraaslan
www.ifountain.com

On Thu, May 13, 2010 at 3:25 PM, Shay Banon <shay.banon@elasticsearch.com

wrote:

Hi,

ElasticSearch dependencies (when you use it on the JVM) have been
reduced to just lucene. Some jars are not longer needed (jgroups for
example) and some are jarjar'ed. Its in master, and snapshots have been
updated.

cheers,
shay.banon


(Shay Banon) #7

It might be what you derived from it, but I did not try and abstract the
Transport Client from Lucene. Its problematic to try and maintain this, btw,
since it was not designed to be so ...

2010/5/14 sezgin küçükkaraaslan sezo104@gmail.com

From the meaning of the name "TransportClient", it seems to me that the
client is not related with lucene interface. It gets exception during the
discovery of the other nodes. Here is the trace:

Exception in thread "elasticsearch[DuQuesne, Jacques][tp]-pool-1-thread-1"
java.lang.NoClassDefFoundError: org/apache/lucene/util/StringHelper
at
org.elasticsearch.cluster.node.DiscoveryNode.(DiscoveryNode.java:40)
at
org.elasticsearch.cluster.node.DiscoveryNode.(DiscoveryNode.java:52)
at
org.elasticsearch.client.transport.TransportClientNodesService$ScheduledNodesSampler$1.run(TransportClientNodesService.java:170)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException:
org.apache.lucene.util.StringHelper
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
... 6 more

Regards,

Sezgin Kucukkaraaslan
www.ifountain.com

On Thu, May 13, 2010 at 4:55 PM, Shay Banon shay.banon@elasticsearch.comwrote:

I actually have not tried to create the TransportClient to work without
Lucene classes (basically meaning that any API elasticsearch provides should
be without Lucene classes). Which APIs have you seen that have Lucene
dependencies?

2010/5/13 sezgin küçükkaraaslan sezo104@gmail.com

Hi,

I have been using transport client of release 0.5.1 for some time to
connect to elastic search nodes. (I could not use node client because I have
old lucene jars in my classpath) When I try to move to the 0.6.0 version, I
realized that some transport client api has a dependency to the lucene jars.
Is this still the case, or does the client really need these dependencies ?

Thanks in advance,

Sezgin Kucukkaraaslan
www.ifountain.com

On Thu, May 13, 2010 at 3:25 PM, Shay Banon <
shay.banon@elasticsearch.com> wrote:

Hi,

ElasticSearch dependencies (when you use it on the JVM) have been
reduced to just lucene. Some jars are not longer needed (jgroups for
example) and some are jarjar'ed. Its in master, and snapshots have been
updated.

cheers,
shay.banon


(Shay Banon) #8

Hey,

I just pushed a possible fix for this, so Lucene will not be used in the
TransportClient. The problem is that I can't verify this easily in tests,
since its in the same module. If you can test it, it would be great.

cheers,
shay.banon

On Fri, May 14, 2010 at 11:31 AM, Shay Banon
shay.banon@elasticsearch.comwrote:

It might be what you derived from it, but I did not try and abstract the
Transport Client from Lucene. Its problematic to try and maintain this, btw,
since it was not designed to be so ...

2010/5/14 sezgin küçükkaraaslan sezo104@gmail.com

From the meaning of the name "TransportClient", it seems to me that the

client is not related with lucene interface. It gets exception during the
discovery of the other nodes. Here is the trace:

Exception in thread "elasticsearch[DuQuesne, Jacques][tp]-pool-1-thread-1"
java.lang.NoClassDefFoundError: org/apache/lucene/util/StringHelper
at
org.elasticsearch.cluster.node.DiscoveryNode.(DiscoveryNode.java:40)
at
org.elasticsearch.cluster.node.DiscoveryNode.(DiscoveryNode.java:52)
at
org.elasticsearch.client.transport.TransportClientNodesService$ScheduledNodesSampler$1.run(TransportClientNodesService.java:170)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException:
org.apache.lucene.util.StringHelper
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
... 6 more

Regards,

Sezgin Kucukkaraaslan
www.ifountain.com

On Thu, May 13, 2010 at 4:55 PM, Shay Banon <shay.banon@elasticsearch.com

wrote:

I actually have not tried to create the TransportClient to work without
Lucene classes (basically meaning that any API elasticsearch provides should
be without Lucene classes). Which APIs have you seen that have Lucene
dependencies?

2010/5/13 sezgin küçükkaraaslan sezo104@gmail.com

Hi,

I have been using transport client of release 0.5.1 for some time to
connect to elastic search nodes. (I could not use node client because I have
old lucene jars in my classpath) When I try to move to the 0.6.0 version, I
realized that some transport client api has a dependency to the lucene jars.
Is this still the case, or does the client really need these dependencies ?

Thanks in advance,

Sezgin Kucukkaraaslan
www.ifountain.com

On Thu, May 13, 2010 at 3:25 PM, Shay Banon <
shay.banon@elasticsearch.com> wrote:

Hi,

ElasticSearch dependencies (when you use it on the JVM) have been
reduced to just lucene. Some jars are not longer needed (jgroups for
example) and some are jarjar'ed. Its in master, and snapshots have been
updated.

cheers,
shay.banon


(sezgin küçükkaraaslan) #9

That's great, I'll test it ASAP. Thanks

Sezgin Kucukkaraaslan

On Sat, May 22, 2010 at 4:57 PM, Shay Banon shay.banon@elasticsearch.comwrote:

Hey,

I just pushed a possible fix for this, so Lucene will not be used in the
TransportClient. The problem is that I can't verify this easily in tests,
since its in the same module. If you can test it, it would be great.

cheers,
shay.banon

On Fri, May 14, 2010 at 11:31 AM, Shay Banon <shay.banon@elasticsearch.com

wrote:

It might be what you derived from it, but I did not try and abstract the
Transport Client from Lucene. Its problematic to try and maintain this, btw,
since it was not designed to be so ...

2010/5/14 sezgin küçükkaraaslan sezo104@gmail.com

From the meaning of the name "TransportClient", it seems to me that the

client is not related with lucene interface. It gets exception during the
discovery of the other nodes. Here is the trace:

Exception in thread "elasticsearch[DuQuesne,
Jacques][tp]-pool-1-thread-1" java.lang.NoClassDefFoundError:
org/apache/lucene/util/StringHelper
at
org.elasticsearch.cluster.node.DiscoveryNode.(DiscoveryNode.java:40)
at
org.elasticsearch.cluster.node.DiscoveryNode.(DiscoveryNode.java:52)
at
org.elasticsearch.client.transport.TransportClientNodesService$ScheduledNodesSampler$1.run(TransportClientNodesService.java:170)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException:
org.apache.lucene.util.StringHelper
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
... 6 more

Regards,

Sezgin Kucukkaraaslan
www.ifountain.com

On Thu, May 13, 2010 at 4:55 PM, Shay Banon <
shay.banon@elasticsearch.com> wrote:

I actually have not tried to create the TransportClient to work without
Lucene classes (basically meaning that any API elasticsearch provides should
be without Lucene classes). Which APIs have you seen that have Lucene
dependencies?

2010/5/13 sezgin küçükkaraaslan sezo104@gmail.com

Hi,

I have been using transport client of release 0.5.1 for some time to
connect to elastic search nodes. (I could not use node client because I have
old lucene jars in my classpath) When I try to move to the 0.6.0 version, I
realized that some transport client api has a dependency to the lucene jars.
Is this still the case, or does the client really need these dependencies ?

Thanks in advance,

Sezgin Kucukkaraaslan
www.ifountain.com

On Thu, May 13, 2010 at 3:25 PM, Shay Banon <
shay.banon@elasticsearch.com> wrote:

Hi,

ElasticSearch dependencies (when you use it on the JVM) have been
reduced to just lucene. Some jars are not longer needed (jgroups for
example) and some are jarjar'ed. Its in master, and snapshots have been
updated.

cheers,
shay.banon


(system) #10