Custom parameter sources

Hi David,

I think Rally is already capable of doing what you want.

You can filter indices that you want to target from a corpus. Within that corpus you can reuse the same data file as I've already outlined in my previous post. Then you'd specify two bulk operations a parallel element. You can define which indices from the corpus definition you want to target with that bulk operation (see the indices property in the bulk operation docs). Suppose you have defined index-1, index-2, index-3 and index-4 in your corpus. Then you can limit the bulk-indexing operation to only use index-1 and index-3 with :

{
  "name": "bulk-index-1-and-3",
  "operation": {
    "name": "index-append",
    "operation-type": "bulk",
    "indices": ["index-1", "index-3"]
  },
  "clients": 8,
  "warmup-time-period": 600
}

The other bulk operation in the parallel element could then target the other two indices.

Updates are a bit tricky:

I think you can solve this with the following parameters on the bulk operation (see docs for details):

  • "conflicts": "random"
  • "on-conflict": "update"

Please read the docs if you need more-fine-grained control.

Hope that helps.

Daniel