discourse/script
Michael Fitz-Payne 2389186155 DEV(cache_critical_dns): sort resolved SRV targets by priority
The priority field in an SRV RR indicates a preferential order at which
the underlying targets should be utilised. We need to prefer healthy
services in order of priority, where 0 is highest.

Prior to this commit, we relied on whatever order the
dnsclient.getresources method returned. As it turns out, this assumption
is incorrect. The order returned is likely whatever order the system
resolver received DNS responses in, which may not be ordered according
to the spec.

This introduces a ResolvedAddress type which holds the priority value
for SRV targets, or a stand-in priority of zero for A/AAAA RRs. This
type is used as a return value from the underlying name resolution
routines in Name and SRVName.

In this manner, all ordering by priority and resolved time can be
performed directly within the ResolverCache class and calling code can
continue to be none-the-wiser.

Before sorting, we still ensure that we only consider targets with a
priority within the given threshold as previously implemented.

See t/115911.
2023-11-22 08:26:00 +10:00
..
benchmarks DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00
bulk_import DEV: Adding polls, solutions, upload references and other improvements to the Discourse merger script (#23689) 2023-11-16 14:32:53 +01:00
demon_test FIX: Revert Demon::DemonBase back to Demon::Base (#8132) 2019-10-02 14:54:08 +10:00
import_scripts DEV: Update importers from PostUpload to UploadReference (#23681) 2023-09-27 15:01:04 +01:00
.gitignore
alice.txt
analyse_message_bus.rb DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00
analyze_sidekiq_queues.rb DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00
bench.rb DEV: Remove RUBY_GLOBAL_METHOD_CACHE_SIZE (#21249) 2023-04-26 10:39:39 +02:00
biggest_objects.rb DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00
boot_mem.rb DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00
build_jsconfig.rb DEV: Consolidate and update jsconfig, and add types packages (#23824) 2023-10-18 12:13:20 +01:00
cache_critical_dns DEV(cache_critical_dns): sort resolved SRV targets by priority 2023-11-22 08:26:00 +10:00
check_forking.rb DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00
check_reproducible_assets.rb DEV: introduce Embroider behind a flag, and start testing in CI (#23005) 2023-09-07 13:15:43 +01:00
copyright-deposit Add script for compiling copyright deposits (#9646) 2020-05-06 12:51:45 -04:00
db_timestamps_mover.rb FIX: require date db_timestamps_mover script (#21248) 2023-04-26 17:59:20 +10:00
diff_heaps.rb DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00
discourse DEV: Be more lenient in CLI confirmation (#16290) 2022-03-25 20:14:41 +00:00
docker_test.rb DEV: Fix typo in docker_test.rb script (#23456) 2023-09-07 15:36:27 +08:00
i18n_lint.rb REFACTOR: Fix pluralized strings in chat plugin (#20357) 2023-02-20 10:31:02 +01:00
install_minio_binaries.rb DEV: Add S3 upload system specs using minio (#22975) 2023-08-23 11:18:33 +10:00
local_minio_s3.rb DEV: Add S3 upload system specs using minio (#22975) 2023-08-23 11:18:33 +10:00
measure.rb DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00
memory-analysis DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
memstats.rb DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00
micro_bench.rb DEV: Replace #pluck_first freedom patch with AR #pick in core (#19893) 2023-02-13 12:39:45 +08:00
mwrap_sidekiq PERF: avoid shelling to get hostname aggressively 2020-02-18 15:13:19 +11:00
profile_db_generator.rb DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00
promote_migrations DEV: Promote historic post_deploy migrations (#19492) 2022-12-16 13:36:30 +02:00
rails DEV: enable frozen string literal on all files 2019-05-13 09:31:32 +08:00
redis_memory.rb DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00
require_profiler.rb DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00
silence_successful_output DEV: Silence successful database migration output in github actions (#24416) 2023-11-16 15:55:41 +00:00
spawn_backup_restore.rb DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00
start_test_db.rb DEV: Add docker:test:setup Rake task (#23430) 2023-09-07 13:46:23 +08:00
switch_container_ruby DEV: add script to switch ruby version from inside container 2019-03-25 17:41:24 +11:00
test_email_settings.rb DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00
test_mem.rb DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00
test_memory_leak.rb DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00
test_pretty_text.rb DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00
thread_detective.rb DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00
user_simulator.rb DEV: Apply syntax_tree formatting to script/* 2023-01-09 11:13:22 +00:00