What is ROQL (RightNow Object Query Language) Blocklisting?
RightNow Object Query Language (ROQL) blocklisting
Oracle B2C Service, August 2011 and newer
New to the August 2011 release, ROQL will be able to identify and blocklist bad queries. A performance metric has been established to identify and effectively quarantine bad queries done in the database.
Bad queries will be blocklisted to protect shared environment. The result of ROQL blocklisting is that the query is either blocked or redirected to replication. An exception / fault will be returned for blocklisted queries when run directly.
When a bad query is identified it will contain one of following messages:
- "Poor performing query - aborting"
- "Poor performing query - blocked"
- "Poor performing query - too much time taken“
Some best practices to help keep your queries compliant:
- Pick the right primary object (most restrictions to be applied)
- Use where qualifiers to filter query (do not return everything)
- Do not try to create joins through the WHERE clause (use relationships)
- Test queries before going into production
Most blocklisted queries can be redesigned to be compliant. ROQL queries are also run by product functionality behind the scenes, and those queries can be blocklisted as well. If blocklisted queries are suspected, please submit an SR to Technical Support for further investigation.