If we are sending log updates to a client (ceph -w), and they are far
enough behind to drop behind first_committed, include a friendly message
in their stream but continue.
Drop useless return value from _create_sub_incremental(). Assert that we
can read the state file.
Signed-off-by: Sage Weil <sage@inktank.com>
We disregard incomplete infos during find_best_info, but we can't an
info with a last_epoch_started less that of the incomplete info.
This should avoid cases like #2462. In that case, it appears that
a peer with empty info/log was chosen as authoritative even though
there was a non-empty incomplete peer.
Signed-off-by: Samuel Just <sam.just@inktank.com>
On squeeze,
warning: cls_rbd.cc:534: cannot pass objects of non-POD type ‘struct snapid_t’ through ‘...’; call will abort at runtime
Signed-off-by: Sage Weil <sage@inktank.com>
Noticed because of failing i386 unit tests for long addrs; x86_64 passed
fine. Sigh. FTR, the failing address was
2001:0db8:85a3:0000:0000:8a2e:0370:7334
Sadly the full length addrs don't turn it up on x86_64, still, nor does
valgrind notice. But, this fixes it on i386.
Signed-off-by: Sage Weil <sage@inktank.com>
This will let us version this encoding later when we add new information
and features, like a per-snap parent.
Signed-off-by: Sage Weil <sage@inktank.com>
The callers report errors and pass up errors, so do not spam stderr with
this. Fixes the confusion that sparked #2595.
Signed-off-by: Sage Weil <sage@inktank.com>
Fixes#2542. The old behavior just merged src object attrs
and provided attributes. The new (and correct) behavior looks
at the x-[amz|rgw|...]-metadata-directive and either copies
the source attrs, or replaces them with the provided attrs.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
This should help us track down/verify #2535. It seems to happen on several
different systems, but we haven't figured out which ones yet.
This detects the bug, but does not attempt to correct it.
Signed-off-by: Sage Weil <sage@inktank.com>
Adding a configurable max_buckets per user. Bucket creation
verifies that max_buckets has not reached.
Backport: dho
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
Stop the qa noise we fix#2410. Looks like a freeze/thaw thing.
Maybe Jan's new freeze/thaw code will address this? That's probably
wishful thinking.
Signed-off-by: Sage Weil <sage@inktank.com>
The problem:
- the unittests link against gtest, and gtest is not installed. that's
normally fine, but...
- rbd and rados api unit tests link against gtest, and are installed
by 'make install'. they are needed for teuthology runs, etc.
- if we build gtest as an .la library, we can only control whether *all*
or *no* .la libraries are linked statically.
- we want librados to be linked dynamically.
The solution:
- build gtest as .a instead of a libtool library
- link it statically, always.
Unit test binaries are bigger now. Oh well...
Fixes: #2331
Signed-off-by: Sage Weil <sage@inktank.com>
Like the other upstart configs, these assume the default value for
'rgw data'. Same pattern as ceph-mon and ceph-mds.
Fixes: #2415
Signed-off-by: Sage Weil <sage@inktank.com>
See bug #2462.
The following sequence could cause a log assuming a non-empty pg
to an empty replica:
1. primary sends query to stray
2. stray sends notify to primary
3. primary sends purge to stray removing stray from peer_info
4. stray recieves query and sends a notify
5. stray recieves purge and purges its pg
6. primary recieves notify from stray and adds it to peer_info
note: peer_info[stray] is now wrong
7. acting set changes, primary is still primary, stray is replica
8. primary sends log to replica based on incorrect info from 6.
This patch adds a purged_peer set which is populated during purge_strays
and cleared during start_peering_interval. The primary will ignore
notifies from the peer once the peer is in this set.
Signed-off-by: Samuel Just <sam.just@inktank.com>
Check the authenticated peer name directly; don't store a copy in the
OSDCaps struct. Also set the entity_name member of the session!
Signed-off-by: Sage Weil <sage@inktank.com>