Krzysztof Kotlarek
427d54b2b0
DEV: Upgrading Discourse to Zeitwerk ( #8098 )
...
Zeitwerk simplifies working with dependencies in dev and makes it easier reloading class chains.
We no longer need to use Rails "require_dependency" anywhere and instead can just use standard
Ruby patterns to require files.
This is a far reaching change and we expect some followups here.
2019-10-02 14:01:53 +10:00
Sam Saffron
4ea21fa2d0
DEV: use #frozen_string_literal: true on all spec
...
This change both speeds up specs (less strings to allocate) and helps catch
cases where methods in Discourse are mutating inputs.
Overall we will be migrating everything to use #frozen_string_literal: true
it will take a while, but this is the first and safest move in this direction
2019-04-30 10:27:42 +10:00
Guo Xiang Tan
86a2172bda
DEV: Fix heisentest.
...
Unpause sidekiq before clearning up all threads.
2019-02-19 08:21:51 +08:00
Guo Xiang Tan
426907cb88
FIX: Incorrect subscription in `PostgreSQLFallbackHandler`.
2019-01-21 17:39:31 +08:00
Guo Xiang Tan
ec58c33e9e
DEV: Improve postgresql fallover and multisite tests.
2019-01-15 12:52:45 +08:00
Guo Xiang Tan
19182c0c8f
DEV: Skip fragile tests for now.
2018-09-04 13:58:09 +08:00
Guo Xiang Tan
08b268c5bc
Be more forceful in disconnecting connections during failover.
2018-09-04 10:32:43 +08:00
Guo Xiang Tan
ecf60c0c33
DEV: More attempts at stablizing specs in Travis.
...
Re-enable skipped test because it doesn't fail locally
for me to debug it.
2018-09-03 14:52:15 +08:00
Guo Xiang Tan
0fac6cdba9
DEV: Better debugging information when test fails.
2018-09-03 10:55:25 +08:00
Guo Xiang Tan
ae2f00ee73
DEV: Include the thread in the error message.
2018-08-31 17:14:19 +08:00
Guo Xiang Tan
81b99efc68
DEV: Raise an error if thread doesn't return within expected time.
2018-08-31 09:26:28 +08:00
Guo Xiang Tan
79ba418edd
DEV: Don't join on a thread forever.
2018-07-12 15:46:07 +08:00
Guo Xiang Tan
4163f9e61e
DEV: Better clean up for PostgreSQL failover test.
2018-07-10 09:53:25 +08:00
Sam
94124ee2a6
skip erratic spec
2018-06-20 10:08:06 +10:00
Guo Xiang Tan
7c173265d5
FIX: Don't clear connections on the same process.
2018-06-12 13:06:25 +08:00
Guo Xiang Tan
646ed87aba
Clear all connections once master recovers.
2018-06-12 12:13:59 +08:00
Guo Xiang Tan
fd75e54793
Disconnect the pool during failover and fallback.
2018-06-12 11:09:19 +08:00
Guo Xiang Tan
204db00563
Skip postgres failover tests until we figure out why.
2018-06-11 15:51:16 +08:00
Guo Xiang Tan
f9761c41a9
DEV: Stablize postgresql fallback adapter spec.
2018-06-11 13:58:04 +08:00
Guo Xiang Tan
5656e8f366
FIX: Can't boot Discourse with a read-only PG connection.
2018-06-11 12:29:23 +08:00
Guo Xiang Tan
b18cc81609
Make rubocop happy.
2017-12-04 10:55:31 +08:00
Guo Xiang Tan
22140efa70
Tests are still leaking connection after skipping.
...
* Could be in the setup.
2017-12-04 10:46:30 +08:00
Guo Xiang Tan
4c8402c50f
Skip test that is leaking connections.
2017-12-04 09:26:51 +08:00
Guo Xiang Tan
b1375ef44e
Ensure that we disconnect connection in test.
2017-11-29 20:57:13 +08:00
Guo Xiang Tan
a7030e80bf
Skip randomly failing test.
2017-11-27 10:51:18 +08:00
Guo Xiang Tan
a509f466a0
Expose `replica_postgresql_connection` to `ActiveRecord::Base`.
2017-11-24 09:35:45 +08:00
Guo Xiang Tan
3ab6318e5f
Disable postgresql adapter tests until we figure out what is leaking
...
connections.
2017-11-16 07:17:22 +08:00
Guo Xiang Tan
af01860a3d
Clear all active connections after PostgreSQL failover tests.
2017-11-03 09:21:10 +08:00
Guo Xiang Tan
53cadbdfc5
Skip failing tests on Travis first.
2017-10-28 00:22:41 +08:00
Guo Xiang Tan
b636e858bb
Fix randomly failing spec on Travis.
2017-10-27 23:53:58 +08:00
Guo Xiang Tan
1c7b4381cc
Improve postgresql failover specs.
2017-10-26 15:54:50 +08:00
Guo Xiang Tan
94782152c6
Ensure we clean up state in PostgreSQL failover specs.
2017-10-26 09:22:51 +08:00
Guo Xiang Tan
54455fa40b
Use MessageBus to get other processes to failover faster.
2017-10-23 17:58:24 +08:00
Guo Xiang Tan
509ecbe9fb
Fix test not starting with the right state.
2017-10-23 12:20:39 +08:00
Guo Xiang Tan
fe1e78ddf4
Make PostgreSQL failover work with distributed cache.
2017-10-20 17:15:29 +08:00
Guo Xiang Tan
057571d173
Raise errors in PostgreSQLFallbackHandler threads.
2017-10-20 12:06:03 +08:00
Guo Xiang Tan
814c7ab503
Skip randomly failing tests first.
2017-10-19 12:25:50 +08:00
Guo Xiang Tan
1b5ee0ae72
FIX: Couldn't boot Discourse app with a readonly postgres.
2017-10-17 13:44:30 +08:00
Guo Xiang Tan
5f76e5062d
Pause Sidekiq when postgres failovers.
2017-10-16 19:48:31 +08:00
Guo Xiang Tan
8dae98a3f6
Skip randomly failing test on Travis for now.
2017-09-29 08:32:19 +08:00
Guo Xiang Tan
d4388f54a2
FIX: Use exact patht to ensure we always redirect with the right format.
2017-09-28 10:29:41 +08:00
Guo Xiang Tan
b8d9a6f747
Fix randomly failing spec.
2017-09-25 20:50:03 +08:00
Guo Xiang Tan
9540b952fd
Fix broken condition in PostgresqlFallbackAdapter.
2017-09-25 13:48:59 +08:00
Guo Xiang Tan
5012d46cbd
Add rubocop to our build. ( #5004 )
2017-07-28 10:20:09 +09:00
Guo Xiang Tan
cdd550e947
Use a different Redis key when PG failover sets site to readonly mode.
2017-01-11 16:38:49 +08:00
Guo Xiang Tan
e8a3043129
Spawn a single thread that checks for PostgreSQL fallback.
2016-11-17 13:52:08 +08:00
Guo Xiang Tan
fcc86d3a9d
FIX: `PostgreSQLFallbackHandler` was bouncing in and out of readonly.
2016-03-08 10:02:38 +08:00
Guo Xiang Tan
b41aa27a84
FEATURE: Support multisite in PostgreSQL fallback adapter.
2016-03-02 21:37:37 +08:00
Guo Xiang Tan
74dc838f5f
FIX: Add a lock to ensure only a single thread is running each time.
2016-02-05 10:47:47 +08:00
Guo Xiang Tan
c532d7d1ae
Internally `AR::Base.establish_connection` removes the current connection.
2016-02-05 08:51:50 +08:00