Using dynamic business rules with an Agraph

When updating dynamic business rule configurations on Dgraphs, Endeca recommends shutting down the Agraph.

To implement dynamic business rules when you are using the Agraph, keep in mind the following points:

  • Using dynamic business rules with the Agraph affects performance if you are using zones configured with Unique by This Dimension/Property combined with a high setting for the maximum number of records or a large numbers of rules. To avoid response time problems, you may need to reduce the number of rules, reduce the maximum records that can be returned, or abandon uniqueness.
  • All Dgraphs serving one Agraph must share the same set of dynamic business rules. To ensure this, it is necessary to update their configurations synchronously by running Dgidx with the --keepcats flag.
  • If you update your Dgraphs with dynamic business rule changes using Developer Studio or Endeca Workbench, and a request comes to the Agraph while the update is in progress, the Agraph issues a fatal error similar to the following:

    [Fri Mar 24 16:26:29 2006] [Fatal] (merchbinsorter.cpp::276) - Dgraph 1 has fewer rules fired.

As long as the Agraph is running under the Endeca JCD, the JCD automatically restarts the Agraph. No data is lost. However, end-users will not receive a response to requests made during this short time. This problem has little overall impact on the system, because business rule updates are quick and infrequent. Nevertheless, Endeca recommends that you shut down the Agraph during business rule updates. To shut down the Agraph, go to a CMD prompt on Windows or a shell prompt on UNIX and type:

GET 'http://HOST:PORT/admin?op=exit'

where HOST is machine running the Agraph and PORT is the port number of the Agraph. GET is a Perl utility, so be sure the Perl binaries are in your system path variable.

Note: Fully implementing this feature requires additional work outside of Developer Studio. Please refer to the Endeca Advanced Development Guide as well as the Endeca Workbench Help for details.