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

21.1 Known Limitations #10568

Merged
merged 4 commits into from
May 17, 2021
Merged

21.1 Known Limitations #10568

merged 4 commits into from
May 17, 2021

Conversation

ericharmeling
Copy link
Contributor

@ericharmeling ericharmeling commented May 13, 2021

Fixes #9396.
Fixes #7524.
Fixes #7188.
Fixes #8955.
Fixes #10346.

Related to cockroachdb/cockroach#59649.
Related to cockroachdb/cockroach#56492.

@cockroach-teamcity
Copy link
Member

This change is Reviewable

@github-actions
Copy link

Files changed:

cockroachcloud/stream-changefeed-to-snowflake-aws.md
v20.1/bytes.md
v20.1/known-limitations.md
v20.2/bytes.md
v20.2/known-limitations.md
v20.2/postgresql-compatibility.md
v21.1/bytes.md
v21.1/common-table-expressions.md
v21.1/known-limitations.md
v21.1/postgresql-compatibility.md

@netlify
Copy link

netlify bot commented May 14, 2021

Netlify Preview

Built with commit b60cb6e

https://deploy-preview-10568--cockroachdb-docs.netlify.app

@ericharmeling ericharmeling requested review from otan, bdarnell and rytaft May 14, 2021 16:13
@@ -386,6 +443,10 @@ When inserting/updating all columns of a table, and the table has no secondary i

