7

I'm working on an otherwise difficult implementation of SI4T, which includes Tridion 2011 and SOLR 4.8. After finishing setup and configuration, the deployer successfully starts; only problem is my page publishes keep failing. Sadly, we're also in the midst of running upgrades on the WebSphere server that hosts the deployer, so I don't have access to the full logs; only what I get from the publishing queue failures. I've included my cd_storage_conf.xml file as well.

In determining which libraries from the SI4T Github lists to use, I took the approach of grabbing all of the Tridion 2011 libraries except those that referenced SOLR, Lucene, or Tika. Those I pulled from the Tridion 2013 library list. Without the full log file, however, I'm only guessing that the issue is likely a library mismatch.

The error message:

No Data Access Object Factory for abcdeployerdb. Check if the default file system is properly defined and ItemTypes defaultStorageId is correct.

cd_storage_config.xml

UPDATE 26 Nov @ 12.04p: See my answer below. A new, more targeted question has been posted: SI4T: Commit failed after getSolrServer.

3
  • 1
    Hi Rob, Would it be possible to post a stacktrace of the error? Which WebSphere server version are you using? That matters greatly in terms of classloading. Can you also post a list of all current jar files you are loading?
    – Raimond
    Nov 25, 2014 at 8:07
  • 1
    Unfortunately, we installed jpa2 and Osgi feature packs on WebSphere 7 to support the Tridion 2013 upgrade (as per the pre reqs), and logging is dead now due to clashes with IBM's native jars (infamous slf4j issue). Both IBM and SDL Support are on the case. Until then, we're shooting in the dark. I'll post a separate Q&A on the logging issue. Nov 25, 2014 at 15:57
  • 1
    Aiii that's not good. I remember on WS 7 it's not necessary to install those packs, if you reverse the class loader (so - PARENT_LAST) and then specify your own hibernate config file to choose the correct JPA jar to load, which can then be in your own WAR / EAR. Further, if you have to do PARENT_FIRST, remove a couple of log jar files indeed.
    – Raimond
    Nov 26, 2014 at 19:02

2 Answers 2

7

I think in Solr 4.8 binary extraction changed, meaning a lot of the dependencies could be removed from deployer - this may simplify your setup. I recently experimented with Solr 4.10 (albeit with Tridion 2013) and found only the following additional jars were required for an SI4T deployer, all of which (with the exception of the si4t jars) could be found in the dist and dist/solrj-lib folders in the Solr installation package:

  • httpclient-4.3.1.jar
  • httpcore-4.3.jar
  • httpmime-4.3.1.jar
  • noggit-0.5.jar
  • solr-core-4.10.0.jar
  • solr-solrj-4.10.0.jar
  • si4t-solr.jar
  • si4t.jar

While not a direct answer to your question, maybe that helps a bit in finding the right combination of jars.

5

While I haven't successfully indexed any data just yet (see "SI4T: Commit failed after getSolrServer"), I did want to post the solution that got me past this initial hurdle. I'll post a more refined answer that includes a full list of the JARs I used along with which list I got them from in the SI4T Github repo once I've resolved my current issue.

For now, it's more a generalization in the interest of progress. I've posted a new question that addresses my current issue.

In short, my original plan on determining which libraries to use was correct; the dev who was assisting me just didn't follow my instruction initially. Once he did we got a lot farther. When mixing versions of Tridion and SOLR during SI4T installation I used every JAR from the 2011 repo except the following:

  • Any of the apache-solr-*.jar files
  • Any of the lucene-*.jar files
  • Any of the tika-*.jar files
  • si4t-solr.jar

I then added the following from the 2013 repo:

  • All of the lucene-analyzers-*-4.4.0.jar files
  • All of the solr-*-4.4.0.jar files
  • All of the tika-*.jar files
  • si4t-solr.jar

Keep in mind that this combination of files has gotten me this far on an AIX/Websphere box on Java 6. Your mileage may vary with different infrastructure.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.