Details
Description
Saw this in CBSE-1301:
<0.2025.3344> exited with {{function_clause,
[{new_ns_replicas_builder,handle_info,
[{#Ref<0.0.4447.107509>,
[stale,
{last_heard,{1406,315410,842219}},
{now,{1406,315410,210848}},
,
{ready_buckets,
which caused rebalance to fail.
The reason is that new_ns_replicas_builder doesn't have catch-all handle_info that's typical for gen_servers. And this message occurs because of the following call chain:
- new_ns_replicas_builder:init/1
- ns_replicas_builder_utils:spawn_replica_builder/5
- ebucketmigrator_srv:build_args
- cluster_compat_mode:is_node_compatible
- ns_doctor:get_node
ns_doctor:get_node handles timeout and returns empty list. So if this happens actual reply may be delivered later and be handled by handle_info. Which in this case is unable to do it.
3.0 is mostly immune to this particular chain of calls due to optimization:
commit 70badff90b03176b357cac4d03e40acc62f4861b
Author: Aliaksey Kandratsenka <alk@tut.by>
Date: Tue Oct 1 11:44:02 2013 -0700
MB-9096: optimized is_node_compatible when cluster is compatible
There's no need to check for particular node's compatibility with
certain feature if entire cluster's mode is new enough.
Change-Id: I9573e6b2049cb00d2adad709ba41ec5285d66a6b
Reviewed-on: http://review.couchbase.org/29317
Tested-by: Aliaksey Kandratsenka <alkondratenko@gmail.com>
Reviewed-by: Artem Stemkovski <artem@couchbase.com>
Attachments
Issue Links
- relates to
-
MB-12201 2.5.1 Maintenance Patch-1 Release
- Closed