This issue is particularly relevant when using a simple SQL table of two columns to [simulate direct KV access](sql-faqs.html#can-i-use-cockroachdb-as-a-key-value-store). In this case, be sure to use the `UPSERT` statement.

### Size limits on statement input from SQL clients
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@@ -130,34 +285,11 @@ CockroachDB supports efficiently storing and querying [spatial data](spatial-dat

[Tracking GitHub Issue](https://github.com/cockroachdb/cockroach/issues/55227)

### Collation names that include upper-case or hyphens may cause errors
- CockroachDB does not support using [schema name prefixes](sql-name-resolution.html#how-name-resolution-works) to refer to [data types](data-types.html) with type modifiers (e.g., `public.geometry(linestring, 4326)`). Instead, use fully-unqualified names to refer to data types with type modifiers (e.g., `geometry(linestring,4326)`).
Copy link
Contributor Author

Choose a reason for hiding this comment

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

## New limitations

### CockroachDB does not properly optimize some left and inverted joins with inverted indexes

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Contributor

Choose a reason for hiding this comment

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

just a couple of nits, otherwise LGTM - thanks!

@@ -30,6 +30,10 @@ is otherwise expected.

The size of a `BYTES` value is variable, but it's recommended to keep values under 1 MB to ensure performance. Above that threshold, [write amplification](https://en.wikipedia.org/wiki/Write_amplification) and other considerations may cause significant performance degradation.

{{site.data.alerts.callout_success}}
If your application requires large binary input in single queries, you can store the blobs somewhere your client can access them (using a cloud storage service, for example), and then reference their addresses from a statement.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

@ericharmeling
Copy link
Contributor Author

Adding relevant engineers to review specific limitations. Thank you!

@ericharmeling ericharmeling requested a review from jseldess May 14, 2021 22:01
## New limitations

### CockroachDB does not properly optimize some left and inverted joins with inverted indexes

Copy link
Contributor

Choose a reason for hiding this comment

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

just a couple of nits, otherwise LGTM - thanks!


### CockroachDB does not properly optimize some left and inverted joins with inverted indexes

[Left joins](joins.html#left-outer-joins) and [inverted joins](joins.html#inverted-joins) involving [`JSONB`](jsonb.html), [`ARRAY`](array.html), or [spatial-typed](spatial-data.html) columns with a multi-column or [partitioned](partition-by.html) [inverted index](inverted-indexes.html) will not take advantage of the index if the prefix columns of the index are unconstrained, or if they are constrained to multiple, constant values.
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: this should say left joins and anti joins (it's true the relevant algorithm is inverted join, but the limitation is only for left and anti joins, not inner or semi joins).


[Left joins](joins.html#left-outer-joins) and [inverted joins](joins.html#inverted-joins) involving [`JSONB`](jsonb.html), [`ARRAY`](array.html), or [spatial-typed](spatial-data.html) columns with a multi-column or [partitioned](partition-by.html) [inverted index](inverted-indexes.html) will not take advantage of the index if the prefix columns of the index are unconstrained, or if they are constrained to multiple, constant values.

To work around this limitation, make sure that the prefix columns of the index are either constrained to single constant values, or are the same as the input columns.
Copy link
Contributor

Choose a reason for hiding this comment

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

nit: "the same as input columns" is misleading -- I think this should be referring to equality conditions. If the prefix columns are not held constant, they should be part of equality conditions (e.g., col1 = col2), where col1 is a prefix column and col2 is an input column.

Copy link
Contributor

@jseldess jseldess left a comment

Choose a reason for hiding this comment

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

:lgtm:, after addressing feedback form others.

@ericharmeling, please make sure that any corresponding cockroach GH issues have the docs-done label added. That gives us a quick way to know that a known limitations has been documented.

Reviewable status: :shipit: complete! 1 of 0 LGTMs obtained (waiting on @bdarnell, @ericharmeling, and @otan)


v20.1/known-limitations.md, line 485 at r2 (raw file):

This issue is particularly relevant when using a simple SQL table of two columns to [simulate direct KV access](sql-faqs.html#can-i-use-cockroachdb-as-a-key-value-store). In this case, be sure to use the `UPSERT` statement.

### Size limits on statement input from SQL clients

Do we have a GH issue to link to here, or is this something we don't plan to fix/change over time?

Also, add final period.


v20.2/known-limitations.md, line 352 at r2 (raw file):

This issue is particularly relevant when using a simple SQL table of two columns to [simulate direct KV access](sql-faqs.html#can-i-use-cockroachdb-as-a-key-value-store). In this case, be sure to use the `UPSERT` statement.

### Size limits on statement input from SQL clients

Same as before: Do we have a GH issue to link to here, or is this something we don't plan to fix/change over time?.

Also, add final period.


v21.1/bytes.md, line 34 at r2 (raw file):

Previously, ericharmeling (Eric Harmeling) wrote…

@bdarnell

Same as above.

Copy link
Contributor

@otan otan left a comment

Choose a reason for hiding this comment

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

Reviewable status: :shipit: complete! 1 of 0 LGTMs obtained (waiting on @bdarnell and @ericharmeling)


v21.1/known-limitations.md, line 288 at r2 (raw file):

Previously, ericharmeling (Eric Harmeling) wrote…

@otan

This should be the case for 20.2 as well.

@github-actions
Copy link

Files changed:

cockroachcloud/stream-changefeed-to-snowflake-aws.md
v20.1/bytes.md
v20.1/known-limitations.md
v20.2/bytes.md
v20.2/known-limitations.md
v20.2/postgresql-compatibility.md
v21.1/bytes.md
v21.1/common-table-expressions.md
v21.1/known-limitations.md
v21.1/postgresql-compatibility.md

Copy link
Contributor Author

@ericharmeling ericharmeling left a comment

Choose a reason for hiding this comment

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

TFTR @jseldess, @rytaft, @otan!

I believe I've addressed everyone's comments.

@jseldess I added those docs-done labels, now that this is approved.

Reviewable status: :shipit: complete! 0 of 0 LGTMs obtained (and 1 stale) (waiting on @bdarnell and @jseldess)


v20.1/known-limitations.md, line 485 at r2 (raw file):

Do we have a GH issue to link to here, or is this something we don't plan to fix/change over time?

I don't believe that there is a GitHub issue to resolve this specific limitation.

A quote from this thread:

"... the 16 MiB limit is in our implementation of the postgres network protocol. it's a magic number we could change, but we've mainly discussed that in the context of lowering it, not raising it. "

So it appears that any changes made would lower that hard limit (making the limitation more restrictive), but not remove it.

Also, add final period.

Done.


v20.2/known-limitations.md, line 352 at r2 (raw file):

Do we have a GH issue to link to here, or is this something we don't plan to fix/change over time?

See my comment above.

Also, add final period.

Done.


v21.1/bytes.md, line 34 at r2 (raw file):

Previously, jseldess (Jesse Seldess) wrote…

Same as above.

This is a tip from that same thread about size limits on SQL statement input.

I discussed with Ben here, and I agree with his suggestion to make this tip an extension of the size recommendations on this particular type, rather than overcomplicate the stated limitation on SQL input size.


v21.1/known-limitations.md, line 13 at r2 (raw file):

Previously, rytaft (Rebecca Taft) wrote…

nit: this should say left joins and anti joins (it's true the relevant algorithm is inverted join, but the limitation is only for left and anti joins, not inner or semi joins).

Done.


v21.1/known-limitations.md, line 15 at r2 (raw file):

Previously, rytaft (Rebecca Taft) wrote…

nit: "the same as input columns" is misleading -- I think this should be referring to equality conditions. If the prefix columns are not held constant, they should be part of equality conditions (e.g., col1 = col2), where col1 is a prefix column and col2 is an input column.

Done.


v21.1/known-limitations.md, line 288 at r2 (raw file):

Previously, otan (Oliver Tan) wrote…

This should be the case for 20.2 as well.

Done.

Copy link
Contributor

@rytaft rytaft left a comment

Choose a reason for hiding this comment

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

Reviewed 1 of 3 files at r3.
Reviewable status: :shipit: complete! 0 of 0 LGTMs obtained (and 1 stale) (waiting on @bdarnell, @ericharmeling, and @jseldess)


v21.1/known-limitations.md, line 613 at r3 (raw file):

### Inverted indexes cannot be partitioned

CockroachDB does not support partitioning inverted indexes, including [spatial indexes](spatial-indexes.html).

This is no longer a limitation. 21.1 supports partitioning of inverted indexes.

Copy link
Contributor Author

@ericharmeling ericharmeling left a comment

Choose a reason for hiding this comment

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

Reviewable status: :shipit: complete! 0 of 0 LGTMs obtained (and 1 stale) (waiting on @bdarnell, @jseldess, and @rytaft)


v21.1/known-limitations.md, line 613 at r3 (raw file):

Previously, rytaft (Rebecca Taft) wrote…

This is no longer a limitation. 21.1 supports partitioning of inverted indexes.

Good catch!

Removed.

@github-actions
Copy link

Files changed:

cockroachcloud/stream-changefeed-to-snowflake-aws.md
v20.1/bytes.md
v20.1/known-limitations.md
v20.2/bytes.md
v20.2/known-limitations.md
v20.2/postgresql-compatibility.md
v21.1/bytes.md
v21.1/common-table-expressions.md
v21.1/known-limitations.md
v21.1/postgresql-compatibility.md

@ericharmeling
Copy link
Contributor Author

Merging so this can go out with the GA 21.1 release notes - @bdarnell, feel free to leave feedback after the merge if you'd like to. I'm happy to make updates as-needed.

@ericharmeling ericharmeling merged commit 34da877 into master May 17, 2021
@ericharmeling ericharmeling deleted the 211-known-limitations branch July 28, 2021 18:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
5 participants