Skip to content

backupccl: change the error code for "file already exists" errors#43221

Merged
craig[bot] merged 1 commit intocockroachdb:masterfrom
andreimatei:backup.duplicate-file
Dec 17, 2019
Merged

backupccl: change the error code for "file already exists" errors#43221
craig[bot] merged 1 commit intocockroachdb:masterfrom
andreimatei:backup.duplicate-file

Conversation

@andreimatei
Copy link
Copy Markdown
Contributor

The backup code used to use a class 58 error code ("system error") for
situations where a backup target already exists - DuplicateFile. Class
58 is the wrong one, particularly since we've started using 58 errors to
represent errors about the state of the cluster (range unavailable,
dropped connections). So clients should treat 58 errors as retriable
(and for example the scaledata tests do). This patch switches to a new
code in "Class 42 - Syntax or Access Rule Violation".

It's hard to imagine that Postgres returns the 58 code for anything
related to user input.

Release note (sql change): The error code for backups which would
overwrite files changed from class 58 ("system") to class 42 ("Syntax or
Access Rule Violation").

The backup code used to use a class 58 error code ("system error") for
situations where a backup target already exists - DuplicateFile. Class
58 is the wrong one, particularly since we've started using 58 errors to
represent errors about the state of the cluster (range unavailable,
dropped connections). So clients should treat 58 errors as retriable
(and for example the scaledata tests do).  This patch switches to a new
code in "Class 42 - Syntax or Access Rule Violation".

It's hard to imagine that Postgres returns the 58 code for anything
related to user input.

Release note (sql change): The error code for backups which would
overwrite files changed from class 58 ("system") to class 42 ("Syntax or
Access Rule Violation").
@andreimatei andreimatei requested review from dt, knz and nvb December 17, 2019 00:17
@cockroach-teamcity
Copy link
Copy Markdown
Member

This change is Reviewable

Copy link
Copy Markdown
Contributor

@nvb nvb left a comment

Choose a reason for hiding this comment

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

LGTM, but @dt should sign off as well.

Copy link
Copy Markdown
Contributor

@knz knz left a comment

Choose a reason for hiding this comment

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

:lgtm:

Reviewed 2 of 2 files at r1.
Reviewable status: :shipit: complete! 1 of 0 LGTMs obtained

Copy link
Copy Markdown
Contributor Author

@andreimatei andreimatei left a comment

Choose a reason for hiding this comment

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

bors r+

Reviewable status: :shipit: complete! 1 of 0 LGTMs obtained

craig bot pushed a commit that referenced this pull request Dec 17, 2019
43023: sql: acceptance test and test cleanup for TimeTZ r=otan a=otan

Resolves #26097.

This PR completes the TimeTZ saga!

* Added Java unit tests
* Removed some tests from the test whitelist
* Added postgres regress suite.

Fix parse error to use New instead of Wrap, as the Wrap actually
confuses the error message more.

Release note (sql change): This PR (along with a string of past PRs)
allows the usage of TimeTZ throughout cockroach.

43208: blobs: Reduce file size of benchmark tests r=g3orgia a=g3orgia

As titled.

Release note: None

43221: backupccl: change the error code for "file already exists" errors r=andreimatei a=andreimatei

The backup code used to use a class 58 error code ("system error") for
situations where a backup target already exists - DuplicateFile. Class
58 is the wrong one, particularly since we've started using 58 errors to
represent errors about the state of the cluster (range unavailable,
dropped connections). So clients should treat 58 errors as retriable
(and for example the scaledata tests do).  This patch switches to a new
code in "Class 42 - Syntax or Access Rule Violation".

It's hard to imagine that Postgres returns the 58 code for anything
related to user input.

Release note (sql change): The error code for backups which would
overwrite files changed from class 58 ("system") to class 42 ("Syntax or
Access Rule Violation").

43240: storage/engine: small logging fixes r=petermattis a=petermattis

Change `Pebble.GetCompactionStats` to be prefixed with a newline to
match the formatting of RocksDB. This ensures that the compaction stats
display will not contain the log prefix which was misaligning the table
header.

Adding a missing sort to `Pebble.GetSSTables`. This was causing the
sstable summary log message to be much busier than for RocksDB because
`SSTableInfos.String` expects the infos to be sorted.

Move the formatting of `estimated_pending_compaction_bytes: x` into
`RocksDB.GetCompactionStats`. The Pebble compaction stats already
included this and it is useful to see the estimated pending compaction
bytes whenever the compaction stats are output.

Release note: None

Co-authored-by: Oliver Tan <otan@cockroachlabs.com>
Co-authored-by: Georgia Hong <georgiah@cockroachlabs.com>
Co-authored-by: Andrei Matei <andrei@cockroachlabs.com>
Co-authored-by: Peter Mattis <petermattis@gmail.com>
@craig
Copy link
Copy Markdown
Contributor

craig bot commented Dec 17, 2019

Build succeeded

@craig craig bot merged commit 431d18d into cockroachdb:master Dec 17, 2019
@andreimatei andreimatei deleted the backup.duplicate-file branch January 7, 2020 21:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants