Add Partition Configuration and Index Definitions

Add index definitions for the indexes to be created in your MongoDB system for the Event Repository and specify whether to use no partitions to use one event collection (EventCollection) for storing event objects, or specify to use multiple event collections for storing event objects. Using no partition or multiple partitions is controlled by the event-collection partitioning method you configure. Indexes are added to the event collections of the Event Repository (MtxEventDatabase) based on your index definitions and partitioning method configuration.

Before you begin

You use the Event Repository administration script configure_event_repository.py for creating index definitions and the partitioning method configuration. These administration scripts can be run from any machine that has a connection to the machine on which a mongod instance runs and must be run against your primary mongod. If you are logged on to a machine where the MATRIXX Engine software is installed, you can run the script with no further setup. To run the administration script on a machine where the MATRIXX Engine software is not installed, you must first perform the tasks in the topic "Setup for Event Repository Administration Scripts".

About this task

By default, Event Loader loads objects into only one collection (EventCollection) per month in the Event Repository. You can enable more collections per month to be generated so that Event Loader does not load too many events into any one collection which could degrade server performance. The number of collections created are based on the partition method you specify.

If you require GL posting and plan to use the MATRIXX GL utilities to process and post GL information, manually add GL index definitions before running the configure_event_repository.py script. For information about manually adding GL index definitions, see the discussion about adding indexes to MongoDB for general ledger. After adding any index definitions manually, run the check_event_repository_configuration.py script to view all index definitions.

Event Loader loads the MEF events into a particular collection based on the event time (EventTime) of the event object.

Procedure

Enter the following command to add index definitions for the default set of indexes required by Event Repository.
configure_event_repository.py
The script saves the definitions for a compound index made up of WalletOwnerId, in ascending order, and EventTime, in ascending order, to the MongoDB database.

By default, the script saves a partition-method configuration of 1 to the MongoDB database. With this configuration, Event Loader loads event objects into one collection per month.

To set a different partitioning method configuration, run the script using the --partition option.

configure_event_repository.py --partition=partitionMethod

Where partitionMethod is the value of the partition method you want to use as follows:

  • 0 — One collection indefinitely
  • 1 — One collection each month (default)
  • 2 — Two collections each month
  • 3 — Three collections each month
  • 4 — Four collections each month
Note: You must set the event collection partitioning method configuration before Event Loader loads event objects into the Event Repository. The event store must be empty to change the configuration. To reset the event collection partitioning method after the Event Loader has loaded event objects into the Event Repository, see the discussion about resetting the partitioning method configuration.

What to do next

After adding index definitions, run the check_event_repository_configuration.py script to view all index definitions.

You are now ready to add indexes and create collections.