{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":28449431,"defaultBranch":"master","name":"scylladb","ownerLogin":"scylladb","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-12-24T13:16:33.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/14364730?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717658616.0","currentOid":""},"activityList":{"items":[{"before":"bac7e1e942084d69cea43a0ff688a18a73ae340f","after":"82875095e96a3ccbefceda8f4b274fa4cb623719","ref":"refs/heads/next","pushedAt":"2024-06-06T12:18:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"denesb","name":"Botond Dénes","path":"/denesb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1389273?s=80&v=4"},"commit":{"message":"Raft: improve descriptions of metrics\n\n1. Fixed a single typo (send -> sent)\n2. Rephrase 'How many' to 'Number of' and use less passive tense.\n3. Be more specific in the description of the different metrics insteda of the more generic descriptions.\n\nSigned-off-by: Yaniv Kaul \n\nCloses scylladb/scylladb#19067","shortMessageHtmlLink":"Raft: improve descriptions of metrics"}},{"before":"57e810c852e3152b6e319465f582bd9b93d7c3c7","after":"bac7e1e942084d69cea43a0ff688a18a73ae340f","ref":"refs/heads/next","pushedAt":"2024-06-06T12:06:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"avikivity","name":"Avi Kivity","path":"/avikivity","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1017210?s=80&v=4"},"commit":{"message":"doc: document \"enable_tablets\" option\n\nit sets the cluster feature of tablets, and is a prerequisite for\nusing tablets.\n\nRefs #18670\nSigned-off-by: Kefu Chai \n\nCloses scylladb/scylladb#19090","shortMessageHtmlLink":"doc: document \"enable_tablets\" option"}},{"before":"8d12eeee625c8584ff5f6688e617e260b8852e40","after":"b7fe4412d0eefbab9cc3f7c1b25e278ec7f12f46","ref":"refs/heads/branch-6.0","pushedAt":"2024-06-06T10:37:03.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"scylladb-promoter","name":null,"path":"/scylladb-promoter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36883350?s=80&v=4"},"commit":{"message":"test: pylib: Fetch all pages by default in run_async\n\nFetching only the first page is not the intuitive behavior expected by users.\n\nThis causes flakiness in some tests which generate variable amount of\nkeys depending on execution speed and verify later that all keys were\nwritten using a single SELECT statement. When the amount of keys\nbecomes larger than page size, the test fails.\n\nFixes #18774\n\n(cherry picked from commit 2c3f7c996f98f0895332cdae44d314da9bc516a2)\n\nCloses scylladb/scylladb#19130","shortMessageHtmlLink":"test: pylib: Fetch all pages by default in run_async"}},{"before":"b7fe4412d0eefbab9cc3f7c1b25e278ec7f12f46","after":"5d3dde50f4a7352c9155ee231d3a53e286bbbb66","ref":"refs/heads/next-6.0","pushedAt":"2024-06-06T09:35:27.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"kbr-scylla","name":"Kamil Braun","path":"/kbr-scylla","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/120044486?s=80&v=4"},"commit":{"message":"Merge '[Backport 6.0] Fail bootstrap if ip mapping is missing during double write stage' from ScyllaDB\n\nIf a node restart just before it stores bootstrapping node's IP it will\nnot have ID to IP mapping for bootstrapping node which may cause failure\non a write path. Detect this and fail bootstrapping if it happens.\n\n(cherry picked from commit 1faef47952d3ab9f14b730cdb62ef73b7ec2126d)\n\n(cherry picked from commit 27445f5291115c50156598be474e17fe12a6e914)\n\n(cherry picked from commit 6853b02c00321a4e1b1732182c8760f6448e8949)\n\n(cherry picked from commit f91db0c1e4f1774b86270beef854fb2249ab7fc2)\n\n Refs #18927\n\nCloses scylladb/scylladb#19118\n\n* github.com:scylladb/scylladb:\n raft topology: fix indentation after previous commit\n raft topology: do not add bootstrapping node without IP as pending\n test: add test of bootstrap where the coordinator crashes just before storing IP mapping\n schema_tables: remove unused code","shortMessageHtmlLink":"Merge '[Backport 6.0] Fail bootstrap if ip mapping is missing during …"}},{"before":"256517b570df0f400f44c95cb4544c98dc1f467f","after":"57e810c852e3152b6e319465f582bd9b93d7c3c7","ref":"refs/heads/next","pushedAt":"2024-06-06T09:27:16.000Z","pushType":"push","commitsCount":8,"pusher":{"login":"kbr-scylla","name":"Kamil Braun","path":"/kbr-scylla","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/120044486?s=80&v=4"},"commit":{"message":"Merge 'Serialize repair with tablet migration' from Tomasz Grabiec\n\nWe want to exclude repair with tablet migrations to avoid races\nbetween repair reads and writes with replica movement. Repair is not\nprepared to handle topology transitions in the middle.\n\nOne reason why it's not safe is that repair may successfully write to\na leaving replica post streaming phase and consider all replicas to be\nrepaired, but in fact they are not, the new replica would not be\nrepaired.\n\nOther kinds of races could result in repair failures. If repair writes\nto a leaving replica which was already cleaned up, such writes will\nfail, causing repair to fail.\n\nExcluding works by keeping effective_replication_map_ptr in a version\nwhich doesn't have table's tablets in transitions. That prevents later\ntransitions from starting because topology coordinator's barrier will\nwait for that erm before moving to a stage later than\nallow_write_both_read_old, so before any requests start using the new\ntopology. Also, if transitions are already running, repair waits for\nthem to finish.\n\nA blocked tablet migration (e.g. due to down node) will block repair,\nwhereas before it would fail. Once admin resolves the cause of blocked migration,\nrepair will continue.\n\nFixes #17658.\nFixes #18561.\n\nCloses scylladb/scylladb#18641\n\n* github.com:scylladb/scylladb:\n test: pylib: Do not block async reactor while removing directories\n repair: Exclude tablet migrations with tablet repair\n repair_service: Propagate topology_state_machine to repair_service\n main, storage_service: Move topology_state_machine outside storage_service\n storage_srvice, toplogy: Extract topology_state_machine::await_quiesced()\n tablet_scheduler: Make disabling of balancing interrupt shuffle mode\n tablet_scheduler: Log whether balancing is considered as enabled","shortMessageHtmlLink":"Merge 'Serialize repair with tablet migration' from Tomasz Grabiec"}},{"before":"8ff1742182bae7111952c57c411a18efd1a9b20f","after":"256517b570df0f400f44c95cb4544c98dc1f467f","ref":"refs/heads/next","pushedAt":"2024-06-06T09:24:10.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"kbr-scylla","name":"Kamil Braun","path":"/kbr-scylla","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/120044486?s=80&v=4"},"commit":{"message":"Merge 'tablets: Filter-out left nodes in get_natural_endpoints()' from Tomasz Grabiec\n\nThe API already promises this, the comment on effective_replication_map says:\n\"Excludes replicas which are in the left state\".\n\nTablet replicas on the replaced node are rebuilt after the node\nalready left. We may no longer have the IP mapping for the left node\nso we should not include that node in the replica set. Otherwise,\nstorage_proxy may try to use the empty IP and fail:\n\n storage_proxy - No mapping for :: in the passed effective replication map\n\nIt's fine to not include it, because storage proxy uses keyspace RF\nand not replica list size to determine quorum. The node is not coming\nup, so noone should need to contact it.\n\nUsers which need replica list stability should use the host_id-based API.\n\nFixes #18843\n\nCloses scylladb/scylladb#18955\n\n* github.com:scylladb/scylladb:\n tablets: Filter-out left nodes in get_natural_endpoints()\n test: pylib: Extract start_writes() load generator utility","shortMessageHtmlLink":"Merge 'tablets: Filter-out left nodes in get_natural_endpoints()' fro…"}},{"before":"65021c4b1c3429ca7d6434784dce22cecc44ec98","after":"8d12eeee625c8584ff5f6688e617e260b8852e40","ref":"refs/heads/branch-6.0","pushedAt":"2024-06-06T07:46:57.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"scylladb-promoter","name":null,"path":"/scylladb-promoter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36883350?s=80&v=4"},"commit":{"message":"Merge '[Backport 6.0] tasks: introduce task manager's task folding' from Aleksandra Martyniuk\n\nTask manager's tasks stay in memory after they are finished.\nMoreover, even if a child task is unregistered from task manager,\nit is still alive since its parent keeps a foreign pointer to it. Also,\nwhen a task has finished successfully there is no point in keeping\nall of its descendants in memory.\n\nThe patch introduces folding of task manager's tasks. Whenever\na task which has a parent is finished it is unregistered from task\nmanager and foreign_ptr to it (kept in its parent) is replaced\nwith its status. Children's statuses of the task are dropped unless\nthey or one of their descendants failed. So for each operation we\nkeep a tree of tasks which contains:\n- a root task and its direct children (status if they are finished, a task\n otherwise);\n- running tasks and their direct children (same as above);\n- a statuses path from root to failed tasks.\n\n/task_manager/wait_task/ does not unregister tasks anymore.\n\nRefs: https://github.com/scylladb/scylladb/issues/16694.\n\n- [ ] ** Backport reason (please explain below if this patch should be backported or not) **\nRequires backport to 6.0 as task number exploded with tablets.\n\n(cherry picked from commit https://github.com/scylladb/scylladb/commit/6add9edf8a760c12cccb488ae0bf1380f8fac199)\n\n(cherry picked from commit https://github.com/scylladb/scylladb/commit/319e799089abd8e30ad94d3fac954e2e53d00f1f)\n\n(cherry picked from commit https://github.com/scylladb/scylladb/commit/e6c50ad2d0973a3718c69fb35754e3f72380629a)\n\n(cherry picked from commit https://github.com/scylladb/scylladb/commit/a82a2f062472aa65aaa2383160f1fd42a8a1f6d3)\n\n(cherry picked from commit https://github.com/scylladb/scylladb/commit/c1b2b8cb2c35ec28a35d59619f6d56b895e9b2e3)\n\n(cherry picked from commit https://github.com/scylladb/scylladb/commit/30f97ea133ee65baf23bf2a54d4f715572281c00)\n\n(cherry picked from commit https://github.com/scylladb/scylladb/commit/fc0796f684a08aabe8e0e1fcf56117bc7d0a21b8)\n\n(cherry picked from commit https://github.com/scylladb/scylladb/commit/d7e80a6520ca4c0c33d8802b434f9a72b9597542)\n\n(cherry picked from commit https://github.com/scylladb/scylladb/commit/beef77a778e1b5fa182e710102969ed9a0d5d592)\n\nRefs https://github.com/scylladb/scylladb/pull/18735\n\nCloses scylladb/scylladb#19104\n\n* github.com:scylladb/scylladb:\n docs: describe task folding\n test: rest_api: add test for task tree structure\n test: rest_api: modify new_test_module\n tasks: test: modify test_task methods\n api: task_manager: do not unregister task in /task_manager/wait_task/\n tasks: unregister tasks with parents when they are finished\n tasks: fold finished tasks info their parents\n tasks: make task_manager::task::impl::finish_failed noexcept\n tasks: change _children type","shortMessageHtmlLink":"Merge '[Backport 6.0] tasks: introduce task manager's task folding' f…"}},{"before":null,"after":"abe6c945af2d2fe68392513747f1cd7292465845","ref":"refs/heads/mergify/copy/branch-6.0/pr-18990","pushedAt":"2024-06-06T07:23:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mergify[bot]","name":null,"path":"/apps/mergify","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10562?s=80&v=4"},"commit":{"message":"Update tools/cqlsh submodule v6.0.20\n\n* tools/cqlsh c8158555...0d58e5ce (6):\n > cqlsh.py: fix server side describe after login command\n > cqlsh: try server-side DESCRIBE, then client-side\n > Refactor tests to accept both client and server side describe\n > github actions: support testing with enterprise release\n > Add the tab-completion support of SERVICE_LEVEL statements\n > reloc/build_reloc.sh: don't use `--no-build-isolation`\n\nCloses: scylladb/scylladb#18989\n(cherry picked from commit af9a6aa627b05c3ec0ed2ec05f8928e02950163f)","shortMessageHtmlLink":"Update tools/cqlsh submodule v6.0.20"}},{"before":"2c3f7c996f98f0895332cdae44d314da9bc516a2","after":"1fd600999b7a26e2289cfabe6c8df251d3654b5b","ref":"refs/heads/master","pushedAt":"2024-06-06T07:21:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"scylladb-promoter","name":null,"path":"/scylladb-promoter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36883350?s=80&v=4"},"commit":{"message":"Update tools/cqlsh submodule v6.0.20\n\n* tools/cqlsh c8158555...0d58e5ce (6):\n > cqlsh.py: fix server side describe after login command\n > cqlsh: try server-side DESCRIBE, then client-side\n > Refactor tests to accept both client and server side describe\n > github actions: support testing with enterprise release\n > Add the tab-completion support of SERVICE_LEVEL statements\n > reloc/build_reloc.sh: don't use `--no-build-isolation`\n\nCloses scylladb/scylladb#18990","shortMessageHtmlLink":"Update tools/cqlsh submodule v6.0.20"}},{"before":"cd10beb89dcd60ef32159a564835bd136fa1c989","after":"8ff1742182bae7111952c57c411a18efd1a9b20f","ref":"refs/heads/next","pushedAt":"2024-06-06T06:14:39.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"denesb","name":"Botond Dénes","path":"/denesb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1389273?s=80&v=4"},"commit":{"message":"Merge 'Relax production_snitch_base's property file parsing' from Pavel Emelyanov\n\nIt consists of reading method and parsing one and it uses class fields to carry data between those two. The former is additionally built with curly continuation chains, while it's naturally linear, so turn it into a coroutine while at it\n\nCloses scylladb/scylladb#18994\n\n* github.com:scylladb/scylladb:\n snitch: Remove production_snitch_base::_prop_file_contents\n snitch: Remove production_snitch_base::_prop_file_size\n snitch: Coroutinize load_property_file()","shortMessageHtmlLink":"Merge 'Relax production_snitch_base's property file parsing' from Pav…"}},{"before":"44975abe183b7b3e9336e5ea7e3bf92bfdca2593","after":"cd10beb89dcd60ef32159a564835bd136fa1c989","ref":"refs/heads/next","pushedAt":"2024-06-06T06:12:59.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"denesb","name":"Botond Dénes","path":"/denesb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1389273?s=80&v=4"},"commit":{"message":"Merge 'Don't use db::config by gossiper' from Pavel Emelyanov\n\nAll sharded's a supposed to have their own config and not use global db::config one. The service config, in turn, is to be created by main/cql_test_env/whatever out of db::config and, maybe, other data. Gossiper is almost there, but it still uses db::config in few places.\n\nCloses scylladb/scylladb#19051\n\n* github.com:scylladb/scylladb:\n gossiper: Stop using db::config\n gossiper: Move force_gossip_generation on gossip_config\n gossiper: Move failure_detector_timeout_ms on gossip_config\n main: Fix indentation after previous patch\n main: Make gossiper config a sharded parameter\n main: Add local variable for set of seeds\n main: Add local variable for group0 id\n main: Add local variable for cluster_name","shortMessageHtmlLink":"Merge 'Don't use db::config by gossiper' from Pavel Emelyanov"}},{"before":"db5c23491e303ccad43c7cf969a9b588a09881c9","after":"44975abe183b7b3e9336e5ea7e3bf92bfdca2593","ref":"refs/heads/next","pushedAt":"2024-06-06T06:08:20.000Z","pushType":"push","commitsCount":11,"pusher":{"login":"denesb","name":"Botond Dénes","path":"/denesb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1389273?s=80&v=4"},"commit":{"message":"Merge 'Sanitize start-stop of protocol servers' from Pavel Emelyanov\n\nProtocol servers are started last, and are registered in storage_service, which stops them. Also there are deferred actions scheduled to stop protocol servers on aborted start and a FIXME asking to make even this case rely on storage_service. Also, there's a (rather rare) aborted-start bug in alternator and redis. Yet, thrift can be left started in some weird circumstances. This patch fixes it all. As a side effect, the start-stop code becomes shorter and a bit better structured.\n\nrefs: #2737\n\nCloses scylladb/scylladb#19042\n\n* github.com:scylladb/scylladb:\n main: Start alternator expiration service earlier\n main: Start redis transparently\n main: Start alternator transparently\n main: Start thrift transparently\n main: Start native transport transparently\n storage_service: Make register_protocol_server() start the server\n storage_service: Turn register_protocol_server() async method\n storage_service: Outline register_protocol_server()\n main: Schedule deferred drain_on_shutdown() prior to protocol servers\n main: Move some trailing startup earlier","shortMessageHtmlLink":"Merge 'Sanitize start-stop of protocol servers' from Pavel Emelyanov"}},{"before":"acc438e98bf452be9981b7cc7d99c8c23b1a0548","after":"db5c23491e303ccad43c7cf969a9b588a09881c9","ref":"refs/heads/next","pushedAt":"2024-06-06T06:02:32.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"denesb","name":"Botond Dénes","path":"/denesb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1389273?s=80&v=4"},"commit":{"message":"Merge '.github: annotate the report from clang-include-cleaner' from Kefu Chai\n\nthis series\n\n* add annotation to the github pull request when extraneous `#include` processor macros are identified\n* add `exceptions` subdirectory to `CLEANER_DIRS` to demonstrate the annotation. we will fix the identified issue in a follow-up change.\n ---\n* This is a CI workflow improvement. No backporting is required.\n\nCloses scylladb/scylladb#19037\n\n* github.com:scylladb/scylladb:\n .github: add exception to CLEANER_DIRS\n .github: annotate the report from clang-include-cleaner\n .github: build headers before running clang-include-cleaner","shortMessageHtmlLink":"Merge '.github: annotate the report from clang-include-cleaner' from …"}},{"before":"c30f81c389fac6c3d5a543fa9258541d13b397ed","after":"acc438e98bf452be9981b7cc7d99c8c23b1a0548","ref":"refs/heads/next","pushedAt":"2024-06-06T05:58:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"denesb","name":"Botond Dénes","path":"/denesb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1389273?s=80&v=4"},"commit":{"message":"view-update-generator: Start in provided scheduling group\n\nCurrently it gets the streaming/maintenance one from database, but it\ncan as well just assume that it's already running in the correct one,\nand the main code fulfils this assumption.\n\nThis removes one more place that uses database as sched groups provider.\n\nSigned-off-by: Pavel Emelyanov \n\nCloses scylladb/scylladb#19078","shortMessageHtmlLink":"view-update-generator: Start in provided scheduling group"}},{"before":"7aa9bfa661aeddca537cb6b00e00005fbe83bcf9","after":"c30f81c389fac6c3d5a543fa9258541d13b397ed","ref":"refs/heads/next","pushedAt":"2024-06-06T05:56:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"denesb","name":"Botond Dénes","path":"/denesb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1389273?s=80&v=4"},"commit":{"message":"Docs: fix start command in Update replace-dead-node.rst\n\nFix #18920\n\nCloses scylladb/scylladb#18922","shortMessageHtmlLink":"Docs: fix start command in Update replace-dead-node.rst"}},{"before":"b5fd854c77c4af591bb680a13879c7142d3e0515","after":"7aa9bfa661aeddca537cb6b00e00005fbe83bcf9","ref":"refs/heads/next","pushedAt":"2024-06-06T05:54:48.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"denesb","name":"Botond Dénes","path":"/denesb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1389273?s=80&v=4"},"commit":{"message":"Merge 'util/result_try: pass template arg list explicitly' from Kefu Chai\n\nclang-19 introduced a change which enforces the change proposed by [CWG 96](https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#96), which was accepted by C++20 in [P1787R6](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1787r6.html), as [[temp.names]p5](https://eel.is/c++draft/temp.names#6).\n\nso, to be future-proof and to be standard compliant, let's pass the\ntemplate arguments. otherwise we'd have build failure like\n```\nerror: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]\n```\n\n---\n\nno need to backport. as this change only addresses a FTBFS with a recent build of clang-19. but our CI is not a clang built from llvm's main HEAD.\n\nCloses scylladb/scylladb#19100\n\n* github.com:scylladb/scylladb:\n util/result_try: pass template arg list explicitly\n util/result_try: pass func as `const F&` instead of `F&&`","shortMessageHtmlLink":"Merge 'util/result_try: pass template arg list explicitly' from Kefu …"}},{"before":"4606302ead80900983f429bc645514a8ba4964b5","after":"b5fd854c77c4af591bb680a13879c7142d3e0515","ref":"refs/heads/next","pushedAt":"2024-06-06T05:53:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"denesb","name":"Botond Dénes","path":"/denesb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1389273?s=80&v=4"},"commit":{"message":"cql-pytest: be more forgiving to ancient versions of Scylla\n\nWe recently added to cql-pytest tests the ability to check if tablets\nare enabled or not (for some tablet-specific tests). When running\ntests against Cassandra or old pre-tablet versions of Scylla, this\nfact is detected and \"False\" is returned immediately. However, we\nstill look at a system table which didn't exist on really ancient\nversions of Scylla, and tests couldn't run against such versions.\n\nThe fix is trivial: if that system table is missing, just ignore the\nerror and return False (i.e., no tablets). There were no tablets on\nsuch ancient versions of Scylla.\n\nSigned-off-by: Nadav Har'El \n\nCloses scylladb/scylladb#19098","shortMessageHtmlLink":"cql-pytest: be more forgiving to ancient versions of Scylla"}},{"before":"84f0bab27c7e1be5ec46195d22a68b21dc7f8de7","after":"4606302ead80900983f429bc645514a8ba4964b5","ref":"refs/heads/next","pushedAt":"2024-06-06T05:49:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"denesb","name":"Botond Dénes","path":"/denesb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1389273?s=80&v=4"},"commit":{"message":"distributed_loader: Remove base_path from populator\n\nIt's unused, populator uses it to print debugging messages, but it can\nas well use table->dir() for it, just as sstable_directory does. One\nmessage looks useless and is removed.\n\nSigned-off-by: Pavel Emelyanov \n\nCloses scylladb/scylladb#19113","shortMessageHtmlLink":"distributed_loader: Remove base_path from populator"}},{"before":"ad0e6b79fc73b3ef5e9c58bf60610fae491cab3b","after":"84f0bab27c7e1be5ec46195d22a68b21dc7f8de7","ref":"refs/heads/next","pushedAt":"2024-06-06T05:31:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"denesb","name":"Botond Dénes","path":"/denesb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1389273?s=80&v=4"},"commit":{"message":"hints/manager: Simplify hints dir evaluation\n\nCurrently the code wraps simple \"if\" with std::invoke over a lambda.\nAlso, the local variable that gets the result, is declared as const one,\nwhich prevents it from being std::move()-d in the very next line.\n\nSigned-off-by: Pavel Emelyanov \n\nCloses scylladb/scylladb#19106","shortMessageHtmlLink":"hints/manager: Simplify hints dir evaluation"}},{"before":"4a36918989b7d2c589332d57a406dc383e5bf3a0","after":"ad0e6b79fc73b3ef5e9c58bf60610fae491cab3b","ref":"refs/heads/next","pushedAt":"2024-06-06T05:30:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"denesb","name":"Botond Dénes","path":"/denesb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1389273?s=80&v=4"},"commit":{"message":"replica: Remove all_datadir from keyspace config\n\nThis vector of paths is only used to generate the same vector of paths\nfor table config, but the latter already has all the needed info.\n\nIt's the part of the plan to stop using paths/directories in keyspaces\nand tables, because with storage-options tables no longer keep their\ndata in \"files on disk\", so this information goes to sstables storage\nmanager (refs #12707)\n\nSigned-off-by: Pavel Emelyanov \n\nCloses scylladb/scylladb#19119","shortMessageHtmlLink":"replica: Remove all_datadir from keyspace config"}},{"before":"b46ab5699e7290cc34f3192eb1646b49b98103c0","after":null,"ref":"refs/heads/mergify/copy/branch-5.4/pr-18560","pushedAt":"2024-06-06T05:27:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mergify[bot]","name":null,"path":"/apps/mergify","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10562?s=80&v=4"}},{"before":"fd7284ec0640065c1a4750ea87e9e285ebcb9a4a","after":"b7fe4412d0eefbab9cc3f7c1b25e278ec7f12f46","ref":"refs/heads/next-6.0","pushedAt":"2024-06-06T05:23:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"denesb","name":"Botond Dénes","path":"/denesb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1389273?s=80&v=4"},"commit":{"message":"test: pylib: Fetch all pages by default in run_async\n\nFetching only the first page is not the intuitive behavior expected by users.\n\nThis causes flakiness in some tests which generate variable amount of\nkeys depending on execution speed and verify later that all keys were\nwritten using a single SELECT statement. When the amount of keys\nbecomes larger than page size, the test fails.\n\nFixes #18774\n\n(cherry picked from commit 2c3f7c996f98f0895332cdae44d314da9bc516a2)\n\nCloses scylladb/scylladb#19130","shortMessageHtmlLink":"test: pylib: Fetch all pages by default in run_async"}},{"before":"8d12eeee625c8584ff5f6688e617e260b8852e40","after":"fd7284ec0640065c1a4750ea87e9e285ebcb9a4a","ref":"refs/heads/next-6.0","pushedAt":"2024-06-06T05:21:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"denesb","name":"Botond Dénes","path":"/denesb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1389273?s=80&v=4"},"commit":{"message":"gms: endpoint_state: get_dc_rack: do not assign to uninitialized memory\n\nAssigning to a member of an uninitialized optional\ndoes not initialize the object before assigning to it.\nThis resulted in the AddressSanitizer detecting attempt\nto double-free when the uninitialized string contained\napprently a bogus pointer.\n\nThe change emplaces the returned optional when needed\nwithout resorting to the copy-assignment operator.\nSo it's not suceptible to assigning to uninitialized\nmemory, and it's more efficient as well...\n\nFixes scylladb/scylladb#19041\n\nSigned-off-by: Benny Halevy \n(cherry picked from commit b2fa954d82a54c3f9c6db7b9bfab55fba5a210cc)\n\nCloses scylladb/scylladb#19117","shortMessageHtmlLink":"gms: endpoint_state: get_dc_rack: do not assign to uninitialized memory"}},{"before":"15aa653d3e1d1692c15862afa6d0694e01ed58a9","after":null,"ref":"refs/heads/mergify/copy/branch-6.0/pr-18998","pushedAt":"2024-06-06T05:19:57.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mergify[bot]","name":null,"path":"/apps/mergify","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10562?s=80&v=4"}},{"before":"b031d9cb04ed91bfda01ed406550cdee9412f719","after":null,"ref":"refs/heads/mergify/copy/branch-6.0/pr-18785","pushedAt":"2024-06-06T05:19:38.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mergify[bot]","name":null,"path":"/apps/mergify","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10562?s=80&v=4"}},{"before":"65021c4b1c3429ca7d6434784dce22cecc44ec98","after":"8d12eeee625c8584ff5f6688e617e260b8852e40","ref":"refs/heads/next-6.0","pushedAt":"2024-06-06T04:56:42.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"denesb","name":"Botond Dénes","path":"/denesb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1389273?s=80&v=4"},"commit":{"message":"Merge '[Backport 6.0] tasks: introduce task manager's task folding' from Aleksandra Martyniuk\n\nTask manager's tasks stay in memory after they are finished.\nMoreover, even if a child task is unregistered from task manager,\nit is still alive since its parent keeps a foreign pointer to it. Also,\nwhen a task has finished successfully there is no point in keeping\nall of its descendants in memory.\n\nThe patch introduces folding of task manager's tasks. Whenever\na task which has a parent is finished it is unregistered from task\nmanager and foreign_ptr to it (kept in its parent) is replaced\nwith its status. Children's statuses of the task are dropped unless\nthey or one of their descendants failed. So for each operation we\nkeep a tree of tasks which contains:\n- a root task and its direct children (status if they are finished, a task\n otherwise);\n- running tasks and their direct children (same as above);\n- a statuses path from root to failed tasks.\n\n/task_manager/wait_task/ does not unregister tasks anymore.\n\nRefs: https://github.com/scylladb/scylladb/issues/16694.\n\n- [ ] ** Backport reason (please explain below if this patch should be backported or not) **\nRequires backport to 6.0 as task number exploded with tablets.\n\n(cherry picked from commit https://github.com/scylladb/scylladb/commit/6add9edf8a760c12cccb488ae0bf1380f8fac199)\n\n(cherry picked from commit https://github.com/scylladb/scylladb/commit/319e799089abd8e30ad94d3fac954e2e53d00f1f)\n\n(cherry picked from commit https://github.com/scylladb/scylladb/commit/e6c50ad2d0973a3718c69fb35754e3f72380629a)\n\n(cherry picked from commit https://github.com/scylladb/scylladb/commit/a82a2f062472aa65aaa2383160f1fd42a8a1f6d3)\n\n(cherry picked from commit https://github.com/scylladb/scylladb/commit/c1b2b8cb2c35ec28a35d59619f6d56b895e9b2e3)\n\n(cherry picked from commit https://github.com/scylladb/scylladb/commit/30f97ea133ee65baf23bf2a54d4f715572281c00)\n\n(cherry picked from commit https://github.com/scylladb/scylladb/commit/fc0796f684a08aabe8e0e1fcf56117bc7d0a21b8)\n\n(cherry picked from commit https://github.com/scylladb/scylladb/commit/d7e80a6520ca4c0c33d8802b434f9a72b9597542)\n\n(cherry picked from commit https://github.com/scylladb/scylladb/commit/beef77a778e1b5fa182e710102969ed9a0d5d592)\n\nRefs https://github.com/scylladb/scylladb/pull/18735\n\nCloses scylladb/scylladb#19104\n\n* github.com:scylladb/scylladb:\n docs: describe task folding\n test: rest_api: add test for task tree structure\n test: rest_api: modify new_test_module\n tasks: test: modify test_task methods\n api: task_manager: do not unregister task in /task_manager/wait_task/\n tasks: unregister tasks with parents when they are finished\n tasks: fold finished tasks info their parents\n tasks: make task_manager::task::impl::finish_failed noexcept\n tasks: change _children type","shortMessageHtmlLink":"Merge '[Backport 6.0] tasks: introduce task manager's task folding' f…"}},{"before":"1fd600999b7a26e2289cfabe6c8df251d3654b5b","after":"4a36918989b7d2c589332d57a406dc383e5bf3a0","ref":"refs/heads/next","pushedAt":"2024-06-06T04:55:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"denesb","name":"Botond Dénes","path":"/denesb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1389273?s=80&v=4"},"commit":{"message":"topology_coordinator: handle/wait futures when stopping topology_coordinator\n\nbefore this change, unlike other services in scylla,\ntopology_coordinator is not properly stopped when it is aborted,\nbecause the scylla instance is no longer a leader or is being shut down.\nits `run()` method just stops the grand loop and bails out before\ntopology_coordinator is destroyed. but we are tracking the migration\nstate of tablets using a bunch of futures, which might not be\nhandled yet, and some of them could carry failures. in that case,\nwhen the `future` instances with failure state get destroyed,\nseastar calls `report_failed_future`. and seastar considers this\npractice a source a bug -- as one just fails to handle an error.\nthat's why we have following error:\n\n```\nWARN 2024-05-19 23:00:42,895 [shard 0:strm] seastar - Exceptional future ignored: seastar::rpc::unknown_verb_error (unknown verb), backtrace: /home/bhalevy/.ccm/scylla-repository/local_tarball/libreloc/libseastar.so+0x56c14e /home/bhalevy/.ccm/scylla-repository/local_tarball/libre\nloc/libseastar.so+0x56c770 /home/bhalevy/.ccm/scylla-repository/local_tarball/libreloc/libseastar.so+0x56ca58 /home/bhalevy/.ccm/scylla-repository/local_tarball/libreloc/libseastar.so+0x38c6ad 0x29cdd07 0x29b376b 0x29a5b65 0x108105a /home/bhalevy/.ccm/scylla-repository/local_tarbal\nl/libreloc/libseastar.so+0x3ff1df /home/bhalevy/.ccm/scylla-repository/local_tarball/libreloc/libseastar.so+0x400367 /home/bhalevy/.ccm/scylla-repository/local_tarball/libreloc/libseastar.so+0x3ff838 /home/bhalevy/.ccm/scylla-repository/local_tarball/libreloc/libseastar.so+0x36de58\n /home/bhalevy/.ccm/scylla-repository/local_tarball/libreloc/libseastar.so+0x36d092 0x1017cba 0x1055080 0x1016ba7 /home/bhalevy/.ccm/scylla-repository/local_tarball/libreloc/libc.so.6+0x27b89 /home/bhalevy/.ccm/scylla-repository/local_tarball/libreloc/libc.so.6+0x27c4a 0x1015524\n```\nand the backtrace looks like:\n```\nseastar::current_backtrace_tasklocal() at ??:?\nseastar::current_tasktrace() at ??:?\nseastar::current_backtrace() at ??:?\nseastar::report_failed_future(seastar::future_state_base::any&&) at ??:?\nservice::topology_coordinator::tablet_migration_state::~tablet_migration_state() at topology_coordinator.cc:?\nservice::topology_coordinator::~topology_coordinator() at topology_coordinator.cc:?\nservice::run_topology_coordinator(seastar::sharded&, gms::gossiper&, netw::messaging_service&, locator::shared_token_metadata&, db::system_keyspace&, replica::database&, service::raft_group0&, service::topology_state_machine&, seastar::abort_source&, raft::server&, seastar::noncopyable_function (utils::tagged_tagged_integer, unsigned long, service::raft_topology_cmd const&)>, service::tablet_allocator&, std::chrono::duration >, service::endpoint_lifecycle_notifier&) [clone .resume] at topology_coordinator.cc:?\nseastar::internal::coroutine_traits_base::promise_type::run_and_dispose() at main.cc:?\nseastar::reactor::run_some_tasks() at ??:?\nseastar::reactor::do_run() at ??:?\nseastar::reactor::run() at ??:?\nseastar::app_template::run_deprecated(int, char**, std::function&&) at ??:?\n```\n\nand even worse, these futures are indirectly owned by `topology_coordinator`.\nso there are chances that they could be used even after `topology_coordinator`\nis destroyed. this is a use-after-free issue. because the\n`run_topology_coordinator` fiber exits when the scylla instance retires\nfrom the leader's role, this use-after-free could be fatal to a\nrunning instance due to undefined behavior of use after free.\n\nso, in this change, we handle the futures in `_tablets`, and note\ndown the failures carried by them if any.\n\nFixes #18745\nSigned-off-by: Kefu Chai \n\nCloses scylladb/scylladb#18991","shortMessageHtmlLink":"topology_coordinator: handle/wait futures when stopping topology_coor…"}},{"before":"2c3f7c996f98f0895332cdae44d314da9bc516a2","after":"1fd600999b7a26e2289cfabe6c8df251d3654b5b","ref":"refs/heads/next","pushedAt":"2024-06-06T04:32:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"denesb","name":"Botond Dénes","path":"/denesb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1389273?s=80&v=4"},"commit":{"message":"Update tools/cqlsh submodule v6.0.20\n\n* tools/cqlsh c8158555...0d58e5ce (6):\n > cqlsh.py: fix server side describe after login command\n > cqlsh: try server-side DESCRIBE, then client-side\n > Refactor tests to accept both client and server side describe\n > github actions: support testing with enterprise release\n > Add the tab-completion support of SERVICE_LEVEL statements\n > reloc/build_reloc.sh: don't use `--no-build-isolation`\n\nCloses scylladb/scylladb#18990","shortMessageHtmlLink":"Update tools/cqlsh submodule v6.0.20"}},{"before":"2e836fa0776d67966cbfca5504861a0fbf20cd28","after":"1680bc2902d55f6f45ecca984d711ca530153af3","ref":"refs/heads/branch-5.4","pushedAt":"2024-06-05T19:13:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"scylladb-promoter","name":null,"path":"/scylladb-promoter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36883350?s=80&v=4"},"commit":{"message":"mv gossip: check errno instead of value returned by strtoull\n\nCurrently, when a view update backlog is changed and sent\nusing gossip, we check whether the strtoll/strtoull\nfunction used for reading the backlog returned\nLLONG_MAX/ULLONG_MAX, signaling an error of a value\nexceeding the type's limit, and if so, we do not store\nit as the new value for the node.\n\nHowever, the ULLONG_MAX value can also be used as the max\nbacklog size when sending empty backlogs that were never\nupdated. In theory, we could avoid sending the default\nbacklog because each node has its real backlog (based on\nthe node's memory, different than the ULLONG_MAX used in\nthe default backlog). In practice, if the node's\nbacklog changed to 0, the backlog sent by it will be\nlikely the default backlog, because when selecting\nthe biggest backlog across node's shards, we use the\noperator<=>(), which treats the default backlog as\nequal to an empty backlog and we may get the default\nbacklog during comparison if the backlog of some shard\nwas never changed (also it's the initial max value\nwe compare shard's backlogs against).\n\nThis patch removes the (U)LLONG_MAX check and replaces\nit with the errno check, which is also set to ERANGE during\nthe strtoll error, and which won't prevent empty backlogs\nfrom being read\n\nFixes: #18462\n(cherry picked from commit 5154429713134e9b01567a48acbd186e8c7f0052)\n\nCloses scylladb/scylladb#18697","shortMessageHtmlLink":"mv gossip: check errno instead of value returned by strtoull"}},{"before":null,"after":"b74080e41a145c76dd379ec03eb0aec8701199c4","ref":"refs/heads/mergify/copy/branch-6.0/pr-19004","pushedAt":"2024-06-05T19:10:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"mergify[bot]","name":null,"path":"/apps/mergify","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/10562?s=80&v=4"},"commit":{"message":"test: pylib: Fetch all pages by default in run_async\n\nFetching only the first page is not the intuitive behavior expected by users.\n\nThis causes flakiness in some tests which generate variable amount of\nkeys depending on execution speed and verify later that all keys were\nwritten using a single SELECT statement. When the amount of keys\nbecomes larger than page size, the test fails.\n\nFixes #18774\n\n(cherry picked from commit 43b907b4997d35d666b6530db8dad23a336e81f5)","shortMessageHtmlLink":"test: pylib: Fetch all pages by default in run_async"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEXidnDgA","startCursor":null,"endCursor":null}},"title":"Activity · scylladb/scylladb"}