This reverts commit 29c33f0c05.
We don't need the debugging any more, and having two separate fsx runners
already caused one update-in-the-wrong-place issue.
Signed-off-by: Greg Farnum <greg@inktank.com>
submit_transaction will use asynchronous write operation, there is no journal
for keyvaluestore so we need to make it sync
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
SharedLRU plays pool performance in KeyValueStore with large header cache size,
so a performance optimized RandomCache could improve it.
RandomCache will record the lookup frequency of key. When evictint element,
it will randomly compare several elements's frequency and evict the least
one.
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
We need to cancel all agent timer events on shutdown. This also needs to
happen early so that any in-progress events will execute before we start
flushing and cleaning up PGs.
Backport: firefly
Signed-off-by: Sage Weil <sage@inktank.com>
The 'applying' language dates back to when we would wait for acks from
replicas before applying writes locally. We don't do any of that any more;
now, this loop just cancels the repops with remove_repop() and some other
cleanup.
Signed-off-by: Sage Weil <sage@inktank.com>
The generic portion of on_change() cleaned up temporary on-disk objects
and requires a Transaction. The rest is clearing out in-memory state and
does not. Separate the two.
Signed-off-by: Sage Weil <sage@inktank.com>
A while ago we bumped the head version and reset the compat version to 0.
Doing this so happens to make the messenger assume that the message does
not support the compat versioning and sets the compat version to the head
version -- thus making compat = 2 when it should have been 1.
The nasty side-effect of this is that upgrading from emperor to firefly
will have emperor-leaders being unable to decode forwarded messages from
firefly-peons.
Fixes: #8727
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
MDS: Encode log events in a separate thread from main execution.
This is a first small step in multi-threading the MDS daemon.
Reviewed-by: Greg Farnum <greg@inktank.com>
Starting with the fast dispatch patches, we are calling the handle_connect
on loopback. Make sure we zap them on shutdown to break the Session <->
Connection ref cycle.
Signed-off-by: Sage Weil <sage@inktank.com>
This reverts commit ecda2fef8c.
This leaves Session* refs indefinitely in the map.
This was one source of #7995.
Signed-off-by: Sage Weil <sage@inktank.com>
- rbd-fuse depends on librados2/librbd1
- ceph-devel depends on specific releases of libs and libcephfs_jni1
- librbd1 depends on librados2
- python-ceph does not depend on libcephfs1
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Instead of fragile assumptions about what pools
do or do not exist by default, simply use what
exists at test setup time as a baseline.
Fixes: #8751
Signed-off-by: John Spray <john.spray@redhat.com>
Since we removed the default 'data' and 'metadata' pools,
tests which need a pool should create it themselves.
Signed-off-by: John Spray <john.spray@redhat.com>
We observed that the WBThrottle perfcounters are leaking upwards
at a rate of around 50-100 ios_dirtied per day. The counters are
currently not decremented in clear_object, so that's the likely
explanation. Decrement them like elsewhere in WBThrottle.
Signed-off-by: Dan van der Ster <daniel.vanderster@cern.ch>
Now most of GenericObjectMap interfaces use header as argument not the union of
coll_t and ghobject_t. So caller should be responsible for maintain the
exclusive header.
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
In the performance statistic recently, the header lookup becomes the main time
consuming for the read/write operations. Most of time it occur 50% to deal with
header lookup, decode/encode logics.
Now adding header cache using SharedLRU structure which will maintain the header
cache and caller will get the pointer to the real header. It also avoid too much
header copy operations overhead.
Signed-off-by: Haomai Wang <haomaiwang@gmail.com>