{"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:1717701732.0","currentOid":""},"activityList":{"items":[{"before":"82875095e96a3ccbefceda8f4b274fa4cb623719","after":"cd553848c14b1d913e407b1ec06bfb411a8be95c","ref":"refs/heads/master","pushedAt":"2024-06-06T18:19:48.000Z","pushType":"push","commitsCount":25,"pusher":{"login":"scylladb-promoter","name":null,"path":"/scylladb-promoter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36883350?s=80&v=4"},"commit":{"message":"Merge 'auth-v2: use a single transaction in auth related statements ' from Marcin Maliszkiewicz\n\nDue to gradual raft introduction into statements code in cases when single statement modified more than one table or mutation producing function was composed out of simpler ones we violated transactional logic and statement execution was not atomic as whole.\n\nThis patch changes that, so now either all changes resulting from statement execution are applied or none. Affected statements types are:\n- schema modification\n- auth modifications\n- service levels modifications\n\nFixes https://github.com/scylladb/scylladb/issues/17738\n\nCloses scylladb/scylladb#17910\n\n* github.com:scylladb/scylladb:\n raft: rename mutations_collector to group0_batch\n raft: rename announce to commit\n cql3: raft: attach description to each mutations collector group\n auth: unify mutations_generator type\n auth: drop redundant 'this' keyword\n auth: remove no longer used code from standard_role_manager::legacy_modify_membership\n cql3: auth: use mutation collector for service levels statements\n cql3: auth: use mutation collector for alter role\n cql3: auth: use mutation collector for grant role and revoke role\n cql3: auth: use mutation collector for drop role and auto-revoke\n auth: add refactored modify_membership func in standard_role_manager\n auth: implement empty revoke_all in allow_all_authorizer\n auth: drop request_execution_exception handling from default_authorizer::revoke_all\n Revert \"Introduce TABLET_KEYSPACE event to differentiate processing path of a vnode vs tablets ks\"\n cql3: auth: use mutation collector for grant and revoke permissions\n cql3: extract changes_tablets function in alter_keyspace_statement\n cql3: auth: use mutation collector for create role statement\n auth: move create_role code into service\n auth: add a way to announce mutations having only client_state ref\n auth: add collect_mutations common helper\n auth: remove unused header in common.hh\n auth: add class for gathering mutations without immediate announce\n auth: cql3: use auth facade functions consistently on write path\n auth: remove unused is_enforcing function","shortMessageHtmlLink":"Merge 'auth-v2: use a single transaction in auth related statements '…"}},{"before":"5d3dde50f4a7352c9155ee231d3a53e286bbbb66","after":"a77615adf324000612322d78f7cf5b4e24264ebd","ref":"refs/heads/branch-6.0","pushedAt":"2024-06-06T16:13:52.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 ScyllaDB version to: 6.0.0","shortMessageHtmlLink":"Update ScyllaDB version to: 6.0.0"}},{"before":"74f910f08928ab8477b8d8c6e705a1dacf2a8c92","after":"4b6a3db98cb5d06bba003c5a355d9fdf50b37a0c","ref":"refs/heads/gh-pages","pushedAt":"2024-06-06T15:40:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Publish docs","shortMessageHtmlLink":"Publish docs"}},{"before":null,"after":"331071b5b6fabe1e4358b1c716ba27b538757cb7","ref":"refs/heads/mergify/copy/branch-6.0/pr-19090","pushedAt":"2024-06-06T15:36:11.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":"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(cherry picked from commit adba09a5d9fd3320cca2ed966dcb62b02ba16494)","shortMessageHtmlLink":"doc: document \"enable_tablets\" option"}},{"before":"57e810c852e3152b6e319465f582bd9b93d7c3c7","after":"82875095e96a3ccbefceda8f4b274fa4cb623719","ref":"refs/heads/master","pushedAt":"2024-06-06T15:35:14.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":"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":"b74080e41a145c76dd379ec03eb0aec8701199c4","after":null,"ref":"refs/heads/mergify/copy/branch-6.0/pr-19004","pushedAt":"2024-06-06T14:58:01.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":"82875095e96a3ccbefceda8f4b274fa4cb623719","after":"cd553848c14b1d913e407b1ec06bfb411a8be95c","ref":"refs/heads/next","pushedAt":"2024-06-06T14:31:43.000Z","pushType":"push","commitsCount":25,"pusher":{"login":"avikivity","name":"Avi Kivity","path":"/avikivity","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1017210?s=80&v=4"},"commit":{"message":"Merge 'auth-v2: use a single transaction in auth related statements ' from Marcin Maliszkiewicz\n\nDue to gradual raft introduction into statements code in cases when single statement modified more than one table or mutation producing function was composed out of simpler ones we violated transactional logic and statement execution was not atomic as whole.\n\nThis patch changes that, so now either all changes resulting from statement execution are applied or none. Affected statements types are:\n- schema modification\n- auth modifications\n- service levels modifications\n\nFixes https://github.com/scylladb/scylladb/issues/17738\n\nCloses scylladb/scylladb#17910\n\n* github.com:scylladb/scylladb:\n raft: rename mutations_collector to group0_batch\n raft: rename announce to commit\n cql3: raft: attach description to each mutations collector group\n auth: unify mutations_generator type\n auth: drop redundant 'this' keyword\n auth: remove no longer used code from standard_role_manager::legacy_modify_membership\n cql3: auth: use mutation collector for service levels statements\n cql3: auth: use mutation collector for alter role\n cql3: auth: use mutation collector for grant role and revoke role\n cql3: auth: use mutation collector for drop role and auto-revoke\n auth: add refactored modify_membership func in standard_role_manager\n auth: implement empty revoke_all in allow_all_authorizer\n auth: drop request_execution_exception handling from default_authorizer::revoke_all\n Revert \"Introduce TABLET_KEYSPACE event to differentiate processing path of a vnode vs tablets ks\"\n cql3: auth: use mutation collector for grant and revoke permissions\n cql3: extract changes_tablets function in alter_keyspace_statement\n cql3: auth: use mutation collector for create role statement\n auth: move create_role code into service\n auth: add a way to announce mutations having only client_state ref\n auth: add collect_mutations common helper\n auth: remove unused header in common.hh\n auth: add class for gathering mutations without immediate announce\n auth: cql3: use auth facade functions consistently on write path\n auth: remove unused is_enforcing function","shortMessageHtmlLink":"Merge 'auth-v2: use a single transaction in auth related statements '…"}},{"before":"e11827f37e927c9c6b2c6c84059910d84c317fd1","after":null,"ref":"refs/heads/mergify/copy/branch-6.0/pr-18927","pushedAt":"2024-06-06T13:29:49.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":"b7fe4412d0eefbab9cc3f7c1b25e278ec7f12f46","after":"5d3dde50f4a7352c9155ee231d3a53e286bbbb66","ref":"refs/heads/branch-6.0","pushedAt":"2024-06-06T13:29:14.000Z","pushType":"push","commitsCount":5,"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] 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":"5d3dde50f4a7352c9155ee231d3a53e286bbbb66","after":"a77615adf324000612322d78f7cf5b4e24264ebd","ref":"refs/heads/next-6.0","pushedAt":"2024-06-06T13:03:55.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 ScyllaDB version to: 6.0.0","shortMessageHtmlLink":"Update ScyllaDB version to: 6.0.0"}},{"before":"eb2e74915b72f84151f04cca2580fc4f70e1214b","after":"74f910f08928ab8477b8d8c6e705a1dacf2a8c92","ref":"refs/heads/gh-pages","pushedAt":"2024-06-06T13:03:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"github-actions[bot]","name":null,"path":"/apps/github-actions","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/15368?s=80&v=4"},"commit":{"message":"Publish docs","shortMessageHtmlLink":"Publish docs"}},{"before":null,"after":"0b53a0afbe5137ea55419ef26398d9dcb95fd3d4","ref":"refs/heads/mergify/copy/branch-6.0/pr-18641","pushedAt":"2024-06-06T13:01:21.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: Do not block async reactor while removing directories\n\nThis fixes a problem where suite cleanup schedules lots of uninstall()\ntasks for servers started in the suite, which schedules lots of tasks,\nwhich synchronously call rmtree(). These take over a minute to finish,\nwhich blocks other tasks for tests which are still executing.\n\nIn particular, this was observed to case\nManagerClient.server_stop_gracefully() to time-out. It has a timeout\nof 60 seconds. The server was stopped quickly, but the RESTful API\nresponse was not processed in time and the call timed out when it got\nthe async reactor.\n\n(cherry picked from commit 5ca54a6e8818b72a0634d0123cc110529d994354)","shortMessageHtmlLink":"test: pylib: Do not block async reactor while removing directories"}},{"before":null,"after":"8575c7e6f7887119781ba537bc4cbd2bc3c2df02","ref":"refs/heads/mergify/copy/branch-6.0/pr-18955","pushedAt":"2024-06-06T13:01:18.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":"tablets: Filter-out left nodes in get_natural_endpoints()\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\n(cherry picked from commit 0d596a425c18d5ff3e255764ec15a90b4407f63f)","shortMessageHtmlLink":"tablets: Filter-out left nodes in get_natural_endpoints()"}},{"before":null,"after":"824775002d97ff2b0e7fb220fb4407f5330b18ad","ref":"refs/heads/mergify/copy/branch-6.0/pr-18922","pushedAt":"2024-06-06T13:00:17.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":"Docs: fix start command in Update replace-dead-node.rst\n\nFix #18920\n\n(cherry picked from commit 2b5831322a6a417db351ad46e2f838de5f1cb5f1)","shortMessageHtmlLink":"Docs: fix start command in Update replace-dead-node.rst"}},{"before":null,"after":"553fd2cacdead9420d7f8b5b8cfc4e54b65d0d4e","ref":"refs/heads/mergify/copy/branch-5.4/pr-18922","pushedAt":"2024-06-06T13:00:06.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":"Docs: fix start command in Update replace-dead-node.rst\n\nFix #18920\n\n(cherry picked from commit 2b5831322a6a417db351ad46e2f838de5f1cb5f1)\n\n# Conflicts:\n#\tdocs/operating-scylla/procedures/cluster-management/replace-dead-node.rst","shortMessageHtmlLink":"Docs: fix start command in Update replace-dead-node.rst"}},{"before":null,"after":"08a7855ed124cc7f5fb7bbda0794741190b0f247","ref":"refs/heads/mergify/copy/branch-5.2/pr-18922","pushedAt":"2024-06-06T13:00:06.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":"Docs: fix start command in Update replace-dead-node.rst\n\nFix #18920\n\n(cherry picked from commit 2b5831322a6a417db351ad46e2f838de5f1cb5f1)\n\n# Conflicts:\n#\tdocs/operating-scylla/procedures/cluster-management/replace-dead-node.rst","shortMessageHtmlLink":"Docs: fix start command in Update replace-dead-node.rst"}},{"before":null,"after":"cba7391528aba2b873498e4481f8a48cc6e55a6e","ref":"refs/heads/mergify/copy/branch-6.0/pr-18991","pushedAt":"2024-06-06T12:59:07.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":"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(cherry picked from commit 78000bcb186ab56f3a87137f9c175be7f4450e42)","shortMessageHtmlLink":"topology_coordinator: handle/wait futures when stopping topology_coor…"}},{"before":"1fd600999b7a26e2289cfabe6c8df251d3654b5b","after":"57e810c852e3152b6e319465f582bd9b93d7c3c7","ref":"refs/heads/master","pushedAt":"2024-06-06T12:58:04.000Z","pushType":"push","commitsCount":49,"pusher":{"login":"scylladb-promoter","name":null,"path":"/scylladb-promoter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36883350?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":"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"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEXn-NxwA","startCursor":null,"endCursor":null}},"title":"Activity · scylladb/scylladb"}