datastax / adelphi

Automation tool for testing C* OSS that assembles cassandra-diff, nosqlbench, fqltool
Apache License 2.0
10 stars 6 forks source link

Finish support for column types when generating nosqlbench configs from a schema #100

Open absurdfarce opened 3 years ago

absurdfarce commented 3 years ago

Feature Request

Description

https://github.com/datastax/adelphi/issues/86 implemented a base framework for generating nosqlbench configs from an input schema. To ease the implementation we only added support for "text" types; this should be expanded to support as many CQL types as we reasonably can.

Note that this requires defining nosqlbench distributions for values for each supported type, so there may be a fair amount of twiddling there in order to get things like inetaddress working.

Describe the solution you'd like

As of this writing the impl has a fairly straightforward method for defining nosqlbench distributions/sequences in code (see https://github.com/datastax/adelphi/pull/96/files#diff-b50d6211d55bd7434d67c456c88581087f9c2c61e279c59891fa474667fc3485R8-R11). Ideally any impl here would just piggy-back off of that work and expand it somewhat.

Note that the list of types we can expect to see here will have to be extracted from the Python Cassandra driver

Based on the progress completed in #107 the following types are expected via this issue:

┆Issue is synchronized with this Jira Task by Unito ┆Issue Number: AD-44

absurdfarce commented 3 years ago

Note that https://github.com/datastax/adelphi/issues/107 is adding support for a large collection of data types directly, enough to cover commonly used types in schemas. We still need to cover some additional cases:

absurdfarce commented 3 years ago

Per comments on https://github.com/datastax/adelphi/issues/107: the PR for that ticket will add support for all basic CQL types. As of this writing we have everything except "duration" and I expect that to be added within the next day or so. With that in mind this ticket is intended to add support for the following: