Search code examples
tridionfredhoppersmarttarget

SmartTarget Errors in log file


I don't have any errors with my smart target application, but I do see in the event log, the following error messages:

ERROR 2012-09-19 14:30:09 com.tridion.smarttarget.utils.AmbientDataHelper - can't find defined trigger-types in claim store (check if your smarttarget cartridge is up and running)

and:

ERROR 2012-09-19 14:30:11 com.tridion.smarttarget.tags.TimeoutQueryRunner - The fredhopper query timed out java.util.concurrent.TimeoutException at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source) at java.util.concurrent.FutureTask.get(Unknown Source) at com.tridion.smarttarget.tags.TimeoutQueryRunner.executeQuery(TimeoutQueryRunner.java:64) ERROR 2012-09-19 14:30:11 com.tridion.smarttarget.tags.TimeoutQueryRunner - The fredhopper query timed out

I would really like to understand what is causing these and how I can remove them. Or some suggested steps to help me debug this would be great :)

As I say, everything is working perfectly, later on in the logs I see the query to ST is correct and the results being generated.

I'm running on a 2009 implementation with Smart Target 2010, Java 1.5.


Solution

  • Sounds like you might have a trigger configured in ST that does not actually exist in the ADF (or is mismatched). Have you looked through your trigger-types.xml file for anything obvious? Have you disabled an ADF cartridge but not removed the corresponding trigger in the XML perhaps? See the documentation for Defining trigger types.

    I think your timeout is coming from the SmartTarget region rather than FredHopper. Sometimes a query that isn't already cached in FredHopper can take a while to return, even though it's ultimately successful. The ST query tag has a timeout (defined in the smarttarget_conf.xml file, or over-ridden with a tag attribute) that it will wait for a response from Fredhopper for before resorting to using the fallback content. This might explain why you see later in the logs that the query is correct and that results are returned. See the documentation for <tcdl:query>.

    No conclusive answer for you I'm afraid, but I hope that helps.