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

[YSQL] Support non-transactional COPY #1926

Closed
JDNdeveloper opened this issue Jul 29, 2019 · 0 comments
Closed

[YSQL] Support non-transactional COPY #1926

JDNdeveloper opened this issue Jul 29, 2019 · 0 comments
Assignees
Labels
area/ysql Yugabyte SQL (YSQL)

Comments

@JDNdeveloper
Copy link
Contributor

JDNdeveloper commented Jul 29, 2019

The current YSQL COPY preserves the Postgres semantics by wrapping all of the inserts in a single large transaction. There are a few outstanding issues with large-write distributed transactions in YB (#1875 #1923), so it may be better to introduce a non-transactional variant of COPY for use when it is not imperative to provide isolation/atomicity (e.g. when loading DB for first time before workloads are run on it).

@JDNdeveloper JDNdeveloper added the area/ysql Yugabyte SQL (YSQL) label Jul 29, 2019
@JDNdeveloper JDNdeveloper self-assigned this Jul 29, 2019
JDNdeveloper added a commit that referenced this issue Sep 11, 2019
Summary: This diff adds support for non-transactional COPY. It can be enabled using `--tserver_flags "ysql_non_txn_copy=true"`.

Test Plan:
Manual verification:
- Through logging verified we followed non-txn insert path when GFLAG was true and followed txn insert path when GFLAG was false.
- Verified that when performing COPY count_intents was 0 when GFLAG was true, and was non-zero when GFLAG was false.

Reviewers: mihnea, neha

Reviewed By: neha

Subscribers: yql

Differential Revision: https://phabricator.dev.yugabyte.com/D7185
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/ysql Yugabyte SQL (YSQL)
Projects
None yet
Development

No branches or pull requests

1 participant