summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Knox <psimyn@gmail.com>2017-08-15 11:15:28 +1000
committerSimon Knox <psimyn@gmail.com>2017-08-15 11:15:28 +1000
commit193ac8fa2e002ed04cd3373007cc0aaef131da48 (patch)
tree94dd201a86d2c8c0f343b6ff106b956e64a24919
parent30ee60766a191e97b71b147d09a3a31a3669b548 (diff)
downloadgitlab-ce-193ac8fa2e002ed04cd3373007cc0aaef131da48.tar.gz
Revert "Merge branch 'broadcast-messages-cache' into 'master'"
This reverts commit c19ea197c7195771ddd68fa298f72c28612cadd8, reversing changes made to 0887a2bd10c3d774299b5b779d0335ddcb5064de.
-rw-r--r--app/models/broadcast_message.rb14
-rw-r--r--changelogs/unreleased/broadcast-messages-cache.yml4
-rw-r--r--db/migrate/20170809133343_add_broadcast_messages_index.rb21
-rw-r--r--db/migrate/20170809134534_add_broadcast_message_not_null_constraints.rb17
-rw-r--r--db/schema.rb12
-rw-r--r--spec/models/broadcast_message_spec.rb20
6 files changed, 8 insertions, 80 deletions
diff --git a/app/models/broadcast_message.rb b/app/models/broadcast_message.rb
index 3692bcc680d..944725d91c3 100644
--- a/app/models/broadcast_message.rb
+++ b/app/models/broadcast_message.rb
@@ -14,15 +14,9 @@ class BroadcastMessage < ActiveRecord::Base
default_value_for :color, '#E75E40'
default_value_for :font, '#FFFFFF'
- CACHE_KEY = 'broadcast_message_current'.freeze
-
- after_commit :flush_redis_cache
-
def self.current
- Rails.cache.fetch(CACHE_KEY) do
- where('ends_at > :now AND starts_at <= :now', now: Time.zone.now)
- .reorder(id: :asc)
- .to_a
+ Rails.cache.fetch("broadcast_message_current", expires_in: 1.minute) do
+ where('ends_at > :now AND starts_at <= :now', now: Time.zone.now).order([:created_at, :id]).to_a
end
end
@@ -37,8 +31,4 @@ class BroadcastMessage < ActiveRecord::Base
def ended?
ends_at < Time.zone.now
end
-
- def flush_redis_cache
- Rails.cache.delete(CACHE_KEY)
- end
end
diff --git a/changelogs/unreleased/broadcast-messages-cache.yml b/changelogs/unreleased/broadcast-messages-cache.yml
deleted file mode 100644
index a3c9e1ff465..00000000000
--- a/changelogs/unreleased/broadcast-messages-cache.yml
+++ /dev/null
@@ -1,4 +0,0 @@
----
-title: Better caching and indexing of broadcast messages
-merge_request:
-author:
diff --git a/db/migrate/20170809133343_add_broadcast_messages_index.rb b/db/migrate/20170809133343_add_broadcast_messages_index.rb
deleted file mode 100644
index 4ab2ddb059d..00000000000
--- a/db/migrate/20170809133343_add_broadcast_messages_index.rb
+++ /dev/null
@@ -1,21 +0,0 @@
-# See http://doc.gitlab.com/ce/development/migration_style_guide.html
-# for more information on how to write migrations for GitLab.
-
-class AddBroadcastMessagesIndex < ActiveRecord::Migration
- include Gitlab::Database::MigrationHelpers
-
- # Set this constant to true if this migration requires downtime.
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- COLUMNS = %i[starts_at ends_at id].freeze
-
- def up
- add_concurrent_index :broadcast_messages, COLUMNS
- end
-
- def down
- remove_concurrent_index :broadcast_messages, COLUMNS
- end
-end
diff --git a/db/migrate/20170809134534_add_broadcast_message_not_null_constraints.rb b/db/migrate/20170809134534_add_broadcast_message_not_null_constraints.rb
deleted file mode 100644
index 13e8ef52f22..00000000000
--- a/db/migrate/20170809134534_add_broadcast_message_not_null_constraints.rb
+++ /dev/null
@@ -1,17 +0,0 @@
-# See http://doc.gitlab.com/ce/development/migration_style_guide.html
-# for more information on how to write migrations for GitLab.
-
-class AddBroadcastMessageNotNullConstraints < ActiveRecord::Migration
- include Gitlab::Database::MigrationHelpers
-
- # Set this constant to true if this migration requires downtime.
- DOWNTIME = false
-
- COLUMNS = %i[starts_at ends_at created_at updated_at message_html]
-
- def change
- COLUMNS.each do |column|
- change_column_null :broadcast_messages, column, false
- end
- end
-end
diff --git a/db/schema.rb b/db/schema.rb
index 6540ab80129..ec92b185be2 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -163,18 +163,16 @@ ActiveRecord::Schema.define(version: 20170809142252) do
create_table "broadcast_messages", force: :cascade do |t|
t.text "message", null: false
- t.datetime "starts_at", null: false
- t.datetime "ends_at", null: false
- t.datetime "created_at", null: false
- t.datetime "updated_at", null: false
+ t.datetime "starts_at"
+ t.datetime "ends_at"
+ t.datetime "created_at"
+ t.datetime "updated_at"
t.string "color"
t.string "font"
- t.text "message_html", null: false
+ t.text "message_html"
t.integer "cached_markdown_version"
end
- add_index "broadcast_messages", ["starts_at", "ends_at", "id"], name: "index_broadcast_messages_on_starts_at_and_ends_at_and_id", using: :btree
-
create_table "chat_names", force: :cascade do |t|
t.integer "user_id", null: false
t.integer "service_id", null: false
diff --git a/spec/models/broadcast_message_spec.rb b/spec/models/broadcast_message_spec.rb
index 3369aef1d3e..a8ca1d110e4 100644
--- a/spec/models/broadcast_message_spec.rb
+++ b/spec/models/broadcast_message_spec.rb
@@ -20,7 +20,7 @@ describe BroadcastMessage do
it { is_expected.not_to allow_value('000').for(:font) }
end
- describe '.current', :use_clean_rails_memory_store_caching do
+ describe '.current' do
it 'returns message if time match' do
message = create(:broadcast_message)
@@ -45,14 +45,6 @@ describe BroadcastMessage do
expect(described_class.current).to be_empty
end
-
- it 'caches the output of the query' do
- create(:broadcast_message)
-
- expect(described_class).to receive(:where).and_call_original.once
-
- 2.times { described_class.current }
- end
end
describe '#active?' do
@@ -110,14 +102,4 @@ describe BroadcastMessage do
end
end
end
-
- describe '#flush_redis_cache' do
- it 'flushes the Redis cache' do
- message = create(:broadcast_message)
-
- expect(Rails.cache).to receive(:delete).with(described_class::CACHE_KEY)
-
- message.flush_redis_cache
- end
- end
end