featurebase/dax
Travis Turner 12d608c80d
Move batch.Importer interface to pilosa.Importer (#2347)
* Move batch.Importer interface to pilosa.Importer

In addition to moving the interface, it updates all the methods to use
dax.TableID (for example) intead of a string pilosa index name.

* Change unused onPremImporter methods to no-op.

onPremImporter is a wrapper around API which implements the Importer
interface. This is currently only used by sql3 running locally in standard
(i.e not "serverless") mode. Because sql3 always sets
`useShardTransactionalEndpoint = true`, There are several methods which this
implemtation of the Importer interface does not use, and therefore they
intentionally no-op.
2022-12-09 14:24:47 -06:00
..
boltdb rename shard partition field (#2302) 2022-11-16 15:58:20 -06:00
computer Rename some interfaces. Remove the ComputeAPI (#2333) 2022-12-07 09:02:39 -06:00
http Introduce ServiceManager and Refactor DAX Integration tests (#2320) 2022-12-05 14:49:17 -06:00
inmem rename shard partition field (#2302) 2022-11-16 15:58:20 -06:00
mds Add Table.Description, Table.CreatedAt, Field.CreatedAt support to SchemaAPI (#2340) 2022-12-08 22:50:41 -06:00
queryer Move batch.Importer interface to pilosa.Importer (#2347) 2022-12-09 14:24:47 -06:00
server Introduce ServiceManager and Refactor DAX Integration tests (#2320) 2022-12-05 14:49:17 -06:00
snapshotter Add DAX - full list of squashed commits below 2022-11-16 11:19:40 -06:00
test Introduce ServiceManager and Refactor DAX Integration tests (#2320) 2022-12-05 14:49:17 -06:00
writelogger Add DAX - full list of squashed commits below 2022-11-16 11:19:40 -06:00
address.go Introduce ServiceManager and Refactor DAX Integration tests (#2320) 2022-12-05 14:49:17 -06:00
address_test.go Introduce ServiceManager and Refactor DAX Integration tests (#2320) 2022-12-05 14:49:17 -06:00
dax.go Add DAX - full list of squashed commits below 2022-11-16 11:19:40 -06:00
directive.go rename shard partition field (#2302) 2022-11-16 15:58:20 -06:00
docker-compose.yml Add DAX - full list of squashed commits below 2022-11-16 11:19:40 -06:00
errors.go Add DAX - full list of squashed commits below 2022-11-16 11:19:40 -06:00
Makefile Prepend header bytes to WriteLog messages for backward compatibility (#2309) 2022-11-22 15:20:47 -06:00
node.go Add DAX - full list of squashed commits below 2022-11-16 11:19:40 -06:00
README.md Add DAX - full list of squashed commits below 2022-11-16 11:19:40 -06:00
role.go rename shard partition field (#2302) 2022-11-16 15:58:20 -06:00
service_manager.go Introduce ServiceManager and Refactor DAX Integration tests (#2320) 2022-12-05 14:49:17 -06:00
snapshot.go Add DAX - full list of squashed commits below 2022-11-16 11:19:40 -06:00
table.go Add Table.Description, Table.CreatedAt, Field.CreatedAt support to SchemaAPI (#2340) 2022-12-08 22:50:41 -06:00
table_test.go Fix formatting in CLI results with custom SQLResonse.UnmarshalJSON (#2305) 2022-11-21 18:43:53 -06:00
time.go Add DAX - full list of squashed commits below 2022-11-16 11:19:40 -06:00
versioned_field.go rename shard partition field (#2302) 2022-11-16 15:58:20 -06:00
versioned_partition.go Introduce ServiceManager and Refactor DAX Integration tests (#2320) 2022-12-05 14:49:17 -06:00
versioned_shard.go rename shard partition field (#2302) 2022-11-16 15:58:20 -06:00
versionstore.go rename shard partition field (#2302) 2022-11-16 15:58:20 -06:00
workerjob.go Add DAX - full list of squashed commits below 2022-11-16 11:19:40 -06:00
workerjob_test.go Add DAX - full list of squashed commits below 2022-11-16 11:19:40 -06:00

DAX

DAX encapsulates anything which covers all of the services which make up the "disaggregation of storage and compute" project. Initially, this will include integration tests which pull in things like Metadata Services (MDS), including the Controller, as well as FeatureBase and IDK-based ingesters.

Setting up the tests

The DAX test currently requires docker images for: featurebase and datagen.

If at any point you run into problems with go mod failing to reference a private repo, make sure that you have gitlab.com/molecula in your GOPRIVATE environment variable.

Note that during the docker image build step, go mod vendor is run, which creates a vendor directory in the root directory, and copies that to docker during the build stage. Just be aware of this; you may want to remove that vendor directory after you're done building docker images.

Possible Configuruation

The following were relevent when the dax code was in a separate repository. These may no longer be relevant.

I needed to but this in my ~/.profile file:

export GOPRIVATE=github.com/molecula,gitlab.com/molecula

And this in my ~/.gitconfig

[url "ssh://git@github.com/"]
	insteadOf = https://github.com/
[url "ssh://git@gitlab.com/"]
	insteadOf = https://gitlab.com/

Then make docker ran successfully.

Build the FeatureBase docker image

  • Check out the dax branch of the featurebase repository.
  • Run make docker-image-featurebase to build the docker image
  • You should now have an image in docker named dax/featurebase with the tag latest.

Build the Datagen docker image

  • cd <featurebase_repo_root>/idk
  • Run make docker-image-datagen to build the docker image
  • You should now have an image in docker named dax/datagen with the tag latest.

Running the tests

  • Check out the dax branch of the featurebase repository.
  • Change into the dax directory: cd dax
  • Run make test-integration.