Connecting over transport client with marvel in classpath

We have client logic, where we first try to connect over transport client
if the user has given us a list of IPs and if not we try to connect over a
node client. Since we try both kinds of client we copy over all the ES and
lucene jars to the classpath. Since the node client might need some of the
plugin jars we also copy those jars to the classpath. One of the plugin is
marvel.

Now when we try to create a transport client using this classpath we are
getting the following exception

Transport connection failed. Trying node connection.Guice creation errors:
363
364 1) No implementation for org.elasticsearch.client.Client was bound.
365 while locating org.elasticsearch.client.Client
366 for parameter 4 at
org.elasticsearch.marvel.agent.AgentService.(Unknown Source)
367 at unknown
368
369 2) No implementation for org.elasticsearch.cluster.ClusterService was
bound.
370 while locating org.elasticsearch.cluster.ClusterService
371 for parameter 3 at
org.elasticsearch.marvel.agent.AgentService.(Unknown Source)
372 at unknown
373
374 3) No implementation for org.elasticsearch.cluster.ClusterService was
bound.
375 while locating org.elasticsearch.cluster.ClusterService
376 for parameter 1 at
org.elasticsearch.marvel.agent.exporter.ESExporter.(Unknown Source)
377 at unknown
378
379 4) No implementation for org.elasticsearch.cluster.settings.DynamicSettings
annotated with @org.elasticsearch.cluster.settings.ClusterDynamicSettings()
+++was bound.
380 while locating org.elasticsearch.cluster.settings.DynamicSettings
annotated with @org.elasticsearch.cluster.settings.ClusterDynamicSettings()
381 for parameter 7 at
org.elasticsearch.marvel.agent.AgentService.(Unknown Source)
382 at unknown
383
384 5) No implementation for org.elasticsearch.cluster.settings.DynamicSettings
annotated with @org.elasticsearch.cluster.settings.ClusterDynamicSettings()
+++was bound.
385 while locating org.elasticsearch.cluster.settings.DynamicSettings
annotated with @org.elasticsearch.cluster.settings.ClusterDynamicSettings()
386 for parameter 3 at
org.elasticsearch.marvel.agent.exporter.ESExporter.(Unknown Source)
387 at unknown
388
389 6) No implementation for org.elasticsearch.discovery.Discovery was bound.
390 while locating org.elasticsearch.discovery.Discovery
391 for parameter 3 at
org.elasticsearch.node.service.NodeService.(Unknown Source)

If I remove the marvel jar then this works just fine.

The reason we bother to copy over all the plugin jars is because we might need some other plugin that the node client needs. At this point I do not know if there are any other such plugins that might create trouble for transport

--
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/ccb7f371-04b8-4f38-a4d8-71608a20a157%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.