Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

satellitedb: add support to testplanet for cockroachdb #3634

Merged
merged 12 commits into from
Nov 22, 2019

Conversation

JessicaGreben
Copy link
Contributor

@JessicaGreben JessicaGreben commented Nov 22, 2019

What/Why:

We are adding support for cockroachDB for the satellitedb. First we need to make sure our tests can handle using cockroachdb. This PR adds cockroach support to testplanet.

In this PR I also merged the migration steps again so that its compatible with cockroachdb. I ran pg_dump on master and on this branch and diff'd the output to ensure the database schemas are the same.

To run unit tests with cockroachdb, do the following:

  1. run a local cockroachdb cluster (docs)
  2. provide the cockroachDB connection string to testplanet by setting an env var
    export STORJ_COCKROACH_TEST=postgres://root@localhost:26257/master?sslmode=disable
  3. connect to cockroachdb and create the master database:
    cockroach sql --insecure --host=localhost:26257 -e 'create database teststorj;'
  4. run unit tests: go test ./...

Please describe the tests:

  • Made changes so that testplanet_test.TestRun executes successfully with cockroachdb.
  • Added support for cockroachDB to testplanet, but skipped the tests execution for it since we are still in the process of fixing the sql so the code is compatible with cockroachdb
  • set up Jenkins to run testplanet.Run test to ensure maintained compatibility while this work is still in progress

Please describe the performance impact:
n/a

Code Review Checklist (to be filled out by reviewer)

  • NEW: Are there any Satellite database migrations? Are they forwards and backwards compatible?
  • Does the PR describe what changes are being made?
  • Does the PR describe why the changes are being made?
  • Does the code follow our style guide?
  • Does the code follow our testing guide?
  • Is the PR appropriately sized? (If it could be broken into smaller PRs it should be)
  • Does the new code have enough tests? (every PR should have tests or justification otherwise. Bug-fix PRs especially)
  • Does the new code have enough documentation that answers "how do I use it?" and "what does it do?"? (both source documentation and higher level, diagrams?)
  • Does any documentation need updating?
  • Do the database access patterns make sense?

@cla-bot cla-bot bot added the cla-signed label Nov 22, 2019
@JessicaGreben JessicaGreben marked this pull request as ready for review November 22, 2019 14:50
@JessicaGreben JessicaGreben requested a review from a team November 22, 2019 14:50
@ghost ghost removed their request for review November 22, 2019 14:50
Copy link
Contributor

@cam-a cam-a left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@JessicaGreben JessicaGreben merged commit 388f33b into master Nov 22, 2019
@JessicaGreben JessicaGreben deleted the jg/3136-add-crdb-testplanet branch November 22, 2019 19:59
bryanchriswhite added a commit that referenced this pull request Nov 25, 2019
* storj/master: (63 commits)
  web/satellite:  token payments logic (#3581)
  satellite/metainfo: reduce pointerDB access for CommitObject (#3589)
  satellite/metainfo: Fix misspelling in comment (#3636)
  argon2: choose a steady parallelism value (#3630)
  satellitedb: add support to testplanet for cockroachdb (#3634)
  satellite/console/auth: return in error handle added (#3639)
  Make sed a little more cross platformable (#3629)
  web: ms edge support bug fixed (#3638)
  web/satellite: registration/welcome message fixed, usage-report url fixed, storj-sim fixed (#3622)
  web/satellite: fonts changed to Inter (#3620)
  storagenode/updater: read identity location from storagenode's config.yaml (#3607)
  cmd/segment-reaper: Implement bitmask type (#3626)
  storagenode/gracefulexit: improve logging (#3633)
  private/testplanet: add a mock referral manager server into testplanet (#3631)
  satellite/gracefulexit: refactor concurrency (#3624)
  pkg/pb/referralmanager: update to add satellite ID to Get Tokens request (#3625)
  satellite/metainfo: improve Loop comments (#3595)
  storagenode: add bandwidth metrics (#3623)
  satellite/console: Add security headers (#3615)
  satellite/payments: token deposit accept cents (#3628)
  ...
bryanchriswhite pushed a commit to bryanchriswhite/storj that referenced this pull request Oct 29, 2020
* update migration steps, add crdb support to testplanet

* add crdb support

* have jenkins run a bares bones crdb compat test

* skip crdb tests

* skip crdb tests

* fix root_piece_id column

* write crdb store to tmp dir

* escape
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants