Exclude Geo secondary from "make truncate-legacy-tables"
What does this merge request do and why?
Fixes this error, which occurs when updating a secondary Geo GDK site:
I, [2023-07-31T15:02:26.945050 #71137] INFO -- : TRUNCATE TABLE ci_build_needs, ci_build_pending_states, ci_build_report_results, ci_build_trace_chunks, ci_build_trace_metadata RESTRICT
rake aborted!
ActiveRecord::StatementInvalid: PG::ReadOnlySqlTransaction: ERROR: cannot execute TRUNCATE TABLE in a read-only transaction
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:127:in `public_send'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:127:in `block in write_using_load_balancer'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/load_balancer.rb:133:in `block in read_write'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/load_balancer.rb:204:in `retry_with_backoff'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/load_balancer.rb:122:in `read_write'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:126:in `write_using_load_balancer'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:96:in `method_missing'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/tables_truncate.rb:125:in `block (3 levels) in truncate_tables_in_batches'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/tables_truncate.rb:125:in `each'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/tables_truncate.rb:125:in `block (2 levels) in truncate_tables_in_batches'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:127:in `public_send'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:127:in `block in write_using_load_balancer'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/load_balancer.rb:133:in `block in read_write'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/load_balancer.rb:204:in `retry_with_backoff'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/load_balancer.rb:122:in `read_write'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:126:in `write_using_load_balancer'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:78:in `transaction'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/tables_truncate.rb:124:in `block in truncate_tables_in_batches'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/tables_truncate.rb:110:in `each'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/tables_truncate.rb:110:in `truncate_tables_in_batches'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/tables_truncate.rb:63:in `execute'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/tasks/gitlab/db/truncate_legacy_tables.rake:15:in `block (4 levels) in <main>'
/Users/mkozonogitlab/.asdf/installs/ruby/3.1.4/bin/bundle:25:in `load'
/Users/mkozonogitlab/.asdf/installs/ruby/3.1.4/bin/bundle:25:in `<main>'
Caused by:
PG::ReadOnlySqlTransaction: ERROR: cannot execute TRUNCATE TABLE in a read-only transaction
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:127:in `public_send'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:127:in `block in write_using_load_balancer'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/load_balancer.rb:133:in `block in read_write'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/load_balancer.rb:204:in `retry_with_backoff'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/load_balancer.rb:122:in `read_write'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:126:in `write_using_load_balancer'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:96:in `method_missing'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/tables_truncate.rb:125:in `block (3 levels) in truncate_tables_in_batches'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/tables_truncate.rb:125:in `each'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/tables_truncate.rb:125:in `block (2 levels) in truncate_tables_in_batches'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:127:in `public_send'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:127:in `block in write_using_load_balancer'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/load_balancer.rb:133:in `block in read_write'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/load_balancer.rb:204:in `retry_with_backoff'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/load_balancer.rb:122:in `read_write'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:126:in `write_using_load_balancer'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:78:in `transaction'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/tables_truncate.rb:124:in `block in truncate_tables_in_batches'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/tables_truncate.rb:110:in `each'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/tables_truncate.rb:110:in `truncate_tables_in_batches'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/gitlab/database/tables_truncate.rb:63:in `execute'
/Users/mkozonogitlab/Developer/gdk2/gitlab/lib/tasks/gitlab/db/truncate_legacy_tables.rake:15:in `block (4 levels) in <main>'
/Users/mkozonogitlab/.asdf/installs/ruby/3.1.4/bin/bundle:25:in `load'
/Users/mkozonogitlab/.asdf/installs/ruby/3.1.4/bin/bundle:25:in `<main>'
Tasks: TOP => gitlab:db:truncate_legacy_tables:main
(See full trace by running task with --trace)
make: *** [do-truncate] Error 1
Resolves #1906 (closed)
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
- Set up Geo
- Change directory to the secondary GDK
- Change to this branch
make truncate-legacy-tables
Impacted categories
The following categories relate to this merge request:
-
gdk-reliability - e.g. When a GDK action fails to complete. -
gdk-usability - e.g. Improvements or suggestions around how the GDK functions. -
gdk-performance - e.g. When a GDK action is slow or times out.
Merge request checklist
-
This change is backward compatible. If not, please include steps to communicate to our users. - [-] Tests added for new functionality. If not, please raise an issue to follow-up.
- [-] Documentation added/updated, if needed.
- [-] Announcement added, if change is notable.
- [-]
gdk doctor
test added, if needed. - [-] Add the
~highlight
label if this MR should be included in theCHANGELOG.md
.
Edited by Michael Kozono