Skip to content
master
Switch branches/tags
Code

Latest commit

75970: backup: use separate incremental directory by default r=benbardin a=benbardin

backup: use separate incremental directory by default

Previously support was added to optionally cause interactions with a backup to search for its incremental layers in an alternative path.

This change expands that behavior, adding a default path for incremental layers to interactions with backups in a collection. This new default is the '/incrementals' subdirectory of the collection root. This default may be overridden by the prevoiusly-added incremental_storage parameter. This default means that an operator can easily apply different policies to incremental backups retroactively. This behavior also provides an alternative to passing matching incremental_storage parameters to every interaction with those backups, which improves usability.

During the upgrade, when interacting with existing backups, this behavior remains disabled.
After the upgrade, if an existing chain of incremental backups exists in the old default collection, this behavior also remains disabled.
Also after the upgrade, if no such chain exists, or the chain exists in the new default location, the new behavior will be enabled.

Release note (enterprise change): Incremental backups created by BACKUP TO LATEST IN are now stored by default under the path 'incrementals' within the backup collection, rather than under each backup's path. This enables easier management of cloud-storage provider policies specifically applied to incremental backups.

Release justification: This feature is very well-tested, and the code refactoring makes it more verifiably correct.

77571:  ui: Fix Reset SQL stats in Statements and Transactions pages  r=jocrl a=jocrl

Fixes #77546

Previously, the "Reset SQL stats" button on Statements and Transactions pages
was broken in different ways in DB Console and CC Console.

In DB Console, clicking the "Reset SQL stats" button on Statements or
Transactions pages causes the loading spinner to spin infinitely, and the table
does not reload. The stats are indeed reset in the backend, and so this can be
fixed by manually refreshing the page.

In CC Console, clicking the "Reset SQL stats" button on Statements or
Transactions pages causes the stats to correctly reset in the backend, and the
table to correctly reload. However, the table is reloaded without respecting
the currently selected time.

Both were ultimately caused because clicking the button did not pass a request
object specifying the currently selected start and end times. The bug
manifested differently in the two environments because of differing
implementations of their sagas.

Now, this has been fixed and the "Reset SQL stats" button works correctly. In DB
Console, the `requestSQLStatsSaga` saga previously called one of two API
functions, `getCombinedStatements` and `getStatements`, depending on whether a
request object was passed. We do not have a situation where we do not want to
pass the start and end times, so the `getStatements` path which did not take a
request object has been removed. Were possible, typing has been made stricter
to require the request object.

The change in `rangeSelector.module.scss` fixes a bug where equally specific CSS
selectors competed and won out differently depending on quirks of compilation.
The unrelated Javascript changes in this PR thus caused the height of
`timeScaleDropdown` to break, necessitating the changes in
`rangeSelector.module.scss`. To be clear, the height was not broken before this
commit; it was caused by the Javascript changes in this commit.

Release note (ui): Fixed a bug where the clicking the "Reset SQL stats" button
on Statements and Transactions pages caused, in DB Console, an infinite loading
spinner and, in CC Console, the statements/transactions table to be reloaded
without limiting to the time range that the user had selected. The button now
correctly reloads the table according to the selected time in both DB Console
and CC Console.

Release justification: Category 2, UI bug fix

Co-authored-by: Ben Bardin <bardin@cockroachlabs.com>
Co-authored-by: Josephine Lee <josephine@cockroachlabs.com>
270eb7b

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
pkg
Mar 12, 2022
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