We had a similar issue with a plugin regarding this. I found the solution 
here on this post from 
2012: 
http://elasticsearch-users.115913.n3.nabble.com/Running-ES-Client-inside-ES-Plugin-td3925864.html

Injecting the client in setClient was throwing the AllocationService 
circular dependency exception. Changing it to retrieve from injector solved 
the issue.

On Monday, November 17, 2014 at 8:52:34 PM UTC-6, Deepak wrote:
>
> Hi,
>
> After upgrading to ES 1.4, integration tests for our ES plugin started 
> failing. The plugin works fine when deployed directly to ES. The issue 
> seems to be only with integration tests which extend 
> ElasticsearchIntegrationTest class.     
>
> I have uploaded sample project to recreate the issue @ 
> https://github.com/dr2014/ES1.4_IntegrationTest_Issue
>
> There seems to be some problem with how Guice injects Client when 
> integration tests are executed.
>
> Any ideas as to how to resolve this issue?
>
> Thanks,
> Deepak
>
> Partial stacktrace:
>
> org.elasticsearch.common.inject.CreationException: Guice creation errors:
>
> 1) Tried proxying org.elasticsearch.discovery.DiscoveryService to support 
> a circular dependency, but it is not an interface.
>   while locating org.elasticsearch.discovery.DiscoveryService
>     for parameter 7 at 
> org.elasticsearch.discovery.local.LocalDiscovery.<init>(Unknown Source)
>   while locating org.elasticsearch.discovery.local.LocalDiscovery
>   while locating org.elasticsearch.discovery.Discovery
>     for parameter 2 at 
> org.elasticsearch.discovery.DiscoveryService.<init>(Unknown Source)
>   while locating org.elasticsearch.discovery.DiscoveryService
>     for parameter 1 at 
> org.elasticsearch.cluster.service.InternalClusterService.<init>(Unknown 
> Source)
>   while locating org.elasticsearch.cluster.service.InternalClusterService
>   while locating org.elasticsearch.cluster.ClusterService
>     for parameter 2 at 
> org.elasticsearch.action.admin.indices.open.TransportOpenIndexAction.<init>(Unknown
>  
> Source)
>   while locating 
> org.elasticsearch.action.admin.indices.open.TransportOpenIndexAction
>   while locating org.elasticsearch.action.support.TransportAction 
> annotated with 
> @org.elasticsearch.common.inject.multibindings.Element(setName=,uniqueId=305)
>   at _unknown_
>   while locating java.util.Map<org.elasticsearch.action.GenericAction, 
> org.elasticsearch.action.support.TransportAction>
>     for parameter 1 at 
> org.elasticsearch.client.node.NodeClusterAdminClient.<init>(Unknown Source)
>   while locating org.elasticsearch.client.node.NodeClusterAdminClient
>     for parameter 1 at 
> org.elasticsearch.client.node.NodeAdminClient.<init>(Unknown Source)
>   while locating org.elasticsearch.client.node.NodeAdminClient
>     for parameter 2 at 
> org.elasticsearch.client.node.NodeClient.<init>(Unknown Source)
>   while locating org.elasticsearch.client.node.NodeClient
>   while locating org.elasticsearch.client.Client
>     for parameter 2 at com.tr.es.plugin.TestESRestHandler.<init>(Unknown 
> Source)
>   while locating com.tr.es.plugin.TestESRestHandler
>
> 2) Error injecting constructor, java.lang.IllegalStateException: This is a 
> proxy used to support circular references involving constructors. The 
> object we're proxying is not constructed yet. Please wait until after 
> injection has completed to use this object.
>   at org.elasticsearch.cluster.InternalClusterInfoService.<init>(Unknown 
> Source)
>   while locating org.elasticsearch.cluster.InternalClusterInfoService
>   while locating org.elasticsearch.cluster.ClusterInfoService
>     for parameter 3 at 
> org.elasticsearch.cluster.routing.allocation.AllocationService.<init>(Unknown 
> Source)
>   while locating 
> org.elasticsearch.cluster.routing.allocation.AllocationService
>     for parameter 2 at   
>

-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/5caebd06-cda7-47ee-95bc-42a24d6446bc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to