the value for rgw_dns_name isn't known until a machine is assigned, so
it can't be set via 'override: conf:'. add a per-client config option
to the rgw task so it can add the endpoint's hostname and/or s3website
hostname on the radosgw command line
Signed-off-by: Casey Bodley <cbodley@redhat.com>
If the leader is the one with the accurate clock, it can still
form quorum, but if the leader has the skewed clock, all other mons appear
skewed from its perspective and no quorum is formed. This leads to
intermittent failures, depending on the non-deterministic teuthology
deployment order and how the mon IPs sort.
Fix by reducing the skew. This is enough skew to trigger a warning, but
not enough that it will break quorum. This ensures that the parts of the
teuthology test that issue random mon commands won't fail (e.g., 'ceph osd
dump').
Fixes: http://tracker.ceph.com/issues/40112
Signed-off-by: Sage Weil <sage@redhat.com>
It should always be the preferred option to kill the unnecessary
or duplicated code, which is good for maintenance.
Also I've noticed there is already a clean_temps helper, so re-naming
maybe_remove_pg_upmaps to clean_pg_upmaps to at least keep pace with
that sounds to be a natural choice for me..
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
PriorityCache.cc uses `ceph_heap_*` functions, and libkv contains
`PriorityCache.cc`, so it should link against libheap_profiler.
Signed-off-by: Kefu Chai <kchai@redhat.com>
unlike C language, C++ is put struct names and other names in a single
namespace. so we don't need to add `strcut` before struct identifiers.
Signed-off-by: Kefu Chai <kchai@redhat.com>
rook does not use "embedded" ceph anymore. and we've dropped the
embedded build support, so remove this function.
Signed-off-by: Kefu Chai <kchai@redhat.com>
as both `kv/rocksdb_cache/BinnedLRUCache.cc` and
`kv/rocksdb_cache/ShardedCache.cc` uses `PriorityCache` which is in turn
offered by common_prioritycache_obj, we need to link libkv against the
latter.
libos uses `PriorityCache` as well, but since libos links against
libkv, so it's safe.
Signed-off-by: Kefu Chai <kchai@redhat.com>
libkv is better than kv_objs, as it is able to bring more
properties with with it, for instance, the public include
directories, the public/private libraries it is linked against.
Signed-off-by: Kefu Chai <kchai@redhat.com>
which is extremely time-consuming.
Half of the amount of time of calling maybe_remove_pg_upmaps
has been saved by applying this patch as a result..
Was: maybe_remove_pg_upmaps (~10000 pg_upmap_items) latency:104s
Now: maybe_remove_pg_upmaps (~10000 pg_upmap_items) latency:56s
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
The upmap results are directly applied after calling
_pg_to_raw_osds, which means it basically has nothing to do
with the up/down status.
In other words, if a pg_upmap/pg_upmap_items remapped a pg
into some down osds and is now causing collided result,
we should still be able to detect and cancel that.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
Tom Byrne reported that maybe_remove_pg_upmap might become
super inefficient for large clusters with balancer on.
To identify and resolve the problem, we need to add some good
measurements first.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
instead of putting all types in a single compilation unit, split them
into smaller groups, in hope to reduce the memory footprint of compiler
when compiling ceph_dencoder.cc.
sometimes, GCC just fails to compile this source file.
Fixes: http://tracker.ceph.com/issues/39595
Signed-off-by: Kefu Chai <kchai@redhat.com>
Updates PeeringState::init to set may_include_deletes_in_missing when
possible to avoid needlessly rebuilding the missing set on the next map.
The previous behavior was also subtly wrong as until the the next map
the osd would be possibly adding deletes to the missing set without the
flag having been set in the missing set on disk
This patch also renames the flag to reflect the fact that it simply
denotes wheter the may_include_deletes_in_missing omap entry needs to be
written out. This may happen during rebuild_missing_set_with_deletes,
but it'll also happen more commonly during init now.
Signed-off-by: Samuel Just <sjust@redhat.com>
This patch:
1) Adds partially implemented stubs for PeeringState::PeeringListener
2) Revamps the message handling to batch the peering events from
a single message.
3) Replaces the message handling with hand-offs to PeeringState
4) Adds support for MOSDPGCreate2 enabling creation of pgs.
5) Introduces ShardServices for exposing osd machinery to the pgs.
Signed-off-by: Samuel Just <sjust@redhat.com>
Really, what we need to do is examine the ceph conf and set
the right logger levels based on configured log levels, but
this'll suffice for now.
Signed-off-by: Samuel Just <sjust@redhat.com>
For whatever reason, this patch appears to cause the reactor/peering
to hang much of the time. Reverting until we have time to debug it.
This reverts commit a09a4f342c.
Signed-off-by: Samuel Just <sjust@redhat.com>
The first to establish a connection and close the others needs
to ensure that the others don't mess with broken state. To that
end, leave a cleared pending_conns map while the conns are being
closed. Also, take care to clean up outstanding promises and
fallout from conns disappearing.
Signed-off-by: Samuel Just <sjust@redhat.com>
Adds transaction methods for PeeringState.
Mainly omap_set, but also a stub for collection hint and the other omap
update methods. Also adds omap_get and debugging to dump the
transaction upon encountering a problem.
Also fixes up std and ceph::bufferlist namespace qualifications.
Signed-off-by: Samuel Just <sjust@redhat.com>