Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

router: delete vshard.router.bucket_discovery #515

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions test/failover/failover.result
Original file line number Diff line number Diff line change
Expand Up @@ -120,15 +120,15 @@ priority_order()
- - 1
- unknown zone
...
vshard.router.bucket_discovery(1).uuid == rs_uuid[1]
vshard.router.route(1).uuid == rs_uuid[1]
---
- true
...
vshard.router.bucket_discovery(31).uuid == rs_uuid[2]
vshard.router.route(31).uuid == rs_uuid[2]
---
- true
...
vshard.router.bucket_discovery(61).uuid == rs_uuid[3]
vshard.router.route(61).uuid == rs_uuid[3]
---
- true
...
Expand Down Expand Up @@ -371,15 +371,15 @@ priority_order()
- - 1
- unknown zone
...
vshard.router.bucket_discovery(1).uuid == rs_uuid[1]
vshard.router.route(1).uuid == rs_uuid[1]
---
- true
...
vshard.router.bucket_discovery(31).uuid == rs_uuid[2]
vshard.router.route(31).uuid == rs_uuid[2]
---
- true
...
vshard.router.bucket_discovery(61).uuid == rs_uuid[3]
vshard.router.route(61).uuid == rs_uuid[3]
---
- true
...
Expand Down Expand Up @@ -409,15 +409,15 @@ priority_order()
- - 1
- unknown zone
...
vshard.router.bucket_discovery(1).uuid == rs_uuid[1]
vshard.router.route(1).uuid == rs_uuid[1]
---
- true
...
vshard.router.bucket_discovery(31).uuid == rs_uuid[2]
vshard.router.route(31).uuid == rs_uuid[2]
---
- true
...
vshard.router.bucket_discovery(61).uuid == rs_uuid[3]
vshard.router.route(61).uuid == rs_uuid[3]
---
- true
...
Expand Down Expand Up @@ -447,15 +447,15 @@ priority_order()
- - unknown zone
- 1
...
vshard.router.bucket_discovery(1).uuid == rs_uuid[1]
vshard.router.route(1).uuid == rs_uuid[1]
---
- true
...
vshard.router.bucket_discovery(31).uuid == rs_uuid[2]
vshard.router.route(31).uuid == rs_uuid[2]
---
- true
...
vshard.router.bucket_discovery(61).uuid == rs_uuid[3]
vshard.router.route(61).uuid == rs_uuid[3]
---
- true
...
Expand Down
24 changes: 12 additions & 12 deletions test/failover/failover.test.lua
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@ test_run:switch('router_1')
vshard.router.cfg(cfg)
while not test_run:grep_log('router_1', 'New replica box_1_d%(storage%@') do fiber.sleep(0.1) end
priority_order()
vshard.router.bucket_discovery(1).uuid == rs_uuid[1]
vshard.router.bucket_discovery(31).uuid == rs_uuid[2]
vshard.router.bucket_discovery(61).uuid == rs_uuid[3]
vshard.router.route(1).uuid == rs_uuid[1]
vshard.router.route(31).uuid == rs_uuid[2]
vshard.router.route(61).uuid == rs_uuid[3]
vshard.router.call(1, 'read', 'echo', {123})
test_run:switch('box_1_d')
-- Not 0 - 'read' echo was called here.
Expand Down Expand Up @@ -145,27 +145,27 @@ create_router('router_2')
test_run:switch('router_2')
vshard.router.cfg(cfg)
priority_order()
vshard.router.bucket_discovery(1).uuid == rs_uuid[1]
vshard.router.bucket_discovery(31).uuid == rs_uuid[2]
vshard.router.bucket_discovery(61).uuid == rs_uuid[3]
vshard.router.route(1).uuid == rs_uuid[1]
vshard.router.route(31).uuid == rs_uuid[2]
vshard.router.route(61).uuid == rs_uuid[3]
test_run:switch('default')

create_router('router_3')
test_run:switch('router_3')
vshard.router.cfg(cfg)
priority_order()
vshard.router.bucket_discovery(1).uuid == rs_uuid[1]
vshard.router.bucket_discovery(31).uuid == rs_uuid[2]
vshard.router.bucket_discovery(61).uuid == rs_uuid[3]
vshard.router.route(1).uuid == rs_uuid[1]
vshard.router.route(31).uuid == rs_uuid[2]
vshard.router.route(61).uuid == rs_uuid[3]
test_run:switch('default')

create_router('router_4')
test_run:switch('router_4')
vshard.router.cfg(cfg)
priority_order()
vshard.router.bucket_discovery(1).uuid == rs_uuid[1]
vshard.router.bucket_discovery(31).uuid == rs_uuid[2]
vshard.router.bucket_discovery(61).uuid == rs_uuid[3]
vshard.router.route(1).uuid == rs_uuid[1]
vshard.router.route(31).uuid == rs_uuid[2]
vshard.router.route(61).uuid == rs_uuid[3]

--
-- gh-169: do not close connections on too long ping when this is
Expand Down
4 changes: 2 additions & 2 deletions test/misc/check_uuid_on_connect.result
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ test_run:switch('bad_uuid_router')
vshard.router.static.route_map[1] = nil
---
...
vshard.router.bucket_discovery(1)
vshard.router.route(1)
---
- null
- replicaset: ac522f65-aa94-4134-9f64-51ee384f1a54
Expand All @@ -199,7 +199,7 @@ vshard.router.bucket_discovery(1)
bucket_id: 1
...
-- Ok to work with correct replicasets.
vshard.router.bucket_discovery(2).uuid
vshard.router.route(2).uuid
---
- cbf06940-0790-498b-948d-042b62cf3d29
...
Expand Down
4 changes: 2 additions & 2 deletions test/misc/check_uuid_on_connect.test.lua
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@ test_run:grep_log('bad_uuid_1_a', 'Mismatch server UUID on replica bad_uuid_2_a'
test_run:switch('bad_uuid_router')
-- Can not discovery - UUID of bucket 1 replicaset is incorrect.
vshard.router.static.route_map[1] = nil
vshard.router.bucket_discovery(1)
vshard.router.route(1)
-- Ok to work with correct replicasets.
vshard.router.bucket_discovery(2).uuid
vshard.router.route(2).uuid

_ = test_run:cmd("switch default")
test_run:cmd('stop server bad_uuid_router')
Expand Down
4 changes: 2 additions & 2 deletions test/router-luatest/map_callrw_test.lua
Original file line number Diff line number Diff line change
Expand Up @@ -210,7 +210,7 @@ g.test_map_part_double_ref = function(cg)
cg.router:exec(function(bid, uuid)
ivshard.router.internal.errinj.ERRINJ_LONG_DISCOVERY = true
-- Make sure the location of the bucket is known.
local rs, err = ivshard.router.bucket_discovery(bid)
local rs, err = ivshard.router.route(bid)
ilt.assert_equals(err, nil)
ilt.assert_equals(rs.uuid, uuid)
end, {bid1, cg.rs1_uuid})
Expand Down Expand Up @@ -262,7 +262,7 @@ g.test_map_part_ref_timeout = function(cg)
ivshard.router.internal.errinj.ERRINJ_LONG_DISCOVERY = true
-- Make sure the location of the bucket is known.
for _, bid in pairs(bids) do
local _, err = ivshard.router.bucket_discovery(bid)
local _, err = ivshard.router.route(bid)
ilt.assert_equals(err, nil)
end
end, {{bid1, bid2, bid3, bid4}})
Expand Down
2 changes: 1 addition & 1 deletion test/router-luatest/router_2_2_test.lua
Original file line number Diff line number Diff line change
Expand Up @@ -613,7 +613,7 @@ g.test_named_config_identification = function(g)
local router = g.router
local res, err = router:exec(function()
-- buckets_info shows name, when name identification is used.
local _, err = ivshard.router.bucket_discovery(1)
local _, err = ivshard.router.route(1)
ilt.assert_equals(err, nil)
ilt.assert_not_equals(ivshard.router.buckets_info()[1].name, nil)

Expand Down
2 changes: 1 addition & 1 deletion test/router/reroute_wrong_bucket.result
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ test_run:switch('router_1')
util = require('util')
---
...
vshard.router.bucket_discovery(100) ~= nil
vshard.router.route(100) ~= nil
---
- true
...
Expand Down
2 changes: 1 addition & 1 deletion test/router/reroute_wrong_bucket.test.lua
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ vshard.storage.bucket_force_create(101, 100)

test_run:switch('router_1')
util = require('util')
vshard.router.bucket_discovery(100) ~= nil
vshard.router.route(100) ~= nil

test_run:switch('storage_1_a')
box.space._bucket:update({100}, {{'=', 2, vshard.consts.BUCKET.SENT}, {'=', 3, util.replicasets[2]}})
Expand Down
12 changes: 6 additions & 6 deletions test/router/router.result
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ util.check_error(vshard.router.call, 1, 'read', 'echo', {123})
message: Bucket 1 cannot be found. Is rebalancing in progress?
name: NO_ROUTE_TO_BUCKET
...
replicaset, err = vshard.router.bucket_discovery(1); return err == nil or err
replicaset, err = vshard.router.route(1); return err == nil or err
---
- bucket_id: 1
code: 9
Expand Down Expand Up @@ -292,19 +292,19 @@ util.check_error(vshard.router.call, 0, 'read', 'echo', {123})
---
- 'Bucket is unreachable: bucket id is out of range'
...
replicaset, err = vshard.router.bucket_discovery(0); return err == nil or err
replicaset, err = vshard.router.route(0); return err == nil or err
---
- bucket_id: 0
code: 9
type: ShardingError
message: Bucket 0 cannot be found. Is rebalancing in progress?
name: NO_ROUTE_TO_BUCKET
...
replicaset, err = vshard.router.bucket_discovery(1); return err == nil or err
replicaset, err = vshard.router.route(1); return err == nil or err
---
- true
...
replicaset, err = vshard.router.bucket_discovery(2); return err == nil or err
replicaset, err = vshard.router.route(2); return err == nil or err
---
- true
...
Expand Down Expand Up @@ -385,10 +385,10 @@ _ = test_run:switch('router_1')
---
...
-- Check unavailability of master of a replicaset.
_ = vshard.router.bucket_discovery(2)
_ = vshard.router.route(2)
---
...
_ = vshard.router.bucket_discovery(3)
_ = vshard.router.route(3)
---
...
vshard.router.buckets_info(0, 3)
Expand Down
12 changes: 6 additions & 6 deletions test/router/router.test.lua
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ _ = test_run:cmd("setopt delimiter ''");
-- Initial distribution
--
util.check_error(vshard.router.call, 1, 'read', 'echo', {123})
replicaset, err = vshard.router.bucket_discovery(1); return err == nil or err
replicaset, err = vshard.router.route(1); return err == nil or err
vshard.router.bootstrap({timeout = 5})

-- Second one should produce error
Expand Down Expand Up @@ -109,9 +109,9 @@ vshard.router.callro(1, 'echo', {nil, 'error_object'}, {})
util.check_error(vshard.router.call, vshard.consts.DEFAULT_BUCKET_COUNT + 1, 'read', 'echo', {123})
util.check_error(vshard.router.call, -1, 'read', 'echo', {123})
util.check_error(vshard.router.call, 0, 'read', 'echo', {123})
replicaset, err = vshard.router.bucket_discovery(0); return err == nil or err
replicaset, err = vshard.router.bucket_discovery(1); return err == nil or err
replicaset, err = vshard.router.bucket_discovery(2); return err == nil or err
replicaset, err = vshard.router.route(0); return err == nil or err
replicaset, err = vshard.router.route(1); return err == nil or err
replicaset, err = vshard.router.route(2); return err == nil or err

_ = test_run:switch('storage_2_a')
-- Pause recovery. It is too aggressive, and the test needs to see buckets in
Expand Down Expand Up @@ -146,8 +146,8 @@ vshard.storage.internal.errinj.ERRINJ_RECOVERY_PAUSE = false
_ = test_run:switch('router_1')

-- Check unavailability of master of a replicaset.
_ = vshard.router.bucket_discovery(2)
_ = vshard.router.bucket_discovery(3)
_ = vshard.router.route(2)
_ = vshard.router.route(3)
vshard.router.buckets_info(0, 3)
_ = test_run:cmd('stop server storage_2_a')
vshard.router.static.failover_fiber:wakeup()
Expand Down
20 changes: 2 additions & 18 deletions vshard/router/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -165,8 +165,8 @@ end
-- Discovery
--------------------------------------------------------------------------------

-- Search bucket in whole cluster
local function bucket_discovery(router, bucket_id)
-- Resolve bucket id to replicaset
local function bucket_resolve(router, bucket_id)
local replicaset = router.route_map[bucket_id]
if replicaset ~= nil then
return replicaset
Expand Down Expand Up @@ -208,21 +208,6 @@ local function bucket_discovery(router, bucket_id)
return nil, err
end

-- Resolve bucket id to replicaset
local function bucket_resolve(router, bucket_id)
local replicaset, err
replicaset = router.route_map[bucket_id]
if replicaset ~= nil then
return replicaset
end
-- Replicaset removed from cluster, perform discovery
replicaset, err = bucket_discovery(router, bucket_id)
if replicaset == nil then
return nil, err
end
return replicaset
end

-- Group bucket ids by replicasets according to the router cache.
local function buckets_group(router, bucket_ids, timeout)
local deadline = fiber_clock() + timeout
Expand Down Expand Up @@ -2045,7 +2030,6 @@ local router_mt = {
bucket_count = router_make_api(router_bucket_count),
sync = router_make_api(router_sync),
bootstrap = router_make_api(cluster_bootstrap),
bucket_discovery = router_make_api(bucket_discovery),
discovery_wakeup = router_make_api(discovery_wakeup),
master_search_wakeup = router_make_api(master_search_wakeup),
discovery_set = router_make_api(discovery_set),
Expand Down
Loading