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

Better superuser handling for move_chunk #4469

Merged
merged 1 commit into from
Jun 27, 2022
Merged

Better superuser handling for move_chunk #4469

merged 1 commit into from
Jun 27, 2022

Conversation

nikkhils
Copy link
Contributor

The current code was assuming the bootstrap superuser for the actual
move chunk operation. However, we can make it further flexible by using
the logged in credentials if those happen to have superuser privileges.

@nikkhils nikkhils requested a review from a team as a code owner June 24, 2022 07:52
@nikkhils nikkhils requested review from akuzm and mfundul and removed request for a team June 24, 2022 07:52
@nikkhils nikkhils force-pushed the ts/move-super branch 3 times, most recently from 57da44a to 6e4a254 Compare June 24, 2022 10:32
@codecov
Copy link

codecov bot commented Jun 24, 2022

Codecov Report

Merging #4469 (a67b99e) into main (0b76a8e) will decrease coverage by 0.02%.
The diff coverage is 92.85%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #4469      +/-   ##
==========================================
- Coverage   90.79%   90.76%   -0.03%     
==========================================
  Files         221      221              
  Lines       41003    41006       +3     
==========================================
- Hits        37228    37219       -9     
- Misses       3775     3787      +12     
Impacted Files Coverage Δ
tsl/src/chunk_copy.c 93.40% <92.85%> (+0.50%) ⬆️
src/bgw/scheduler.c 82.89% <0.00%> (-3.54%) ⬇️
src/bgw/job.c 93.14% <0.00%> (-0.29%) ⬇️
tsl/src/nodes/data_node_dispatch.c 96.49% <0.00%> (-0.24%) ⬇️
tsl/src/bgw_policy/job.c 88.62% <0.00%> (-0.05%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0b76a8e...a67b99e. Read the comment docs.

@nikkhils nikkhils self-assigned this Jun 24, 2022
Copy link
Contributor

@pmwkaa pmwkaa left a comment

Choose a reason for hiding this comment

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

Do we have a test for using replication role here?

@nikkhils
Copy link
Contributor Author

Do we have a test for using replication role here?

Yes. This is an existing test with REPLICATION user already.

tsl/src/chunk_copy.c Outdated Show resolved Hide resolved
tsl/src/chunk_copy.c Outdated Show resolved Hide resolved
The current code was assuming the bootstrap superuser for the actual
move chunk operation. However, we can make it further flexible by using
the logged in credentials if those happen to have superuser privileges.
@nikkhils nikkhils merged commit 8bf6c88 into main Jun 27, 2022
@nikkhils nikkhils deleted the ts/move-super branch June 27, 2022 11:59
@nikkhils nikkhils added this to the TimescaleDB 2.7.1 milestone Jun 27, 2022
@nikkhils nikkhils added the 2.7.1 Proposed for 2.7.1 label Jun 27, 2022
@mkindahl mkindahl mentioned this pull request Jul 5, 2022
mkindahl added a commit that referenced this pull request Jul 7, 2022
This release is a patch release. We recommend that you upgrade at the
next available opportunity.

**Bugfixes**
* #4494 Handle timescaledb versions aptly in multinode
* #4493 Segfault when executing IMMUTABLE functions
* #4482 Fix race conditions during chunk (de)compression
* #4367 Improved buffer management in the copy operator
* #4375 Don't ask for orderby column if default already set
* #4400 Use our implementation of `find_em_expr_for_rel` for PG15+
* #4408 Fix crash during insert into distributed hypertable
* #4411 Add `shmem_request_hook`
* #4437 Fix segfault in subscription_exec
* #4442 Fix perms in copy/move chunk
* #4450 Retain hypertable ownership on `attach_data_node`
* #4451 Repair numeric partial state on the fly
* #4463 Fix empty bytea handlng with distributed tables
* #4469 Better superuser handling for `move_chunk`

**Features**
* #4244 Function telemetry
* #4287 Add internal api for foreign table chunk
* #4470 Block drop chunk if chunk is in frozen state
* #4464 Add internal api to associate a hypertable with custom jobs

**Thanks**
* @xin-hedera Finding bug in empty bytea values for distributed tables
* @jflambert for reporting a bug with IMMUTABLE functions
* @nikugogoi for reporting a bug with CTEs and upserts on distributed hypertables
mkindahl added a commit that referenced this pull request Jul 7, 2022
This release is a patch release. We recommend that you upgrade at the
next available opportunity.

**Bugfixes**
* #4494 Handle timescaledb versions aptly in multinode
* #4493 Segfault when executing IMMUTABLE functions
* #4482 Fix race conditions during chunk (de)compression
* #4367 Improved buffer management in the copy operator
* #4375 Don't ask for orderby column if default already set
* #4400 Use our implementation of `find_em_expr_for_rel` for PG15+
* #4408 Fix crash during insert into distributed hypertable
* #4411 Add `shmem_request_hook`
* #4437 Fix segfault in subscription_exec
* #4442 Fix perms in copy/move chunk
* #4450 Retain hypertable ownership on `attach_data_node`
* #4451 Repair numeric partial state on the fly
* #4463 Fix empty bytea handlng with distributed tables
* #4469 Better superuser handling for `move_chunk`

**Features**
* #4244 Function telemetry
* #4287 Add internal api for foreign table chunk
* #4470 Block drop chunk if chunk is in frozen state
* #4464 Add internal api to associate a hypertable with custom jobs

**Thanks**
* @xin-hedera Finding bug in empty bytea values for distributed tables
* @jflambert for reporting a bug with IMMUTABLE functions
* @nikugogoi for reporting a bug with CTEs and upserts on distributed hypertables
mkindahl added a commit that referenced this pull request Jul 7, 2022
This release is a patch release. We recommend that you upgrade at the
next available opportunity.

**Bugfixes**
* #4494 Handle timescaledb versions aptly in multinode
* #4493 Segfault when executing IMMUTABLE functions
* #4482 Fix race conditions during chunk (de)compression
* #4367 Improved buffer management in the copy operator
* #4375 Don't ask for orderby column if default already set
* #4400 Use our implementation of `find_em_expr_for_rel` for PG15+
* #4408 Fix crash during insert into distributed hypertable
* #4411 Add `shmem_request_hook`
* #4437 Fix segfault in subscription_exec
* #4442 Fix perms in copy/move chunk
* #4450 Retain hypertable ownership on `attach_data_node`
* #4451 Repair numeric partial state on the fly
* #4463 Fix empty bytea handlng with distributed tables
* #4469 Better superuser handling for `move_chunk`

**Features**
* #4244 Function telemetry
* #4287 Add internal api for foreign table chunk
* #4470 Block drop chunk if chunk is in frozen state
* #4464 Add internal api to associate a hypertable with custom jobs

**Thanks**
* @xin-hedera Finding bug in empty bytea values for distributed tables
* @jflambert for reporting a bug with IMMUTABLE functions
* @nikugogoi for reporting a bug with CTEs and upserts on distributed hypertables
mkindahl added a commit that referenced this pull request Jul 7, 2022
This release is a patch release. We recommend that you upgrade at the
next available opportunity.

**Bugfixes**
* #4494 Handle timescaledb versions aptly in multinode
* #4493 Segfault when executing IMMUTABLE functions
* #4482 Fix race conditions during chunk (de)compression
* #4367 Improved buffer management in the copy operator
* #4375 Don't ask for orderby column if default already set
* #4400 Use our implementation of `find_em_expr_for_rel` for PG15+
* #4408 Fix crash during insert into distributed hypertable
* #4411 Add `shmem_request_hook`
* #4437 Fix segfault in subscription_exec
* #4442 Fix perms in copy/move chunk
* #4450 Retain hypertable ownership on `attach_data_node`
* #4451 Repair numeric partial state on the fly
* #4463 Fix empty bytea handlng with distributed tables
* #4469 Better superuser handling for `move_chunk`

**Features**
* #4244 Function telemetry
* #4287 Add internal api for foreign table chunk
* #4470 Block drop chunk if chunk is in frozen state
* #4464 Add internal api to associate a hypertable with custom jobs

**Thanks**
* @xin-hedera Finding bug in empty bytea values for distributed tables
* @jflambert for reporting a bug with IMMUTABLE functions
* @nikugogoi for reporting a bug with CTEs and upserts on distributed hypertables
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.7.1 Proposed for 2.7.1 multinode
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants