On 1/10/2016 11:56 PM, Asanka Sanjaya Herath wrote: > I tried to create a solr client using following code. > > solrClient = new CloudSolrClient(zkHost); > solrClient.setDefaultCollection(solrCollection); > > Solr4j version:5.4.0 > > Project built successfully but in run time I get following error. Any > help is appreciated. > > Main class [org.apache.oozie.action.hadoop.JavaMain], main() threw > exception, java.lang.VerifyError: Bad return type > Exception Details: > Location:
I'm guessing that this is happening because Oozie includes a dependency on commons-httpclient, or httpclient 3.x, and SolrJ 4.0 and later has a dependency on httpcomponents -- httpclient 4.x. It is very likely that SolrJ is seeing the classes provided by the 3.x jars, and that the method signatures are incompatible with what SolrJ expects. It is very possible that you will be unable to make Oozie work with SolrJ 4.0 or later, and since you are using CloudSolrClient, you have no choice but the newer SolrJ version. I believe that the reason it compiles successfully is because the SolrJ code you are using does not expose anything having to do with HttpClient at all. That interaction only happens deeper down, within SolrJ. Thanks, Shawn