switchman 3.5.6 → 3.5.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b1d87b95f94fe959e18717de83ef0b39415dbf1479e57d4d3dde269aebde2f6e
4
- data.tar.gz: 660a121e4d107cf2db3792eab635ee0847fdc7a950d0338281c4b63b77a5d4fc
3
+ metadata.gz: 88184c7066c4920ceb4b073e35742a8dd4c2b008d2e99ec58c83d17b602f94de
4
+ data.tar.gz: d9cc2ac7ea0f572d567c06a7afc5b21019ecb05a6bccbe111c606a19011af113
5
5
  SHA512:
6
- metadata.gz: e09ee49ddff4718ca169890eff74e9d4bf4b8122e152762a6220b68093c185cbc7dc9c3bc82035a5f336fead51b98847f56ba2291da5ad2f98a355bc1cf04f90
7
- data.tar.gz: 15772217715f825b21433adef3548e938ac891770809dc2eed5bf9384fa3e9b8259ccaed696841c5c442d195d73f7f465d0171834021d5d23fec747a0ca72fd4
6
+ metadata.gz: 523170b15e3509084fcc76fcf8809883e24d4ea40f5b16f09362023c536b847af3a52fd888bb97ed983b0781d07b5e4ca3ad86ee9ee8e1b13b112bbefa4fb3b8
7
+ data.tar.gz: b2e6328a42baf46c0b4bbc82a0a37cc0e4dcf45d0a51323b21f8cbff005e0d7daf2c90b5a213660bc1c8296022dfcdec284473f8a48aafe8d9393641fd990e4d
@@ -268,12 +268,18 @@ module Switchman
268
268
  end
269
269
 
270
270
  def primary_shard
271
- unless instance_variable_defined?(:@primary_shard)
271
+ return nil unless primary_shard_id
272
+
273
+ Shard.lookup(primary_shard_id)
274
+ end
275
+
276
+ def primary_shard_id
277
+ unless instance_variable_defined?(:@primary_shard_id)
272
278
  # if sharding isn't fully set up yet, we may not be able to query the shards table
273
- @primary_shard = Shard.default if Shard.default.database_server == self
274
- @primary_shard ||= shards.where(name: nil).first
279
+ @primary_shard_id = Shard.default.id if Shard.default.database_server == self
280
+ @primary_shard_id ||= shards.where(name: nil).first&.id
275
281
  end
276
- @primary_shard
282
+ @primary_shard_id
277
283
  end
278
284
  end
279
285
  end
@@ -13,6 +13,8 @@ module Switchman
13
13
  Thread.current[:switchman_error_handler] = true
14
14
 
15
15
  @active_shards ||= Shard.active_shards
16
+ rescue ThreadError # e.g. `require': can't be called from trap context (ThreadError)
17
+ # intentionally empty
16
18
  ensure
17
19
  Thread.current[:switchman_error_handler] = nil
18
20
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Switchman
4
- VERSION = "3.5.6"
4
+ VERSION = "3.5.8"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: switchman
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.6
4
+ version: 3.5.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cody Cutrer
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-07-03 00:00:00.000000000 Z
13
+ date: 2023-08-07 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord