Skip to content
master
Switch branches/tags
Code

Latest commit

76611: roachpb: add lock table metadata structures r=AlexTalks a=AlexTalks

This change adds the protobuf structures, as well as the method, needed
to capture the state of a replica's lock table.  This is part of the
work coming out of #75541, and is needed to be able to implement the
`QueryLocks` RPC.

Release justification: (Category 2) The structures created here are
entirely new, for the purposes of observability, and do not represent a
risk to any existing code or functionality.

Release note: None


76897: release: use bazel to build release binaries r=rail,jlinder a=rickystewart

This is a pretty large swath of related changes that update the release
pipeline to use Bazel for builds.

1. Update `.bazelrc` to add a new `*base` config for each cross-config.
   The existing cross configs will continue to work as before. Each
   `*base` config has the same contents as the corresponding cross
   config EXCEPT the `--workspace_status_command` argument is missing.
2. Stamping. `build/bazelutil/stamp.sh` now takes up to 3 more
   arguments in addition to the target triple: `build-channel`,
   `build-tag`, and `build-type`. These are documented in the script and
   have appropriate defaults for development builds if not specified.
3. Refactor `pkg/release`; the new API is more high-level rather than
   allowing injecting arbitrary `gotags`, etc. In the future it won't
   be impossible to add this functionality back in if we want it.
4. Prepare to fork the `Make and Publish Build` build configuration in
   TC by moving its script into `build/teamcity` and update the script
   to use Bazel.
5. Update `bazci` to make sure it reads the Windows `geos` libraries
   from the appropriate location in `bazel-bin`.
6. Update `publish-artifacts` and `publish-provisional-artifacts` to use
   the new `pkg/release` API.

Closes #67147.
Closes #67161.
Closes #67279.
Closes #67322.

Release note (general change): Use Bazel to build release binaries
Release justification: update release process

77247: server: Allow bypass of tsdump's strict checks r=abarganier a=rimadeodhar

tsdump performs strict checks that verify that it
has data for exactly the stores it expects to see
according to the node->store mapping. It can happen
that there legitimately isn't data there, for example
when nodes are down during the tsdump window. We still
want the strict checks, but now tsdump will defer
returning an error and allow restarting with a "-"
in lieu of the tsimport file name  to display the data
anyway.

Additionally, cluster settings are set via SET CLUSTER SETTING
as opposed to overriding settings directly.

Release note (cli change): debug tsdump command allows
viewing timeseries data even in case of node failures
by rerunning the command with the import filename set
to "-".

Addresses #75993

Release justification: low risk, high benefit changes to existing functionality


77483: sql/catalog: add return error to RunPostDeserializationChanges r=ajwerner a=rafiss

Release justification: low risk enhancement to existing functionality.

Release note: None

77493: sql: make session_revival_token.enabled tenant-ro r=otan,jaylim-crl a=rafiss

I was hoping to wait for the new cluster setting syntax to be completed,
but since it's getting close to the branch cut time I'd rather merge
this now so we don't forget at the last minute.

Release justification: low risk change to new functionality.

Release note: None

Co-authored-by: Alex Sarkesian <sarkesian@cockroachlabs.com>
Co-authored-by: Ricky Stewart <ricky@cockroachlabs.com>
Co-authored-by: rimadeodhar <rima@cockroachlabs.com>
Co-authored-by: Rafi Shamim <rafi@cockroachlabs.com>
f15acd1

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Oct 21, 2021


CockroachDB is a cloud-native distributed SQL database designed to build, scale, and manage modern, data-intensive applications.

What is CockroachDB?

CockroachDB is a distributed SQL database built on a transactional and strongly-consistent key-value store. It scales horizontally; survives disk, machine, rack, and even datacenter failures with minimal latency disruption and no manual intervention; supports strongly-consistent ACID transactions; and provides a familiar SQL API for structuring, manipulating, and querying data.

For more details, see our FAQ or architecture document.

Docs

For guidance on installation, development, deployment, and administration, see our User Documentation.

Starting with CockroachCloud

We can run CockroachDB for you, so you don't have to run your own cluster.

See our online documentation: Quickstart with CockroachCloud

Starting with CockroachDB

  1. Install CockroachDB: using a pre-built executable or build it from source.
  2. Start a local cluster and connect to it via the built-in SQL client.
  3. Learn more about CockroachDB SQL.
  4. Use a PostgreSQL-compatible driver or ORM to build an app with CockroachDB.
  5. Explore core features, such as data replication, automatic rebalancing, and fault tolerance and recovery.

Client Drivers

CockroachDB supports the PostgreSQL wire protocol, so you can use any available PostgreSQL client drivers to connect from various languages.

Deployment

  • CockroachCloud - Steps to create a free CockroachCloud cluster on your preferred Cloud platform.
  • Manual - Steps to deploy a CockroachDB cluster manually on multiple machines.
  • Cloud - Guides for deploying CockroachDB on various cloud platforms.
  • Orchestration - Guides for running CockroachDB with popular open-source orchestration systems.

Need Help?

Building from source

See our wiki for more details.

Contributing

We welcome your contributions! If you're looking for issues to work on, try looking at the good first issue list. We do our best to tag issues suitable for new external contributors with that label, so it's a great way to find something you can help with!

See our wiki for more details.

Engineering discussions take place on our public mailing list, cockroach-db@googlegroups.com. Also please join our Community Slack (there's a dedicated #contributors channel!) to ask questions, discuss your ideas, and connect with other contributors.

Design

For an in-depth discussion of the CockroachDB architecture, see our Architecture Guide. For the original design motivation, see our design doc.

Licensing

Current CockroachDB code is released under a combination of two licenses, the Business Source License (BSL) and the Cockroach Community License (CCL).

When contributing to a CockroachDB feature, you can find the relevant license in the comments at the top of each file.

For more information, see the Licensing FAQs.

Comparison with Other Databases

To see how key features of CockroachDB stack up against other databases, check out CockroachDB in Comparison.

See Also