nosqlbench icon indicating copy to clipboard operation
nosqlbench copied to clipboard

Support both 'block' and 'blocks' as being accepted tag filter keys

Open msmygit opened this issue 1 year ago • 1 comments

What is the ideal scenario for using this feature? Consider a workload yaml file as below,

scenarios:
  default:
    create_db_ddl: run driver=my_driver tags==blocks:schema_db cycles=1 <other params>

blocks:
  schema_db:
    ops:
      op1:
        create_database_ddl: TEMPLATE(database_id)

where I've blocks (plural) as opposed to the current expected singular block in the tag filter's key. With the latest release, this gives the following error:

🐛 🚨 There were no active op templates with tag filter 'blocks:schema_db', since all 1 were filtered out
ERROR [main] ERRORHANDLER There were no active op templates with tag filter 'blocks:schema_db', since all 1 were filtered out.
io.nosqlbench.nb.api.errors.BasicError: There were no active op templates with tag filter 'blocks:schema_db', since all 1 were filtered out.
	at io.nosqlbench.engine.api.activityimpl.SimpleActivity.loadOpTemplates(SimpleActivity.java:484)
	at io.nosqlbench.engine.api.activityimpl.uniform.StandardActivity.<init>(StandardActivity.java:91)
	at io.nosqlbench.engine.api.activityimpl.uniform.StandardActivityType.getActivity(StandardActivityType.java:62)
	at io.nosqlbench.engine.api.activityimpl.uniform.StandardActivityType.getActivity(StandardActivityType.java:30)
	at io.nosqlbench.engine.api.activityapi.core.ActivityType.getAssembledActivity(ActivityType.java:64)
	at io.nosqlbench.engine.core.lifecycle.activity.ActivityLoader.loadActivity(ActivityLoader.java:43)
	at io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController.doStartActivity(ContainerActivitiesController.java:76)
	at io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController.run(ContainerActivitiesController.java:124)
	at io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController.run(ContainerActivitiesController.java:113)
	at io.nosqlbench.engine.core.lifecycle.scenario.container.ContainerActivitiesController.run(ContainerActivitiesController.java:134)
	at io.nosqlbench.engine.core.lifecycle.commands.CMD_run.invoke(CMD_run.java:40)
	at io.nosqlbench.engine.core.lifecycle.scenario.execution.NBBaseCommand.apply(NBBaseCommand.java:53)
	at io.nosqlbench.engine.core.lifecycle.scenario.execution.NBInvokableCommand.invokeSafe(NBInvokableCommand.java:45)
	at io.nosqlbench.engine.core.lifecycle.scenario.container.NBBufferedContainer.apply(NBBufferedContainer.java:137)
	at io.nosqlbench.engine.core.lifecycle.session.NBSession.apply(NBSession.java:96)
	at io.nosqlbench.engine.cli.NBCLI.applyDirect(NBCLI.java:473)
	at io.nosqlbench.engine.cli.NBCLI.apply(NBCLI.java:124)
	at io.nosqlbench.engine.cli.NBCLI.main(NBCLI.java:104)
Scenario stopped due to error. See logs for details.

Process finished with exit code 2

Is your feature request related to a problem? Please describe. It'd be nice to support both block (which works today) and blocks as accepted form of tag filter keys.

msmygit avatar Oct 04 '24 12:10 msmygit