Comments (4)
Don't we already have an open issue on the Alternator TTL scanning losing its scheduling group? This looks like a dup.
from scylladb.
Don't we already have an open issue on the Alternator TTL scanning losing its scheduling group? This looks like a dup.
I guess we didn't, so let me explain this now:
As explained in #17609, when we implemented Alternator's TTL feature, which has a background thread scanning the database for expired rows, we did not implement any controller on how fast this scanning should proceed. Instead, we let the scanner run in the maintenance scheduling group, and the theory is that the scheduler will then ensure that this work cannot hurt the latency of the main workload (which runs in the query scheduling group), and also its throughput reduction will be limited to the amount of shares configured for the maintenance scheduling group.
However, experimentation showed that not all scanning work was done in the maintenance scheduling group. When node A runs the expiration scanner on node A on maintenance scheduling-group, and performs a read request to remote node B, that read request was supposed to also be run on maintenance scheduling-group. But it turns out that it didn't, and this is the bug reported in this issue: The node B ran the read request on the default request scheduling group, not the inherited one.
from scylladb.
I added an assignment to myself to write a test for this issue (@denesb has already provided a fix, #18729, but we also need a test). I think this is an important issue to fix (we now believe that users who used TTL encountered it almost immediately, and some performance problems we saw in tests were also caused by this), so I want this fix to go in.
from scylladb.
I wrote a test reproducing the bug and validating @denesb 's patch: #18757
from scylladb.
Related Issues (20)
- tablets: alter keyspace - loosen rejection criteria
- Optimal way of adding node in a heavy loaded ScyllaDB cluster HOT 3
- Slow bootstrap of nodes on multi DC cluster due to repair HOT 5
- coredump while Shutting down system distributed keyspace during scylla stop HOT 2
- Memory issues occurred when deploying the scylladb helm chart provided by Bitnami on Container Cloud HOT 7
- test_view_tombstone: AssertionError: Expected [[1, 1, 'b', 3.0]] from SELECT * FROM t_by_v WHERE v = 1, but got [] HOT 2
- TestMaterializedViews.test_base_replica_repair: AssertionError: Expected [[0, 0, 'a', 3.0]] from SELECT * FROM t_by_v WHERE v = 0, but got []
- Tablet migration and view update from staging don't interact well HOT 1
- Raft topology error injections: decommission process stuck while boostrapping node is paused HOT 1
- Unnecessary building of view updates (during RMW) in pending replica HOT 1
- raft: make group0 memory state changes atomic and extensible HOT 1
- [x86_64, dev] topology_custom/test_raft_recovery_stuck failed with NoHostAvailable
- "enable_tablets" option is not documented
- abseil is not built with proper `-O` option
- docs: Issue on page CDC Overview
- docs: set branch-6.0 as the latest version HOT 3
- Changes of live endpoints can delay marking node as DOWN indefinitely HOT 1
- hinted handoff: Scylla may initialize endpoint managers for invalid hint directories
- Guarantee schema version monotonicity HOT 1
- [x86_64, debug] boost/memtable_test failed with test/boost/memtable_test.cc:1079:
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scylladb.