1. Get rid of all advertisements and get unlimited access to documents by upgrading to Premium Membership. Upgrade to Premium Now and also get a Premium Badge!

how to set timeout for search query?

Discussion in 'Oracle Webcenter Suite (formerly Oracle ECM)' started by sivavp1, Mar 25, 2011.

  1. sivavp1

    sivavp1 Forum Advisor

    Messages:
    41
    Likes Received:
    0
    Trophy Points:
    100
    Location:
    Bangalore
    Hi

    Whenever i am doing a search from UCM. simply quick search or customized search or standard search, if it is not able to retrieve the results withing specified time say within 30 secs it should time out. Can I set this for UCM anywhere. Please let me know.

    Thanks,
    Siva
     
  2. dcell59

    dcell59 Forum Advisor

    Messages:
    103
    Likes Received:
    18
    Trophy Points:
    260
    Are you doing this search from a client? What service are you calling?
     
  3. sivavp1

    sivavp1 Forum Advisor

    Messages:
    41
    Likes Received:
    0
    Trophy Points:
    100
    Location:
    Bangalore
    No, I am searching from UCM only. Below are the steps.

    1. Login to UCM
    2. simply click 'Quick search' without entring in anything.

    basically it should retrieve all released contents and display using pagination.
    If it is not able to retrieve the results within specified time i want the operation to be abandoned.
    Thanks.
     
  4. dcell59

    dcell59 Forum Advisor

    Messages:
    103
    Likes Received:
    18
    Trophy Points:
    260
    How do you want it to act when it's done?

    I think that you can set up a server timeout, but that is global to the server. That is, you would set the server up to time out after 30 seconds, and any operation that doesn't finish within that period would return a 408 status (or possibly a 504, though that doesn't quite seem right). That would result in an error page. If you want something better, there might be an internal timeout that can be controlled, but I didn't see anything obvious in the documentation. Dynamic Converter has a specific configuration variable that allows it to time out if the operation takes too long, but that's internal to the Dynamic Converter code.
     
  5. sivavp1

    sivavp1 Forum Advisor

    Messages:
    41
    Likes Received:
    0
    Trophy Points:
    100
    Location:
    Bangalore
    Thanks for your reply. Please let me know where to set this server timeout and syntax for the same.

    Thanks
    Siva
     
  6. dcell59

    dcell59 Forum Advisor

    Messages:
    103
    Likes Received:
    18
    Trophy Points:
    260
    What type of server are you using? Is it Apache or IIS or something else?
     
  7. sivavp1

    sivavp1 Forum Advisor

    Messages:
    41
    Likes Received:
    0
    Trophy Points:
    100
    Location:
    Bangalore
    SunOne web server. And just now i got the below info from internet. Any idea on the first one? I think the 2nd suggestion is the one you are advising now.

    1. Try IdcServerThreadQueryTimeout=180 the default is 60 seconds. What is happening is that the query is taking longer than 60 seconds to return results. Try to run the query in sqlplus and see how long it takes straight to the database.

    Setting this to 180 seconds will give the database time enough to process the query. Try using Matches (like (value) as much as possible and Starts (like value%) is ok too. They will both take advantage of the index. Substring is really bad like (%value%). Maybe some work can be done to streamline the query.

    2.Add the following entry to the bottom of your <content_server>/config/config.cfg:

    DatabaseConnectionKeepAliveInterval=60 (this time parameter can be set according to your network health)

    Then restart the CS and see if the DB timeout still persists.

    Hope this helps

    Thanks
    Siva
     
  8. dcell59

    dcell59 Forum Advisor

    Messages:
    103
    Likes Received:
    18
    Trophy Points:
    260
    I wasn't suggesting either of those, since they are both specific to the Content Server, and not the web server.

    The first one sounds like what you want. If you set IdcServerThreadQueryTimeout to 30, the query will quit after 30 seconds.

    The second one keeps the database connection alive in case of a long query. I'm not sure exactly how it works, but the idea is that if your network has problems maintaining idle connections, you set this number to a lower number to make it use the connection more often so that it doesn't time out.