Skip to content

Commit

Permalink
[pg15] merge: master commit dd5e8fc into pg15
Browse files Browse the repository at this point in the history
Summary:
Merge master commit dd5e8fc titled,
    [#24231] DocDB: Add 2024.2.0.0-b20 to basic upgrade tests
and committed 2024-10-03T16:24:33-07:00 into pg15

* nodeLockRows.c
    * ExecLockRows
        * YB master ca7f463 replaced a chunk of code under an `if(true)` statement with `YBCHandleConflictError(erm->relation, erm->waitPolicy)`
        * YB pg15 04e31cf changed the `if(true)` to `if (IsYBBackedRelation(erm->relation))`
        * Resolution: use the condition of pg15 and the body of YB master

* upgrade_test_base.h
    * Bottom of file
        * YB master commit dd5e8fc adds constant string kBuild_2024_2_0_0 and removes classes TestUpgradeFrom_2_20_2_4 and TestUpgradeFrom_2024_1_0_1.
        * pg15-upgrade commit 6623c35 (merged in YB pg15 8ac3e00) removed the same lines removed in the master commit, removing an extra newline, without adding the constant.
        * Resolution: add the new constant, take shared removal, keep the newline.

Test Plan: Jenkins: urgent

Reviewers: fizaa, telgersma

Reviewed By: fizaa

Subscribers: smishra, ybase, yql

Differential Revision: https://phorge.dev.yugabyte.com/D38698
  • Loading branch information
foucher committed Oct 4, 2024
2 parents 8bcdb98 + f6ff6cb commit aba2c96
Show file tree
Hide file tree
Showing 425 changed files with 3,237 additions and 2,334 deletions.
1 change: 1 addition & 0 deletions .arclint
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"([.]txt$)",
"(^src/odyssey/.*$)",
"(^src/postgres/.*$)",
"(^src/yb/integration-tests/upgrade-tests/builds.xml$)",
"(^[.]gitmodules$)",
"(^managed/src/main/resources/alert/alert_templates[.]yml$)",
"(^managed/src/main/resources/alert/.*[.]template$)",
Expand Down
2 changes: 1 addition & 1 deletion docs/assets/scss/_code_block.scss
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ main {
border: 1px solid #d7dee4;
border-radius: 4px;
color: $yb-font-gray;
padding: 3 6px;
padding: 3px 6px;
}

p > a {
Expand Down
1 change: 0 additions & 1 deletion docs/assets/scss/_styles_project.scss
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
@import "./_contribute_list.scss";
@import "./_admonition.scss";
@import "./_code_block.scss";
@import "./_yb_badge.scss";
@import "./_yb_pills.scss";
@import "./_yb_tabs.scss";
@import "./_tables.scss";
Expand Down
58 changes: 0 additions & 58 deletions docs/assets/scss/_yb_badge.scss

This file was deleted.

87 changes: 70 additions & 17 deletions docs/assets/scss/_yb_tags.scss
Original file line number Diff line number Diff line change
@@ -1,30 +1,83 @@
.metadata-tag-green,
.metadata-tag-gray {
.td-content {
h1 > .tag{
margin: 0 10px;
}
.tag {
display: inline-flex;
padding: 4px 6px;
font-size: 11.5px;
font-weight: 500;
line-height: 16px;
text-transform: uppercase;
vertical-align: middle;
border-radius: 6px;
text-decoration: none;
background: #E8E9FE;
color: #4F4FA4;
justify-content: center;
align-items: center;
position: relative;
top: -2px;


&.early-access {
background: #E8E9FE;
color: #4F4FA4;
}

&.tech-preview {
background: #ffeec8;
color: #9D6C00;
}

&.general-availability {
background: #CDEFE1;
color: #097345;
}


&.ysql {
background: #CBCCFB;
color: #30307F;
}

&.ycql {
background: #E5EDFF;
color: #2B59C3;
}
&:hover{
text-decoration: none !important ;
}
}
}

.tag.release {
font-weight: 500;
font-size: 10px;
line-height: 16px;
text-transform: uppercase;
height: 20px;
color: #4e5f6d;
background: #e9eef2;
color: #9D6C00;
display: inline-block;
background: #FFEEC8;
border-radius: 4px;
padding: 4px 6px;
padding: 2px 6px;
margin: 0 6px;
border: 0 !important;
}

.metadata-tag-green {
background: #cdefe1;
}
&.preview {
background: #FFEEC8;
color: #9D6C00;
}

a > {
.metadata-tag-green,
.metadata-tag-gray {
text-decoration: underline;
text-decoration-color: #e9eef2;
&.sts {
background: #CDEFE1;
color: #097345;
}

.metadata-tag-green {
text-decoration-color: #cdefe1;
}
&.lts {
background: #CDEFE1;
color: #097345;
}
}

16 changes: 12 additions & 4 deletions docs/content/preview/admin/yb-admin.md
Original file line number Diff line number Diff line change
Expand Up @@ -1133,18 +1133,26 @@ yb-admin create_snapshot_schedule \
* *retention-time*: The number of minutes to keep a snapshot before deleting it.
* *filter-expression*: The set of objects to include in the snapshot.

The filter expression is a list of acceptable objects, which can be either raw tables, or keyspaces (YCQL) or databases (YSQL). For proper consistency guarantees, **it is recommended to set this up on a per-keyspace (YCQL) or per-database (YSQL) level**.
The filter expression is a list of acceptable objects, which can be either raw tables, keyspaces (YCQL) in the format `keyspace_name`, or databases (YSQL) in the format `ysql.database_name`. For proper consistency guarantees, set this up _per-keyspace_ (YCQL) or _per-database_ (YSQL).

**Example**

Take a snapshot of the `ysql.yugabyte` database once per minute, and retain each snapshot for 10 minutes:
Take a snapshot of the YSQL database `yugabyte` once per minute, and retain each snapshot for 10 minutes:

```sh
./bin/yb-admin \
-master_addresses ip1:7100,ip2:7100,ip3:7100 \
create_snapshot_schedule 1 10 ysql.yugabyte
```

The equivalent command for the YCQL keyspace `yugabyte` would be the following:

```sh
./bin/yb-admin \
-master_addresses ip1:7100,ip2:7100,ip3:7100 \
create_snapshot_schedule 1 10 yugabyte
```

```output.json
{
"schedule_id": "6eaaa4fb-397f-41e2-a8fe-a93e0c9f5256"
Expand Down Expand Up @@ -1370,7 +1378,7 @@ Having all tablet leaders reside in a single region reduces the number of networ

* Tablespaces don't inherit cluster-level placement information, leader preference, or read replica configurations.

* If the client application uses a smart driver, set the [topology keys](../../drivers-orms/smart-drivers/#topology-aware-connection-load-balancing) to target the preferred zones.
* If the client application uses a smart driver, set the [topology keys](../../drivers-orms/smart-drivers/#topology-aware-load-balancing) to target the preferred zones.

{{< /note >}}

Expand Down Expand Up @@ -1702,7 +1710,7 @@ For example:
##### Creating a stream for Transactional CDC
Create a change data capture (CDC) DB stream for the specified namespace that can be used for Transactional CDC using the following command.
This feature is {{<badge/tp>}}. Use the [yb_enable_cdc_consistent_snapshot_streams](../../reference/configuration/yb-tserver/#yb-enable-cdc-consistent-snapshot-streams) flag to enable the feature.
This feature is {{<tags/feature/tp>}}. Use the [yb_enable_cdc_consistent_snapshot_streams](../../reference/configuration/yb-tserver/#yb-enable-cdc-consistent-snapshot-streams) flag to enable the feature.
**Syntax**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ title: ANALYZE statement [YSQL]
headerTitle: ANALYZE
linkTitle: ANALYZE
description: Collect statistics about database tables with the ANALYZE statement.
badges: tp
tags:
feature: tech-preview
menu:
preview:
identifier: cmd_analyze
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Add optional keyword — has no effect.
### *transaction_mode*
Supports isolation level, read write, and deferrable modes using the transaction mode syntax of `ISOLATION LEVEL`, `READ ONLY`, `READ WRITE`, and `[NOT] DEFERRABLE`.

For isolation level, you can specify Serializable, Snapshot, and Read Committed {{<badge/ea>}} Isolation using the PostgreSQL isolation level syntax of `SERIALIZABLE`, `REPEATABLE READ`, and `READ COMMITTED` respectively. PostgreSQL's `READ UNCOMMITTED` also maps to Read Committed Isolation.
For isolation level, you can specify Serializable, Snapshot, and Read Committed {{<tags/feature/ea>}} Isolation using the PostgreSQL isolation level syntax of `SERIALIZABLE`, `REPEATABLE READ`, and `READ COMMITTED` respectively. PostgreSQL's `READ UNCOMMITTED` also maps to Read Committed Isolation.

Read Committed Isolation is supported only if the YB-TServer flag `yb_enable_read_committed_isolation` is set to `true`. By default this flag is `false` and in this case the Read Committed isolation level of YugabyteDB's transactional layer falls back to the stricter Snapshot Isolation (in which case `READ COMMITTED` and `READ UNCOMMITTED` of YSQL also in turn use Snapshot Isolation).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Use the `SET TRANSACTION` statement to set the current transaction isolation lev

## Semantics

Supports Serializable, Snapshot, and Read Committed {{<badge/ea>}} Isolation using the PostgreSQL isolation level syntax of `SERIALIZABLE`, `REPEATABLE READ`, and `READ COMMITTED` respectively. PostgreSQL's `READ UNCOMMITTED` also maps to Read Committed Isolation.
Supports Serializable, Snapshot, and Read Committed {{<tags/feature/ea>}} Isolation using the PostgreSQL isolation level syntax of `SERIALIZABLE`, `REPEATABLE READ`, and `READ COMMITTED` respectively. PostgreSQL's `READ UNCOMMITTED` also maps to Read Committed Isolation.

Read Committed Isolation is supported only if the YB-TServer flag `yb_enable_read_committed_isolation` is set to `true`. By default this flag is `false` and in this case the Read Committed isolation level of YugabyteDB's transactional layer falls back to the stricter Snapshot Isolation (in which case `READ COMMITTED` and `READ UNCOMMITTED` of YSQL also in turn use Snapshot Isolation).

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Use the `SHOW TRANSACTION ISOLATION LEVEL` statement to show the current transac

## Semantics

Supports Serializable, Snapshot, and Read Committed {{<badge/ea>}} Isolation using the PostgreSQL isolation level syntax of `SERIALIZABLE`, `REPEATABLE READ`, and `READ COMMITTED` respectively. PostgreSQL's `READ UNCOMMITTED` also maps to Read Committed Isolation.
Supports Serializable, Snapshot, and Read Committed {{<tags/feature/ea>}} Isolation using the PostgreSQL isolation level syntax of `SERIALIZABLE`, `REPEATABLE READ`, and `READ COMMITTED` respectively. PostgreSQL's `READ UNCOMMITTED` also maps to Read Committed Isolation.

Read Committed Isolation is supported only if the YB-TServer flag `yb_enable_read_committed_isolation` is set to `true`. By default this flag is `false` and in this case the Read Committed isolation level of YugabyteDB's transactional layer falls back to the stricter Snapshot Isolation (in which case `READ COMMITTED` and `READ UNCOMMITTED` of YSQL also in turn use Snapshot Isolation).

Expand Down
4 changes: 2 additions & 2 deletions docs/content/preview/architecture/design-goals.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ YugabyteDB supports single-row linearizable writes. Linearizability is one of th

YugabyteDB supports multi-row transactions with three isolation levels: Serializable, Snapshot (also known as repeatable read), and Read Committed isolation.

- The [YSQL API](../../api/ysql/) supports Serializable, Snapshot (default), and Read Committed isolation {{<badge/ea>}} using the PostgreSQL isolation level syntax of `SERIALIZABLE`, `REPEATABLE READ`, and `READ COMMITTED` respectively. For more details, see [Isolation levels](#transaction-isolation-levels).
- The [YSQL API](../../api/ysql/) supports Serializable, Snapshot (default), and Read Committed isolation {{<tags/feature/ea>}} using the PostgreSQL isolation level syntax of `SERIALIZABLE`, `REPEATABLE READ`, and `READ COMMITTED` respectively. For more details, see [Isolation levels](#transaction-isolation-levels).
- The [YCQL API](../../api/ycql/) supports only Snapshot isolation (default) using the [BEGIN TRANSACTION](../../api/ycql/dml_transaction/) syntax.

## Partition Tolerance - CAP
Expand Down Expand Up @@ -84,7 +84,7 @@ Depending on the use case, the database may need to support diverse workloads, s

Transaction isolation is foundational to handling concurrent transactions in databases. YugabyteDB supports three strict transaction isolation levels in [YSQL](../../api/ysql/).

- [Read Committed](../transactions/read-committed/) {{<badge/ea>}}, which maps to the SQL isolation level of the same name
- [Read Committed](../transactions/read-committed/) {{<tags/feature/ea>}}, which maps to the SQL isolation level of the same name
- [Serializable](../../explore/transactions/isolation-levels/#serializable-isolation), which maps to the SQL isolation level of the same name
- [Snapshot](../../explore/transactions/isolation-levels/#snapshot-isolation), which maps to the SQL Repeatable Read isolation level

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ headerTitle: CDC using PostgreSQL protocol
linkTitle: CDC using PostgreSQL protocol
description: Learn how YugabyteDB supports asynchronous replication of data changes (inserts, updates, and deletes) to external databases or applications.
headContent: Asynchronous replication of data changes (inserts, updates, and deletes) to external databases or applications
badges: ea
tags:
feature: early-access
aliases:
- /preview/explore/logical-replication/
menu:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ headerTitle: CDC using gRPC protocol
linkTitle: CDC using gRPC protocol
description: Learn how YugabyteDB supports asynchronous replication of data changes (inserts, updates, and deletes) to external databases or applications.
headContent: Asynchronous replication of data changes (inserts, updates, and deletes) to external databases or applications
badges: ea
tags:
feature: early-access
aliases:
- /preview/architecture/change-data-capture/
menu:
Expand Down
4 changes: 2 additions & 2 deletions docs/content/preview/architecture/docdb/packed-rows.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ type: docs

Originally DocDB used to store individual column data of a row as multiple key-value pairs. Although this has advantages when single columns are looked up, it also meant multiple lookups for multiple columns and also led to increase in storage space. To overcome this, DocDB uses Packed rows, which means that an entire row is stored as a single key-value pair.

The packed row format for the YSQL API is {{<badge/ga>}} as of v2.20.0, and for the YCQL API is {{<badge/tp>}}.
The packed row format for the YSQL API is {{<tags/feature/ga>}} as of v2.20.0, and for the YCQL API is {{<tags/feature/tp>}}.

## Overview

Expand Down Expand Up @@ -62,4 +62,4 @@ The packed row feature for the YSQL API works across all features, including bac

* {{<issue 21131>}} Packed row is enabled by default for YSQL in universes created in v2.20.0 and later. However, if you upgrade a universe to v2.20 from an earlier version, packed row for YSQL is not automatically enabled. This is due to a known limitation with xCluster universes, where the target universe might not be able to interpret the packed row unless it is upgraded first.

The packed row feature for the YCQL API is {{<badge/tp>}}. There are no known limitations.
The packed row feature for the YCQL API is {{<tags/feature/tp>}}. There are no known limitations.
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ Transaction isolation is foundational to handling concurrent transactions in dat

YugabyteDB supports the following three strictest transaction isolation levels:

1. Read Committed {{<badge/ea>}}, which maps to the SQL isolation level of the same name. This isolation level guarantees that each statement sees all data that has been committed before it is issued (this implicitly also means that the statement sees a consistent snapshot). In addition, this isolation level internally handles read restart and conflict errors. In other words, the client does not see read restart and conflict errors (barring an exception).
1. Read Committed {{<tags/feature/ea>}}, which maps to the SQL isolation level of the same name. This isolation level guarantees that each statement sees all data that has been committed before it is issued (this implicitly also means that the statement sees a consistent snapshot). In addition, this isolation level internally handles read restart and conflict errors. In other words, the client does not see read restart and conflict errors (barring an exception).
2. Serializable, which maps to the SQL isolation level of the same name. This isolation level guarantees that transactions run in a way equivalent to a serial (sequential) schedule.
3. Snapshot, which maps to the SQL Repeatable Read isolation level. This isolation level guarantees that all reads made in a transaction see a consistent snapshot of the database, and the transaction itself can successfully commit only if no updates it has made conflict with any concurrent updates made by transactions that committed after that snapshot.

Transaction isolation level support differs between the YSQL and YCQL APIs:

- [YSQL](../../../api/ysql/) supports Serializable, Snapshot, and Read Committed {{<badge/ea>}} isolation levels.
- [YSQL](../../../api/ysql/) supports Serializable, Snapshot, and Read Committed {{<tags/feature/ea>}} isolation levels.
- [YCQL](../../../api/ycql/dml_transaction/) supports only Snapshot isolation using the `BEGIN TRANSACTION` syntax.

Similarly to PostgreSQL, you can specify Read Uncommitted for YSQL, but it behaves the same as Read Committed.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ title: Read Committed isolation level
headerTitle: Read Committed isolation level
linkTitle: Read Committed
description: Details about the Read Committed isolation level
badges: ea
tags:
feature: early-access
menu:
preview:
identifier: architecture-read-committed
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ menu:
parent: async-replication
identifier: async-replication-transactional
weight: 20
badges: ysql
tags:
other: ysql
type: docs
---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ menu:
parent: async-replication-transactional
identifier: async-transactional-failover
weight: 30
badges: ysql
tags:
other: ysql
type: docs
---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ menu:
parent: async-replication-transactional
identifier: async-transactional-setup-1-db
weight: 10
badges: ysql
tags:
other: ysql
type: docs
---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ menu:
parent: async-replication-transactional
identifier: async-transactional-setup-2-manual
weight: 10
badges: ysql
tags:
other: ysql
type: docs
---

Expand Down
Loading

0 comments on commit aba2c96

Please sign in to comment.