diff options
author | 2020-04-10 16:38:56 +0200 | |
---|---|---|
committer | 2020-04-10 16:38:56 +0200 | |
commit | f7da7a9dcd3c2123f13c41422aa68b68544eba21 (patch) | |
tree | 169166cb13ab59cb5648de37191672a39efe6092 | |
parent | dev-db/scylla-bin: version bump (diff) | |
download | ultrabug-f7da7a9dcd3c2123f13c41422aa68b68544eba21.tar.gz ultrabug-f7da7a9dcd3c2123f13c41422aa68b68544eba21.tar.bz2 ultrabug-f7da7a9dcd3c2123f13c41422aa68b68544eba21.zip |
dev-db/scylla: drop ebuilds, use -bin now
Package-Manager: Portage-2.3.89, Repoman-2.3.20
Manifest-Sign-Key: 34FCB257983BA23A8CEC5EB7EB9E6405C24BFAE5
Signed-off-by: Alexys Jacob <ultrabug@gentoo.org>
22 files changed, 0 insertions, 3389 deletions
diff --git a/dev-db/scylla/Manifest b/dev-db/scylla/Manifest deleted file mode 100644 index 1176594..0000000 --- a/dev-db/scylla/Manifest +++ /dev/null @@ -1,38 +0,0 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA256 - -AUX 0001-repair-Repair-tables-in-parallel.patch 1770 BLAKE2B 9ea285af8092a6b7f371633a6eb8049b817a4b21baf936bfb7d77bfcdbe4a00be8f98c74ede0757d8f230cde64ab8f05769d5483aefecf3bed403182368f6114 SHA512 2b73b27b12acee01dff4bf12fd7e541694acb1c5542e573f757fd0646ed7f36eb754e177fdbee0737ffefa60e44d62b970897da76052a609662c0e0f99a7d101 -AUX 0001-thrift-support-version-0.11-after-THRIFT-2221.patch 40277 BLAKE2B 4296b042320db3f3669f487961e58f75403d79fbdce06a4f04b3c9e83b243b637a513cf868c618fac26df82d20bfb7de44b51c959e09d299f6a1f72e54387761 SHA512 5403833a82972be26e5d50f0557cb7a4a2985dec487be3aeb907720b5a8f638d1e3c6bfd3d06bb0c097c707135f29b137f63e77d76ba918f009d179a27dc0c91 -AUX 10-scylla.conf 64 BLAKE2B 31ce1b2173214bcac351b71cf19e5506ab08cefbca446ce23ad753c98c5e4fd7fbb89b0f79703ea4dcf1f6233e7929268365eeaab1b4e2e7b31553aa7928a969 SHA512 c24b3ec2f0ea3b1ad0792c05a8eb044b3a157862b59759e020586ae872f9789a558d423fe1dff1a8c6d8342049cf4d919faf31a1439a6a1c69af915365b4ec82 -AUX 3.1-revert-64-bit-gc_clock.patch 1132 BLAKE2B 7ed59d5f898babc4940bcd10a8aaf467545c80fd8c7417e481d80abc07fc27b4859396cafa5b1d1da4d386f8c490e6f417c0ce63064eea7177ce869869387480 SHA512 8ff0019080687993939fb5c0bb24945214799dfe0942982d8154769155159c02bc75e448978343c1b08a162a6670bede3721247a70c6fabfe1cd9730dbf4f77a -AUX 3.1-thrift-support.patch 39980 BLAKE2B 7de8bde052186b8a62ea83b7082e9828d4c320ed86381a93d5136906ba014631dc3b5e2a2b1dfd33bec21c6bd7d685fa3f1f270c97f233934cca24473d0e52b5 SHA512 d33e50dbef01dfd4845a093c160b5cbedc658770c1b5a5de063c56b43df0731329fe0cdb3ddfa5d72020ab25573682e4d14a3c39ad366a208694062a3fd49155 -AUX 3.1.2-fix-read-amplification.patch 962 BLAKE2B bacd95cf99097254a3aca2a034ac38c6133039ab0487cb2880ef4fb3ed960c066bf96470a4c07cf800cd01810b7841c9740ea8204aa0ecd73b2b71489dfcc591 SHA512 59b8646378cc6ec9468920093169f1f537e9855e6b1f4a83f4abaaf15c1c2c66566877d3bae88b4f5b75ab0fb8958527f9a13f13f6a98e839c56bb0418b20c27 -AUX boost-1.65.0-icl-ttp-matching.patch 1427 BLAKE2B de9c77253963656f85ed2d05babd600bc5b59b567bc889ed815dfba97f2a1334df48dbb1e67879dea1419fb439c513c54a66531d4e8ec28a7848385f70471334 SHA512 aaa7959df631c17a80486e5b6724d76bf2193694f5559443350c74567506f36c133f740adcbb1b2d3a5a2760730f498f0fd655ec6eff6d20393b6e49549c6ec8 -AUX fix-fmt-3.5.0-compilation.patch 3785 BLAKE2B 3cd23ccffe1ec33d5f7e2c6c3583631b294fc0e6d36e49eef582598fd168968805dd7ca4cc786c02cb20ae1e758a814e1b761dbd41a86330906cd4b5af5d6666 SHA512 d7606559fb2aef9ea009e8c417397dcc94d0c708da8283d4c1c6393c059ecca50d9806cfb19d1fe69b8d7898da2b8d194fbc8b8dd1aa9c12e0d6120d52bc2518 -AUX scylla-server.confd 396 BLAKE2B dc522b308985e51c24449a333d793eaa777a74b8b5594f1ff4a092aae003202791019a255ea478c4e794a83ca0e01d2c49aac3d267501624f461fa3edfe1c41f SHA512 51739cdeedaedb1a73a345ec6a4a2761d29fac1b9cf61f02937559aed43f02112109464254213118d40af1fb7e8491c22f8cb88908c9c88523dfe1b78b8430c7 -AUX scylla-server.initd 1020 BLAKE2B 63ca86a8e1bf9690c2e5ad33d29d4383f1c7ffd4b120c990d262517b0339127df0d95a87ab64d97bfb1cdf2bfe023df52ab24ac9e586aaa6b48108c83ce40cbd SHA512 c07f2b60926c44462fe2e16774bcd75966fb4e8b49311c86f7559d3563b4821dc5d5f43518addddc00c9d4450a8672023af71a76657f3f4fdf1f3985c03f4ad9 -AUX scylla.sudoers 162 BLAKE2B 9aa0dce391da1f420a070d73d061452eeba60ad268f13a5bb8c0525d714d27dfa438efa9c6871c916b82ebf56f34c507826315de8b1fadc3d0eb5feae663cbcc SHA512 aabdeb3854eaad4b1cf9037a998cf94b8f55b2011e8f81a1778095b71806d89e217f2025e772c636569f833f7df45108e2e30c2c1e70fdb59acf37e6cdf81485 -AUX v1-0001-repair-Add-a-timer-for-repair-reader.patch 930 BLAKE2B f878c83a33fc56faa1735157266d2392987c5b9f93cb609b57b9554918fe48a35248d56a52d8e2cfd28b24c47a8ee7020711beee1b8b3bbcf0d549467beee00e SHA512 c4b9d725957ad847817ba2ea0ccd416cb79dddc06980554506903a965da35af0774ffd531ce69f3013e4904e2b6e6b1b66a12e073e19486b8be11b3e93a4502c -EBUILD scylla-3.1.0.ebuild 7043 BLAKE2B a89627def2677d69221b8cb73b8e281a6b836e414616fa7e539f549e7e2ac810c8012a15916ec58cec487d450a5fde7a5d7fe438e610afea49c9c7ce9c13e8c1 SHA512 6c0ddf5df3eb82b4dc428350e8da6314f030aa181f67fa1a6fd2c2a64babb54fc4ca260f1a26e9cc1c5d315e624678a08ed2286a90740640f143be94ec0a375a -EBUILD scylla-3.1.1-r1.ebuild 7563 BLAKE2B 1b955ad9dd0eb185fecd1f0240c66d14749ccb35789fe8ea7e6b9003a3598dc63f54285ad32205dc1a5496d0d16442ab5a987376b4a17c649ad4a4a729ba0742 SHA512 10042a7644f1dbb51147cc5f7de294023ecafa0c7b7de98322ac67be8daaf04c2bdfbd057cd11e3bcffe76edb4afcaf61695e719c53ff71eb74286de4872e85a -EBUILD scylla-3.1.1-r2.ebuild 7622 BLAKE2B 404ab3d8e42898a7379aa9872eb710aa183ca1a0788b69df2acca9fee2add0cff3e20a86496cd4151ebc8127e32678f08386e5bad9b7041cd8e18137bd77b0d2 SHA512 9514d12445fdbf9c7b9a26d9bd0b83decd9be3f4aa6f940943cd7761d5364c7d944a59ecfdcf4686580c25d3572e1b927b6422e19e764e4c348f4f6508ec1b91 -EBUILD scylla-3.1.1.ebuild 7497 BLAKE2B 9f9a71a22eecababea0ec5c4f156b50d2c858f3c764acaedb77eb159d0e4c6c9f8ce4c4efde856d04edce0a89d40759ed56bea62c7f693e44e489d3d69f8f6fa SHA512 b6fee615043cce8801f9d84d0599a6e6fb6ded7553b04b1b38bc7b560576ac918b20e542a8064d54ae9615bafa2fe7e854069bb749d0fd332c3c4584104a05a3 -EBUILD scylla-3.1.2-r1.ebuild 7672 BLAKE2B 7249eb175499b7aa9ac0a5df43ffb4a573eca25d5f1b23c79935bd444320d977d7c2b3953c4569a606ded4a15028dc09c8374d1a0df8ce6dd45471a23fd2c662 SHA512 0e5ebf4b64ce7f4496ab94c87a3f8c432f762909f35b03501a4c84e6f6a7f780c35b947ececf0fd8e32a0a13dd011b8b074a955994cb46342336c2edb0e348c5 -EBUILD scylla-3.1.2.ebuild 7075 BLAKE2B 6b690c242e061b69eb60d954cdbc00adc87651961cab3864b54b861b0349588110e4ba2c254076ae86a924e8f334937af9b60c11ca23a8f84553c11f920703cc SHA512 9a568b06f7b12ba8a09919c9f0a8f08c954a7a339eb1568026b6b2f8a8f5e8438f468c195ed6617402a2ef78aca42310f8388ce39312fb1b71bc09ea6c88990f -EBUILD scylla-3.2.1.ebuild 7107 BLAKE2B 5fcfaab750f6ea51ff1cfa476b7bece87464dea341ce3d3882ebeb6c60503f87f2e5f6489535f2411bb60e8cae6ac2490940264df5c2f4ea59cac6ef88d64b21 SHA512 5d1e72a59f8f66fb55da19dade409dcee4df1119db25b08e882e2202ec24ddfefde30fb11d9ca98c0b9d2dcc3576e0828b0d2ed7e1fe3a0157365cf057653878 -EBUILD scylla-9999.ebuild 6403 BLAKE2B 4e176d656ed4224cf625562ffe89f422124bd05ae39f0d5d9b4e68093362bd8f4f44dd71f66e81d28c39c741ff4b9ba62c72fb237799a630d41e9d41b73ad250 SHA512 e04b414ee51c1b3ffea859c25f4ee40f75447d16b0494f25b1ca3bf756d7cce5823c9cb4d19be90dace91248edee826c20be608393eada09fda8913efe25c11b -MISC metadata.xml 249 BLAKE2B 40afa233e18ae5678e52194be8b1235d8deda4810e55b33ea192ded6b09a158f1bc941544f90a1b9e396db00bc0fe277c072d267568473ae4aa2dec8bc5c2f89 SHA512 6eae78a65db44c8f7ef2d20c10c8612cd2072c0204c6294798e4bf94f1283c684c22d1ad28e0f68e78e82a0c60526d6786492c9dacc438d83405218e51c1bf9c ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2 - -iQGTBAEBCAB9FiEEB7NG2KqNbQw8gqQ7Uf8j8ayXdy8FAl4wQT9fFIAAAAAALgAo -aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDA3 -QjM0NkQ4QUE4RDZEMEMzQzgyQTQzQjUxRkYyM0YxQUM5Nzc3MkYACgkQUf8j8ayX -dy/+QwgA0x34hIB1p5eaZF5B8s3wLDa+Fuz1hWGE6L8fTy7EUpNb2aP3wjvzWZTt -P9nOB6uscTpJBr92Zpa+kZLTLuAYdnv5ddyLbAlAY9UkBnbi+NNBorlRMSDyO5b1 -U+Wx5YRzfr/wa2Z+ZOHO7iS++Pt7lN7Mga/Ydr/GkCWWEe78m8OuKwQ/iNo9NN15 -EqsOgM1/Q7Oo6Hc9JQC4jSTzxerYM4o+6pMTUEoZZBneENh2KwF7Np8wdWp9la7R -nsyunuHniEeuAYE9S7f9WCJCKDfzsSLR+m27hNPNDFmEV5imwfx+KDG2HIwrq9K3 -EdwZDvYpocFAb4L8Nuw722aNxxLrDw== -=tXHh ------END PGP SIGNATURE----- diff --git a/dev-db/scylla/files/0001-repair-Repair-tables-in-parallel.patch b/dev-db/scylla/files/0001-repair-Repair-tables-in-parallel.patch deleted file mode 100644 index 6b70bd4..0000000 --- a/dev-db/scylla/files/0001-repair-Repair-tables-in-parallel.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 71b9eaaf6ec2c22715b772315321c28cdcfecdae Mon Sep 17 00:00:00 2001 -Message-Id: <71b9eaaf6ec2c22715b772315321c28cdcfecdae.1574946436.git.asias@scylladb.com> -From: Asias He <asias@scylladb.com> -Date: Thu, 28 Nov 2019 20:41:25 +0800 -Subject: [PATCH scylla] repair: Repair tables in parallel -To: scylladb-dev@googlegroups.com - ---- - repair/repair.cc | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/repair/repair.cc b/repair/repair.cc -index c3e72854d6..3485605d4a 100644 ---- a/repair/repair.cc -+++ b/repair/repair.cc -@@ -938,6 +938,8 @@ static future<> repair_cf_range(repair_info& ri, - }); - } - -+static thread_local semaphore tables_parallelism_semaphore(16); -+ - // Repair a single local range, multiple column families. - // Comparable to RepairSession in Origin - static future<> repair_range(repair_info& ri, const dht::token_range& range) { -@@ -956,13 +958,15 @@ static future<> repair_range(repair_info& ri, const dht::token_range& range) { - neighbors.swap(live_neighbors); - } - return ::service::get_local_migration_manager().sync_schema(ri.db.local(), neighbors).then([&neighbors, &ri, range, id] { -- return do_for_each(ri.cfs.begin(), ri.cfs.end(), [&ri, &neighbors, range] (auto&& cf) { -+ return parallel_for_each(ri.cfs.begin(), ri.cfs.end(), [&ri, &neighbors, range] (auto&& cf) { -+ return with_semaphore(tables_parallelism_semaphore, 1, [&ri, &neighbors, &cf, range] { - ri._sub_ranges_nr++; - if (ri.row_level_repair()) { - return repair_cf_range_row_level(ri, cf, range, neighbors); - } else { - return repair_cf_range(ri, cf, range, neighbors); - } -+ }); - }); - }); - }); --- -2.23.0 - diff --git a/dev-db/scylla/files/0001-thrift-support-version-0.11-after-THRIFT-2221.patch b/dev-db/scylla/files/0001-thrift-support-version-0.11-after-THRIFT-2221.patch deleted file mode 100644 index 36004bb..0000000 --- a/dev-db/scylla/files/0001-thrift-support-version-0.11-after-THRIFT-2221.patch +++ /dev/null @@ -1,552 +0,0 @@ -diff --git a/configure.py b/configure.py -index 49796873a..00b046f16 100755 ---- a/configure.py -+++ b/configure.py -@@ -1056,6 +1056,12 @@ if not os.path.exists(xxhash_dir) or not os.listdir(xxhash_dir): - if not args.staticboost: - args.user_cflags += ' -DBOOST_TEST_DYN_LINK' - -+# thrift version detection, see #4538 -+thrift_version = subprocess.check_output(["thrift", "-version"]).decode("utf-8").split(" ")[-1] -+if int(thrift_version.replace(".", "")) < 110: -+ print('Note: thrift version < 0.11.0 detected, using boost symbols') -+ args.user_cflags += ' -DTHRIFT_USES_BOOST' -+ - for pkg in pkgs: - args.user_cflags += ' ' + pkg_config('--cflags', pkg) - libs += ' ' + pkg_config('--libs', pkg) -diff --git a/thrift/handler.cc b/thrift/handler.cc -index 31d1d789e..b6a58819c 100644 ---- a/thrift/handler.cc -+++ b/thrift/handler.cc -@@ -54,6 +54,12 @@ - #include "query-result-reader.hh" - #include "thrift/server.hh" - -+#ifdef THRIFT_USES_BOOST -+namespace thrift_std = tcxx; -+#else -+namespace thrift_std = std; -+#endif -+ - using namespace ::apache::thrift; - using namespace ::apache::thrift::protocol; - namespace thrift_transport = ::apache::thrift::transport; -@@ -68,7 +74,7 @@ class unimplemented_exception : public std::exception { - virtual const char* what() const throw () override { return "sorry, not implemented"; } - }; - --void pass_unimplemented(const tcxx::function<void(::apache::thrift::TDelayedException* _throw)>& exn_cob) { -+void pass_unimplemented(const thrift_std::function<void(::apache::thrift::TDelayedException* _throw)>& exn_cob) { - exn_cob(::apache::thrift::TDelayedException::delayException(unimplemented_exception())); - } - -@@ -118,8 +124,8 @@ class delayed_exception_wrapper : public ::apache::thrift::TDelayedException { - - template <typename Func, typename T> - void --with_cob(tcxx::function<void (const T& ret)>&& cob, -- tcxx::function<void (::apache::thrift::TDelayedException* _throw)>&& exn_cob, -+with_cob(thrift_std::function<void (const T& ret)>&& cob, -+ thrift_std::function<void (::apache::thrift::TDelayedException* _throw)>&& exn_cob, - Func&& func) { - // then_wrapped() terminates the fiber by calling one of the cob objects - futurize<noexcept_movable_t<T>>::apply([func = std::forward<Func>(func)] { -@@ -136,8 +142,8 @@ with_cob(tcxx::function<void (const T& ret)>&& cob, - - template <typename Func> - void --with_cob(tcxx::function<void ()>&& cob, -- tcxx::function<void (::apache::thrift::TDelayedException* _throw)>&& exn_cob, -+with_cob(thrift_std::function<void ()>&& cob, -+ thrift_std::function<void (::apache::thrift::TDelayedException* _throw)>&& exn_cob, - Func&& func) { - // then_wrapped() terminates the fiber by calling one of the cob objects - futurize<void>::apply(func).then_wrapped([cob = std::move(cob), exn_cob = std::move(exn_cob)] (future<> f) { -@@ -153,7 +159,7 @@ with_cob(tcxx::function<void ()>&& cob, - - template <typename Func> - void --with_exn_cob(tcxx::function<void (::apache::thrift::TDelayedException* _throw)>&& exn_cob, Func&& func) { -+with_exn_cob(thrift_std::function<void (::apache::thrift::TDelayedException* _throw)>&& exn_cob, Func&& func) { - // then_wrapped() terminates the fiber by calling one of the cob objects - futurize<void>::apply(func).then_wrapped([exn_cob = std::move(exn_cob)] (future<> f) { - try { -@@ -202,7 +208,7 @@ class thrift_handler : public CassandraCobSvIf { - template <typename Cob, typename Func> - void - with_schema(Cob&& cob, -- tcxx::function<void (::apache::thrift::TDelayedException* _throw)>&& exn_cob, -+ thrift_std::function<void (::apache::thrift::TDelayedException* _throw)>&& exn_cob, - const std::string& cf, - Func&& func) { - with_cob(std::move(cob), std::move(exn_cob), [this, &cf, func = std::move(func)] { -@@ -226,7 +232,7 @@ class thrift_handler : public CassandraCobSvIf { - return _query_state.get_client_state().validate_login(); - }; - -- void login(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const AuthenticationRequest& auth_request) { -+ void login(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const AuthenticationRequest& auth_request) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - auth::authenticator::credentials_map creds(auth_request.credentials.begin(), auth_request.credentials.end()); - auto& auth_service = *_query_state.get_client_state().get_auth_service(); -@@ -236,13 +242,13 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void set_keyspace(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { -+ void set_keyspace(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - _query_state.get_client_state().set_keyspace(_db, keyspace); - }); - } - -- void get(tcxx::function<void(ColumnOrSuperColumn const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnPath& column_path, const ConsistencyLevel::type consistency_level) { -+ void get(thrift_std::function<void(ColumnOrSuperColumn const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnPath& column_path, const ConsistencyLevel::type consistency_level) { - return get_slice([cob = std::move(cob), &column_path](auto&& results) { - if (results.empty()) { - throw NotFoundException(); -@@ -251,7 +257,7 @@ class thrift_handler : public CassandraCobSvIf { - }, exn_cob, key, column_path_to_column_parent(column_path), column_path_to_slice_predicate(column_path), std::move(consistency_level)); - } - -- void get_slice(tcxx::function<void(std::vector<ColumnOrSuperColumn> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnParent& column_parent, const SlicePredicate& predicate, const ConsistencyLevel::type consistency_level) { -+ void get_slice(thrift_std::function<void(std::vector<ColumnOrSuperColumn> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnParent& column_parent, const SlicePredicate& predicate, const ConsistencyLevel::type consistency_level) { - return multiget_slice([cob = std::move(cob)](auto&& results) { - if (!results.empty()) { - return cob(std::move(results.begin()->second)); -@@ -260,7 +266,7 @@ class thrift_handler : public CassandraCobSvIf { - }, exn_cob, {key}, column_parent, predicate, consistency_level); - } - -- void get_count(tcxx::function<void(int32_t const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnParent& column_parent, const SlicePredicate& predicate, const ConsistencyLevel::type consistency_level) { -+ void get_count(thrift_std::function<void(int32_t const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnParent& column_parent, const SlicePredicate& predicate, const ConsistencyLevel::type consistency_level) { - return multiget_count([cob = std::move(cob)](auto&& results) { - if (!results.empty()) { - return cob(results.begin()->second); -@@ -269,7 +275,7 @@ class thrift_handler : public CassandraCobSvIf { - }, exn_cob, {key}, column_parent, predicate, consistency_level); - } - -- void multiget_slice(tcxx::function<void(std::map<std::string, std::vector<ColumnOrSuperColumn> > const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::vector<std::string> & keys, const ColumnParent& column_parent, const SlicePredicate& predicate, const ConsistencyLevel::type consistency_level) { -+ void multiget_slice(thrift_std::function<void(std::map<std::string, std::vector<ColumnOrSuperColumn> > const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::vector<std::string> & keys, const ColumnParent& column_parent, const SlicePredicate& predicate, const ConsistencyLevel::type consistency_level) { - with_schema(std::move(cob), std::move(exn_cob), column_parent.column_family, [&](schema_ptr schema) { - if (!column_parent.super_column.empty()) { - fail(unimplemented::cause::SUPER); -@@ -297,7 +303,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void multiget_count(tcxx::function<void(std::map<std::string, int32_t> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::vector<std::string> & keys, const ColumnParent& column_parent, const SlicePredicate& predicate, const ConsistencyLevel::type consistency_level) { -+ void multiget_count(thrift_std::function<void(std::map<std::string, int32_t> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::vector<std::string> & keys, const ColumnParent& column_parent, const SlicePredicate& predicate, const ConsistencyLevel::type consistency_level) { - with_schema(std::move(cob), std::move(exn_cob), column_parent.column_family, [&](schema_ptr schema) { - if (!column_parent.super_column.empty()) { - fail(unimplemented::cause::SUPER); -@@ -326,7 +332,7 @@ class thrift_handler : public CassandraCobSvIf { - * don't know which partition keys in the specified range we should return back to the client. So for - * now our behavior differs from Origin. - */ -- void get_range_slices(tcxx::function<void(std::vector<KeySlice> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const ColumnParent& column_parent, const SlicePredicate& predicate, const KeyRange& range, const ConsistencyLevel::type consistency_level) { -+ void get_range_slices(thrift_std::function<void(std::vector<KeySlice> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const ColumnParent& column_parent, const SlicePredicate& predicate, const KeyRange& range, const ConsistencyLevel::type consistency_level) { - with_schema(std::move(cob), std::move(exn_cob), column_parent.column_family, [&](schema_ptr schema) { - if (!column_parent.super_column.empty()) { - fail(unimplemented::cause::SUPER); -@@ -437,7 +443,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void get_paged_slice(tcxx::function<void(std::vector<KeySlice> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& column_family, const KeyRange& range, const std::string& start_column, const ConsistencyLevel::type consistency_level) { -+ void get_paged_slice(thrift_std::function<void(std::vector<KeySlice> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& column_family, const KeyRange& range, const std::string& start_column, const ConsistencyLevel::type consistency_level) { - with_schema(std::move(cob), std::move(exn_cob), column_family, [&](schema_ptr schema) { - return do_with(std::vector<KeySlice>(), [&](auto& output) { - if (range.__isset.row_filter) { -@@ -465,14 +471,14 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void get_indexed_slices(tcxx::function<void(std::vector<KeySlice> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const ColumnParent& column_parent, const IndexClause& index_clause, const SlicePredicate& column_predicate, const ConsistencyLevel::type consistency_level) { -+ void get_indexed_slices(thrift_std::function<void(std::vector<KeySlice> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const ColumnParent& column_parent, const IndexClause& index_clause, const SlicePredicate& column_predicate, const ConsistencyLevel::type consistency_level) { - std::vector<KeySlice> _return; - warn(unimplemented::cause::INDEXES); - // FIXME: implement - return pass_unimplemented(exn_cob); - } - -- void insert(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnParent& column_parent, const Column& column, const ConsistencyLevel::type consistency_level) { -+ void insert(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnParent& column_parent, const Column& column, const ConsistencyLevel::type consistency_level) { - with_schema(std::move(cob), std::move(exn_cob), column_parent.column_family, [&](schema_ptr schema) { - if (column_parent.__isset.super_column) { - fail(unimplemented::cause::SUPER); -@@ -491,7 +497,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void add(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnParent& column_parent, const CounterColumn& column, const ConsistencyLevel::type consistency_level) { -+ void add(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnParent& column_parent, const CounterColumn& column, const ConsistencyLevel::type consistency_level) { - with_schema(std::move(cob), std::move(exn_cob), column_parent.column_family, [&](schema_ptr schema) { - if (column_parent.__isset.super_column) { - fail(unimplemented::cause::SUPER); -@@ -506,14 +512,14 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void cas(tcxx::function<void(CASResult const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const std::string& column_family, const std::vector<Column> & expected, const std::vector<Column> & updates, const ConsistencyLevel::type serial_consistency_level, const ConsistencyLevel::type commit_consistency_level) { -+ void cas(thrift_std::function<void(CASResult const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const std::string& column_family, const std::vector<Column> & expected, const std::vector<Column> & updates, const ConsistencyLevel::type serial_consistency_level, const ConsistencyLevel::type commit_consistency_level) { - CASResult _return; - warn(unimplemented::cause::LWT); - // FIXME: implement - return pass_unimplemented(exn_cob); - } - -- void remove(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnPath& column_path, const int64_t timestamp, const ConsistencyLevel::type consistency_level) { -+ void remove(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnPath& column_path, const int64_t timestamp, const ConsistencyLevel::type consistency_level) { - with_schema(std::move(cob), std::move(exn_cob), column_path.column_family, [&](schema_ptr schema) { - if (schema->is_view()) { - throw make_exception<InvalidRequestException>("Cannot modify Materialized Views directly"); -@@ -541,7 +547,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void remove_counter(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnPath& column_path, const ConsistencyLevel::type consistency_level) { -+ void remove_counter(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnPath& column_path, const ConsistencyLevel::type consistency_level) { - with_schema(std::move(cob), std::move(exn_cob), column_path.column_family, [&](schema_ptr schema) { - mutation m_to_apply(schema, key_from_thrift(*schema, to_bytes_view(key))); - -@@ -567,7 +573,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void batch_mutate(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::map<std::string, std::map<std::string, std::vector<Mutation> > > & mutation_map, const ConsistencyLevel::type consistency_level) { -+ void batch_mutate(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::map<std::string, std::map<std::string, std::vector<Mutation> > > & mutation_map, const ConsistencyLevel::type consistency_level) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - auto p = prepare_mutations(_db.local(), current_keyspace(), mutation_map); - return parallel_for_each(std::move(p.second), [this](auto&& schema) { -@@ -579,7 +585,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void atomic_batch_mutate(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::map<std::string, std::map<std::string, std::vector<Mutation> > > & mutation_map, const ConsistencyLevel::type consistency_level) { -+ void atomic_batch_mutate(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::map<std::string, std::map<std::string, std::vector<Mutation> > > & mutation_map, const ConsistencyLevel::type consistency_level) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - auto p = prepare_mutations(_db.local(), current_keyspace(), mutation_map); - return parallel_for_each(std::move(p.second), [this](auto&& schema) { -@@ -591,7 +597,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void truncate(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& cfname) { -+ void truncate(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& cfname) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - if (current_keyspace().empty()) { - throw make_exception<InvalidRequestException>("keyspace not set"); -@@ -606,7 +612,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void get_multi_slice(tcxx::function<void(std::vector<ColumnOrSuperColumn> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const MultiSliceRequest& request) { -+ void get_multi_slice(thrift_std::function<void(std::vector<ColumnOrSuperColumn> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const MultiSliceRequest& request) { - with_schema(std::move(cob), std::move(exn_cob), request.column_parent.column_family, [&](schema_ptr schema) { - if (!request.__isset.key) { - throw make_exception<InvalidRequestException>("Key may not be empty"); -@@ -673,7 +679,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void describe_schema_versions(tcxx::function<void(std::map<std::string, std::vector<std::string> > const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob) { -+ void describe_schema_versions(thrift_std::function<void(std::map<std::string, std::vector<std::string> > const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob) { - with_cob(std::move(cob), std::move(exn_cob), [] { - return service::get_local_storage_service().describe_schema_versions().then([](auto&& m) { - std::map<std::string, std::vector<std::string>> ret; -@@ -685,7 +691,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void describe_keyspaces(tcxx::function<void(std::vector<KsDef> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob) { -+ void describe_keyspaces(thrift_std::function<void(std::vector<KsDef> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - validate_login(); - std::vector<KsDef> ret; -@@ -696,15 +702,15 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void describe_cluster_name(tcxx::function<void(std::string const& _return)> cob) { -+ void describe_cluster_name(thrift_std::function<void(std::string const& _return)> cob) { - cob(_db.local().get_config().cluster_name()); - } - -- void describe_version(tcxx::function<void(std::string const& _return)> cob) { -+ void describe_version(thrift_std::function<void(std::string const& _return)> cob) { - cob(::cassandra::thrift_version); - } - -- void do_describe_ring(tcxx::function<void(std::vector<TokenRange> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace, bool local) { -+ void do_describe_ring(thrift_std::function<void(std::vector<TokenRange> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace, bool local) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - auto& ks = _db.local().find_keyspace(keyspace); - if (ks.get_replication_strategy().get_type() == locator::replication_strategy_type::local) { -@@ -735,15 +741,15 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void describe_ring(tcxx::function<void(std::vector<TokenRange> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { -+ void describe_ring(thrift_std::function<void(std::vector<TokenRange> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { - do_describe_ring(std::move(cob), std::move(exn_cob), keyspace, false); - } - -- void describe_local_ring(tcxx::function<void(std::vector<TokenRange> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { -+ void describe_local_ring(thrift_std::function<void(std::vector<TokenRange> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { - do_describe_ring(std::move(cob), std::move(exn_cob), keyspace, true); - } - -- void describe_token_map(tcxx::function<void(std::map<std::string, std::string> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob) { -+ void describe_token_map(thrift_std::function<void(std::map<std::string, std::string> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob) { - with_cob(std::move(cob), std::move(exn_cob), [] { - auto m = service::get_local_storage_service().get_token_to_endpoint_map(); - std::map<std::string, std::string> ret; -@@ -754,15 +760,15 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void describe_partitioner(tcxx::function<void(std::string const& _return)> cob) { -+ void describe_partitioner(thrift_std::function<void(std::string const& _return)> cob) { - cob(dht::global_partitioner().name()); - } - -- void describe_snitch(tcxx::function<void(std::string const& _return)> cob) { -+ void describe_snitch(thrift_std::function<void(std::string const& _return)> cob) { - cob(sprint("org.apache.cassandra.locator.%s", _db.local().get_snitch_name())); - } - -- void describe_keyspace(tcxx::function<void(KsDef const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { -+ void describe_keyspace(thrift_std::function<void(KsDef const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - validate_login(); - auto& ks = _db.local().find_keyspace(keyspace); -@@ -770,7 +776,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void describe_splits(tcxx::function<void(std::vector<std::string> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& cfName, const std::string& start_token, const std::string& end_token, const int32_t keys_per_split) { -+ void describe_splits(thrift_std::function<void(std::vector<std::string> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& cfName, const std::string& start_token, const std::string& end_token, const int32_t keys_per_split) { - return describe_splits_ex([cob = std::move(cob)](auto&& results) { - std::vector<std::string> res; - res.reserve(results.size() + 1); -@@ -782,13 +788,13 @@ class thrift_handler : public CassandraCobSvIf { - }, exn_cob, cfName, start_token, end_token, keys_per_split); - } - -- void trace_next_query(tcxx::function<void(std::string const& _return)> cob) { -+ void trace_next_query(thrift_std::function<void(std::string const& _return)> cob) { - std::string _return; - // FIXME: implement - return cob("dummy trace"); - } - -- void describe_splits_ex(tcxx::function<void(std::vector<CfSplit> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& cfName, const std::string& start_token, const std::string& end_token, const int32_t keys_per_split) { -+ void describe_splits_ex(thrift_std::function<void(std::vector<CfSplit> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& cfName, const std::string& start_token, const std::string& end_token, const int32_t keys_per_split) { - with_cob(std::move(cob), std::move(exn_cob), [&]{ - dht::token_range_vector ranges; - auto tstart = start_token.empty() ? dht::minimum_token() : dht::global_partitioner().from_sstring(sstring(start_token)); -@@ -811,7 +817,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void system_add_column_family(tcxx::function<void(std::string const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const CfDef& cf_def) { -+ void system_add_column_family(thrift_std::function<void(std::string const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const CfDef& cf_def) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - if (!_db.local().has_keyspace(cf_def.keyspace)) { - throw NotFoundException(); -@@ -828,7 +834,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - }); - } -- void system_drop_column_family(tcxx::function<void(std::string const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& column_family) { -+ void system_drop_column_family(thrift_std::function<void(std::string const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& column_family) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - return _query_state.get_client_state().has_column_family_access(current_keyspace(), column_family, auth::permission::DROP).then([=] { - auto& cf = _db.local().find_column_family(current_keyspace(), column_family); -@@ -845,7 +851,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void system_add_keyspace(tcxx::function<void(std::string const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const KsDef& ks_def) { -+ void system_add_keyspace(thrift_std::function<void(std::string const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const KsDef& ks_def) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - auto ksm = keyspace_from_thrift(ks_def); - return _query_state.get_client_state().has_all_keyspaces_access(auth::permission::CREATE).then([this, ksm = std::move(ksm)] { -@@ -856,7 +862,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void system_drop_keyspace(tcxx::function<void(std::string const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { -+ void system_drop_keyspace(thrift_std::function<void(std::string const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - thrift_validation::validate_keyspace_not_system(keyspace); - if (!_db.local().has_keyspace(keyspace)) { -@@ -871,7 +877,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void system_update_keyspace(tcxx::function<void(std::string const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const KsDef& ks_def) { -+ void system_update_keyspace(thrift_std::function<void(std::string const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const KsDef& ks_def) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - thrift_validation::validate_keyspace_not_system(ks_def.name); - -@@ -891,7 +897,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void system_update_column_family(tcxx::function<void(std::string const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const CfDef& cf_def) { -+ void system_update_column_family(thrift_std::function<void(std::string const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const CfDef& cf_def) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - auto& cf = _db.local().find_column_family(cf_def.keyspace, cf_def.name); - auto schema = cf.schema(); -@@ -922,7 +928,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void execute_cql_query(tcxx::function<void(CqlResult const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& query, const Compression::type compression) { -+ void execute_cql_query(thrift_std::function<void(CqlResult const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& query, const Compression::type compression) { - throw make_exception<InvalidRequestException>("CQL2 is not supported"); - } - -@@ -952,7 +958,7 @@ class thrift_handler : public CassandraCobSvIf { - } - }; - -- void execute_cql3_query(tcxx::function<void(CqlResult const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& query, const Compression::type compression, const ConsistencyLevel::type consistency) { -+ void execute_cql3_query(thrift_std::function<void(CqlResult const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& query, const Compression::type compression, const ConsistencyLevel::type consistency) { - with_exn_cob(std::move(exn_cob), [&] { - if (compression != Compression::type::NONE) { - throw make_exception<InvalidRequestException>("Compressed query strings are not supported"); -@@ -968,7 +974,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void prepare_cql_query(tcxx::function<void(CqlPreparedResult const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& query, const Compression::type compression) { -+ void prepare_cql_query(thrift_std::function<void(CqlPreparedResult const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& query, const Compression::type compression) { - throw make_exception<InvalidRequestException>("CQL2 is not supported"); - } - -@@ -996,7 +1002,7 @@ class thrift_handler : public CassandraCobSvIf { - } - }; - -- void prepare_cql3_query(tcxx::function<void(CqlPreparedResult const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& query, const Compression::type compression) { -+ void prepare_cql3_query(thrift_std::function<void(CqlPreparedResult const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& query, const Compression::type compression) { - with_exn_cob(std::move(exn_cob), [&] { - validate_login(); - if (compression != Compression::type::NONE) { -@@ -1010,11 +1016,11 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void execute_prepared_cql_query(tcxx::function<void(CqlResult const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const int32_t itemId, const std::vector<std::string> & values) { -+ void execute_prepared_cql_query(thrift_std::function<void(CqlResult const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const int32_t itemId, const std::vector<std::string> & values) { - throw make_exception<InvalidRequestException>("CQL2 is not supported"); - } - -- void execute_prepared_cql3_query(tcxx::function<void(CqlResult const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const int32_t itemId, const std::vector<std::string> & values, const ConsistencyLevel::type consistency) { -+ void execute_prepared_cql3_query(thrift_std::function<void(CqlResult const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const int32_t itemId, const std::vector<std::string> & values, const ConsistencyLevel::type consistency) { - with_exn_cob(std::move(exn_cob), [&] { - cql3::prepared_cache_key_type cache_key(itemId); - bool needs_authorization = false; -@@ -1047,7 +1053,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void set_cql_version(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& version) { -+ void set_cql_version(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& version) { - // No-op. - cob(); - } -@@ -1122,7 +1128,7 @@ class thrift_handler : public CassandraCobSvIf { - if (cell) { - c.__set_value(bytes_to_string(*cell)); - } -- -+ - } - void end_row() { - CqlRow& r = _rows.emplace_back(); -diff --git a/thrift/server.cc b/thrift/server.cc -index 3ca500c90..0fee12e3d 100644 ---- a/thrift/server.cc -+++ b/thrift/server.cc -@@ -40,7 +40,14 @@ - #include <limits> - #include <cctype> - #include <vector> -+ -+#ifdef THRIFT_USES_BOOST - #include <boost/make_shared.hpp> -+namespace thrift_std = boost; -+#else -+#include <memory> -+namespace thrift_std = std; -+#endif - - static logging::logger tlogger("thrift"); - -@@ -96,9 +103,9 @@ struct thrift_server::connection::fake_transport : TTransport { - thrift_server::connection::connection(thrift_server& server, connected_socket&& fd, socket_address addr) - : _server(server), _fd(std::move(fd)), _read_buf(_fd.input()) - , _write_buf(_fd.output()) -- , _transport(boost::make_shared<thrift_server::connection::fake_transport>(this)) -- , _input(boost::make_shared<TMemoryBuffer>()) -- , _output(boost::make_shared<TMemoryBuffer>()) -+ , _transport(thrift_std::make_shared<thrift_server::connection::fake_transport>(this)) -+ , _input(thrift_std::make_shared<TMemoryBuffer>()) -+ , _output(thrift_std::make_shared<TMemoryBuffer>()) - , _in_proto(_server._protocol_factory->getProtocol(_input)) - , _out_proto(_server._protocol_factory->getProtocol(_output)) - , _processor(_server._processor_factory->getProcessor({ _in_proto, _out_proto, _transport })) { -diff --git a/thrift/server.hh b/thrift/server.hh -index cf713756a..e9c169819 100644 ---- a/thrift/server.hh -+++ b/thrift/server.hh -@@ -31,6 +31,12 @@ - #include <cstdint> - #include <boost/intrusive/list.hpp> - -+#ifdef THRIFT_USES_BOOST -+namespace thrift_std = boost; -+#else -+namespace thrift_std = std; -+#endif -+ - class thrift_server; - class thrift_stats; - class database; -@@ -80,12 +86,12 @@ class thrift_server { - input_stream<char> _read_buf; - output_stream<char> _write_buf; - temporary_buffer<char> _in_tmp; -- boost::shared_ptr<fake_transport> _transport; -- boost::shared_ptr<apache::thrift::transport::TMemoryBuffer> _input; -- boost::shared_ptr<apache::thrift::transport::TMemoryBuffer> _output; -- boost::shared_ptr<apache::thrift::protocol::TProtocol> _in_proto; -- boost::shared_ptr<apache::thrift::protocol::TProtocol> _out_proto; -- boost::shared_ptr<apache::thrift::async::TAsyncProcessor> _processor; -+ thrift_std::shared_ptr<fake_transport> _transport; -+ thrift_std::shared_ptr<apache::thrift::transport::TMemoryBuffer> _input; -+ thrift_std::shared_ptr<apache::thrift::transport::TMemoryBuffer> _output; -+ thrift_std::shared_ptr<apache::thrift::protocol::TProtocol> _in_proto; -+ thrift_std::shared_ptr<apache::thrift::protocol::TProtocol> _out_proto; -+ thrift_std::shared_ptr<apache::thrift::async::TAsyncProcessor> _processor; - promise<> _processor_promise; - public: - connection(thrift_server& server, connected_socket&& fd, socket_address addr); -@@ -101,9 +107,9 @@ class thrift_server { - private: - std::vector<server_socket> _listeners; - std::unique_ptr<thrift_stats> _stats; -- boost::shared_ptr<::cassandra::CassandraCobSvIfFactory> _handler_factory; -+ thrift_std::shared_ptr<::cassandra::CassandraCobSvIfFactory> _handler_factory; - std::unique_ptr<apache::thrift::protocol::TProtocolFactory> _protocol_factory; -- boost::shared_ptr<apache::thrift::async::TAsyncProcessorFactory> _processor_factory; -+ thrift_std::shared_ptr<apache::thrift::async::TAsyncProcessorFactory> _processor_factory; - uint64_t _total_connections = 0; - uint64_t _current_connections = 0; - uint64_t _requests_served = 0; diff --git a/dev-db/scylla/files/10-scylla.conf b/dev-db/scylla/files/10-scylla.conf deleted file mode 100644 index 48cfe7c..0000000 --- a/dev-db/scylla/files/10-scylla.conf +++ /dev/null @@ -1,2 +0,0 @@ -:syslogtag, startswith, "scylla" /var/log/scylla/scylla.log -& ~ diff --git a/dev-db/scylla/files/3.1-revert-64-bit-gc_clock.patch b/dev-db/scylla/files/3.1-revert-64-bit-gc_clock.patch deleted file mode 100644 index ca3c105..0000000 --- a/dev-db/scylla/files/3.1-revert-64-bit-gc_clock.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/gc_clock.hh b/gc_clock.hh -index ac3cbeb95..0e2ef5548 100644 ---- a/gc_clock.hh -+++ b/gc_clock.hh -@@ -32,7 +32,7 @@ - class gc_clock final { - public: - using base = seastar::lowres_system_clock; -- using rep = int64_t; -+ using rep = int32_t; - using period = std::ratio<1, 1>; // seconds - using duration = std::chrono::duration<rep, period>; - using time_point = std::chrono::time_point<gc_clock, duration>; -diff --git a/sstables/mc/writer.cc b/sstables/mc/writer.cc -index d36789899..717766d8e 100644 ---- a/sstables/mc/writer.cc -+++ b/sstables/mc/writer.cc -@@ -335,7 +335,7 @@ void write_delta_ttl(W& out, gc_clock::duration ttl, const encoding_stats& enc_s - template <typename W> - GCC6_CONCEPT(requires Writer<W>()) - void write_delta_local_deletion_time(W& out, int64_t local_deletion_time, const encoding_stats& enc_stats) { -- write_unsigned_delta_vint(out, local_deletion_time, enc_stats.min_local_deletion_time.time_since_epoch().count()); -+ write_unsigned_delta_vint(out, local_deletion_time, (int64_t)enc_stats.min_local_deletion_time.time_since_epoch().count()); - } - - template <typename W> diff --git a/dev-db/scylla/files/3.1-thrift-support.patch b/dev-db/scylla/files/3.1-thrift-support.patch deleted file mode 100644 index 95a841c..0000000 --- a/dev-db/scylla/files/3.1-thrift-support.patch +++ /dev/null @@ -1,543 +0,0 @@ -diff --git a/configure.py b/configure.py -index b59f7abe6..2e26461fa 100755 ---- a/configure.py -+++ b/configure.py -@@ -1123,6 +1123,12 @@ if not os.path.exists(xxhash_dir) or not os.listdir(xxhash_dir): - if not args.staticboost: - args.user_cflags += ' -DBOOST_TEST_DYN_LINK' - -+# thrift version detection, see #4538 -+thrift_version = subprocess.check_output(["thrift", "-version"]).decode("utf-8").split(" ")[-1] -+if int(thrift_version.replace(".", "")) < 110: -+ print('Note: thrift version < 0.11.0 detected, using boost symbols') -+ args.user_cflags += ' -DTHRIFT_USES_BOOST' -+ - for pkg in pkgs: - args.user_cflags += ' ' + pkg_config(pkg, '--cflags') - libs += ' ' + pkg_config(pkg, '--libs') -diff --git a/thrift/handler.cc b/thrift/handler.cc -index 540cc9cbc..f3725e3d3 100644 ---- a/thrift/handler.cc -+++ b/thrift/handler.cc -@@ -55,6 +55,12 @@ - #include "thrift/server.hh" - #include "db/config.hh" - -+#ifdef THRIFT_USES_BOOST -+namespace thrift_std = tcxx; -+#else -+namespace thrift_std = std; -+#endif -+ - using namespace ::apache::thrift; - using namespace ::apache::thrift::protocol; - namespace thrift_transport = ::apache::thrift::transport; -@@ -69,7 +75,7 @@ class unimplemented_exception : public std::exception { - virtual const char* what() const throw () override { return "sorry, not implemented"; } - }; - --void pass_unimplemented(const tcxx::function<void(::apache::thrift::TDelayedException* _throw)>& exn_cob) { -+void pass_unimplemented(const thrift_std::function<void(::apache::thrift::TDelayedException* _throw)>& exn_cob) { - exn_cob(::apache::thrift::TDelayedException::delayException(unimplemented_exception())); - } - -@@ -119,8 +125,8 @@ class delayed_exception_wrapper : public ::apache::thrift::TDelayedException { - - template <typename Func, typename T> - void --with_cob(tcxx::function<void (const T& ret)>&& cob, -- tcxx::function<void (::apache::thrift::TDelayedException* _throw)>&& exn_cob, -+with_cob(thrift_std::function<void (const T& ret)>&& cob, -+ thrift_std::function<void (::apache::thrift::TDelayedException* _throw)>&& exn_cob, - Func&& func) { - // then_wrapped() terminates the fiber by calling one of the cob objects - futurize<noexcept_movable_t<T>>::apply([func = std::forward<Func>(func)] { -@@ -137,8 +143,8 @@ with_cob(tcxx::function<void (const T& ret)>&& cob, - - template <typename Func> - void --with_cob(tcxx::function<void ()>&& cob, -- tcxx::function<void (::apache::thrift::TDelayedException* _throw)>&& exn_cob, -+with_cob(thrift_std::function<void ()>&& cob, -+ thrift_std::function<void (::apache::thrift::TDelayedException* _throw)>&& exn_cob, - Func&& func) { - // then_wrapped() terminates the fiber by calling one of the cob objects - futurize<void>::apply(func).then_wrapped([cob = std::move(cob), exn_cob = std::move(exn_cob)] (future<> f) { -@@ -154,7 +160,7 @@ with_cob(tcxx::function<void ()>&& cob, - - template <typename Func> - void --with_exn_cob(tcxx::function<void (::apache::thrift::TDelayedException* _throw)>&& exn_cob, Func&& func) { -+with_exn_cob(thrift_std::function<void (::apache::thrift::TDelayedException* _throw)>&& exn_cob, Func&& func) { - // then_wrapped() terminates the fiber by calling one of the cob objects - futurize<void>::apply(func).then_wrapped([exn_cob = std::move(exn_cob)] (future<> f) { - try { -@@ -203,7 +209,7 @@ class thrift_handler : public CassandraCobSvIf { - template <typename Cob, typename Func> - void - with_schema(Cob&& cob, -- tcxx::function<void (::apache::thrift::TDelayedException* _throw)>&& exn_cob, -+ thrift_std::function<void (::apache::thrift::TDelayedException* _throw)>&& exn_cob, - const std::string& cf, - Func&& func) { - with_cob(std::move(cob), std::move(exn_cob), [this, &cf, func = std::move(func)] { -@@ -227,7 +233,7 @@ class thrift_handler : public CassandraCobSvIf { - return _query_state.get_client_state().validate_login(); - }; - -- void login(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const AuthenticationRequest& auth_request) { -+ void login(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const AuthenticationRequest& auth_request) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - auth::authenticator::credentials_map creds(auth_request.credentials.begin(), auth_request.credentials.end()); - auto& auth_service = *_query_state.get_client_state().get_auth_service(); -@@ -237,13 +243,13 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void set_keyspace(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { -+ void set_keyspace(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - _query_state.get_client_state().set_keyspace(_db.local(), keyspace); - }); - } - -- void get(tcxx::function<void(ColumnOrSuperColumn const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnPath& column_path, const ConsistencyLevel::type consistency_level) { -+ void get(thrift_std::function<void(ColumnOrSuperColumn const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnPath& column_path, const ConsistencyLevel::type consistency_level) { - return get_slice([cob = std::move(cob), &column_path](auto&& results) { - if (results.empty()) { - throw NotFoundException(); -@@ -252,7 +258,7 @@ class thrift_handler : public CassandraCobSvIf { - }, exn_cob, key, column_path_to_column_parent(column_path), column_path_to_slice_predicate(column_path), std::move(consistency_level)); - } - -- void get_slice(tcxx::function<void(std::vector<ColumnOrSuperColumn> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnParent& column_parent, const SlicePredicate& predicate, const ConsistencyLevel::type consistency_level) { -+ void get_slice(thrift_std::function<void(std::vector<ColumnOrSuperColumn> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnParent& column_parent, const SlicePredicate& predicate, const ConsistencyLevel::type consistency_level) { - return multiget_slice([cob = std::move(cob)](auto&& results) { - if (!results.empty()) { - return cob(std::move(results.begin()->second)); -@@ -261,7 +267,7 @@ class thrift_handler : public CassandraCobSvIf { - }, exn_cob, {key}, column_parent, predicate, consistency_level); - } - -- void get_count(tcxx::function<void(int32_t const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnParent& column_parent, const SlicePredicate& predicate, const ConsistencyLevel::type consistency_level) { -+ void get_count(thrift_std::function<void(int32_t const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnParent& column_parent, const SlicePredicate& predicate, const ConsistencyLevel::type consistency_level) { - return multiget_count([cob = std::move(cob)](auto&& results) { - if (!results.empty()) { - return cob(results.begin()->second); -@@ -270,7 +276,7 @@ class thrift_handler : public CassandraCobSvIf { - }, exn_cob, {key}, column_parent, predicate, consistency_level); - } - -- void multiget_slice(tcxx::function<void(std::map<std::string, std::vector<ColumnOrSuperColumn> > const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::vector<std::string> & keys, const ColumnParent& column_parent, const SlicePredicate& predicate, const ConsistencyLevel::type consistency_level) { -+ void multiget_slice(thrift_std::function<void(std::map<std::string, std::vector<ColumnOrSuperColumn> > const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::vector<std::string> & keys, const ColumnParent& column_parent, const SlicePredicate& predicate, const ConsistencyLevel::type consistency_level) { - with_schema(std::move(cob), std::move(exn_cob), column_parent.column_family, [&](schema_ptr schema) { - if (!column_parent.super_column.empty()) { - fail(unimplemented::cause::SUPER); -@@ -298,7 +304,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void multiget_count(tcxx::function<void(std::map<std::string, int32_t> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::vector<std::string> & keys, const ColumnParent& column_parent, const SlicePredicate& predicate, const ConsistencyLevel::type consistency_level) { -+ void multiget_count(thrift_std::function<void(std::map<std::string, int32_t> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::vector<std::string> & keys, const ColumnParent& column_parent, const SlicePredicate& predicate, const ConsistencyLevel::type consistency_level) { - with_schema(std::move(cob), std::move(exn_cob), column_parent.column_family, [&](schema_ptr schema) { - if (!column_parent.super_column.empty()) { - fail(unimplemented::cause::SUPER); -@@ -327,7 +333,7 @@ class thrift_handler : public CassandraCobSvIf { - * don't know which partition keys in the specified range we should return back to the client. So for - * now our behavior differs from Origin. - */ -- void get_range_slices(tcxx::function<void(std::vector<KeySlice> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const ColumnParent& column_parent, const SlicePredicate& predicate, const KeyRange& range, const ConsistencyLevel::type consistency_level) { -+ void get_range_slices(thrift_std::function<void(std::vector<KeySlice> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const ColumnParent& column_parent, const SlicePredicate& predicate, const KeyRange& range, const ConsistencyLevel::type consistency_level) { - with_schema(std::move(cob), std::move(exn_cob), column_parent.column_family, [&](schema_ptr schema) { - if (!column_parent.super_column.empty()) { - fail(unimplemented::cause::SUPER); -@@ -438,7 +444,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void get_paged_slice(tcxx::function<void(std::vector<KeySlice> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& column_family, const KeyRange& range, const std::string& start_column, const ConsistencyLevel::type consistency_level) { -+ void get_paged_slice(thrift_std::function<void(std::vector<KeySlice> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& column_family, const KeyRange& range, const std::string& start_column, const ConsistencyLevel::type consistency_level) { - with_schema(std::move(cob), std::move(exn_cob), column_family, [&](schema_ptr schema) { - return do_with(std::vector<KeySlice>(), [&](auto& output) { - if (range.__isset.row_filter) { -@@ -466,14 +472,14 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void get_indexed_slices(tcxx::function<void(std::vector<KeySlice> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const ColumnParent& column_parent, const IndexClause& index_clause, const SlicePredicate& column_predicate, const ConsistencyLevel::type consistency_level) { -+ void get_indexed_slices(thrift_std::function<void(std::vector<KeySlice> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const ColumnParent& column_parent, const IndexClause& index_clause, const SlicePredicate& column_predicate, const ConsistencyLevel::type consistency_level) { - std::vector<KeySlice> _return; - warn(unimplemented::cause::INDEXES); - // FIXME: implement - return pass_unimplemented(exn_cob); - } - -- void insert(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnParent& column_parent, const Column& column, const ConsistencyLevel::type consistency_level) { -+ void insert(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnParent& column_parent, const Column& column, const ConsistencyLevel::type consistency_level) { - with_schema(std::move(cob), std::move(exn_cob), column_parent.column_family, [&](schema_ptr schema) { - if (column_parent.__isset.super_column) { - fail(unimplemented::cause::SUPER); -@@ -492,7 +498,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void add(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnParent& column_parent, const CounterColumn& column, const ConsistencyLevel::type consistency_level) { -+ void add(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnParent& column_parent, const CounterColumn& column, const ConsistencyLevel::type consistency_level) { - with_schema(std::move(cob), std::move(exn_cob), column_parent.column_family, [&](schema_ptr schema) { - if (column_parent.__isset.super_column) { - fail(unimplemented::cause::SUPER); -@@ -507,14 +513,14 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void cas(tcxx::function<void(CASResult const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const std::string& column_family, const std::vector<Column> & expected, const std::vector<Column> & updates, const ConsistencyLevel::type serial_consistency_level, const ConsistencyLevel::type commit_consistency_level) { -+ void cas(thrift_std::function<void(CASResult const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const std::string& column_family, const std::vector<Column> & expected, const std::vector<Column> & updates, const ConsistencyLevel::type serial_consistency_level, const ConsistencyLevel::type commit_consistency_level) { - CASResult _return; - warn(unimplemented::cause::LWT); - // FIXME: implement - return pass_unimplemented(exn_cob); - } - -- void remove(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnPath& column_path, const int64_t timestamp, const ConsistencyLevel::type consistency_level) { -+ void remove(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnPath& column_path, const int64_t timestamp, const ConsistencyLevel::type consistency_level) { - with_schema(std::move(cob), std::move(exn_cob), column_path.column_family, [&](schema_ptr schema) { - if (schema->is_view()) { - throw make_exception<InvalidRequestException>("Cannot modify Materialized Views directly"); -@@ -542,7 +548,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void remove_counter(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnPath& column_path, const ConsistencyLevel::type consistency_level) { -+ void remove_counter(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& key, const ColumnPath& column_path, const ConsistencyLevel::type consistency_level) { - with_schema(std::move(cob), std::move(exn_cob), column_path.column_family, [&](schema_ptr schema) { - mutation m_to_apply(schema, key_from_thrift(*schema, to_bytes_view(key))); - -@@ -568,7 +574,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void batch_mutate(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::map<std::string, std::map<std::string, std::vector<Mutation> > > & mutation_map, const ConsistencyLevel::type consistency_level) { -+ void batch_mutate(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::map<std::string, std::map<std::string, std::vector<Mutation> > > & mutation_map, const ConsistencyLevel::type consistency_level) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - auto p = prepare_mutations(_db.local(), current_keyspace(), mutation_map); - return parallel_for_each(std::move(p.second), [this](auto&& schema) { -@@ -580,7 +586,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void atomic_batch_mutate(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::map<std::string, std::map<std::string, std::vector<Mutation> > > & mutation_map, const ConsistencyLevel::type consistency_level) { -+ void atomic_batch_mutate(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::map<std::string, std::map<std::string, std::vector<Mutation> > > & mutation_map, const ConsistencyLevel::type consistency_level) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - auto p = prepare_mutations(_db.local(), current_keyspace(), mutation_map); - return parallel_for_each(std::move(p.second), [this](auto&& schema) { -@@ -592,7 +598,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void truncate(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& cfname) { -+ void truncate(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& cfname) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - if (current_keyspace().empty()) { - throw make_exception<InvalidRequestException>("keyspace not set"); -@@ -607,7 +613,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void get_multi_slice(tcxx::function<void(std::vector<ColumnOrSuperColumn> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const MultiSliceRequest& request) { -+ void get_multi_slice(thrift_std::function<void(std::vector<ColumnOrSuperColumn> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const MultiSliceRequest& request) { - with_schema(std::move(cob), std::move(exn_cob), request.column_parent.column_family, [&](schema_ptr schema) { - if (!request.__isset.key) { - throw make_exception<InvalidRequestException>("Key may not be empty"); -@@ -674,7 +680,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void describe_schema_versions(tcxx::function<void(std::map<std::string, std::vector<std::string> > const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob) { -+ void describe_schema_versions(thrift_std::function<void(std::map<std::string, std::vector<std::string> > const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob) { - with_cob(std::move(cob), std::move(exn_cob), [] { - return service::get_local_storage_service().describe_schema_versions().then([](auto&& m) { - std::map<std::string, std::vector<std::string>> ret; -@@ -686,7 +692,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void describe_keyspaces(tcxx::function<void(std::vector<KsDef> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob) { -+ void describe_keyspaces(thrift_std::function<void(std::vector<KsDef> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - validate_login(); - std::vector<KsDef> ret; -@@ -697,15 +703,15 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void describe_cluster_name(tcxx::function<void(std::string const& _return)> cob) { -+ void describe_cluster_name(thrift_std::function<void(std::string const& _return)> cob) { - cob(_db.local().get_config().cluster_name()); - } - -- void describe_version(tcxx::function<void(std::string const& _return)> cob) { -+ void describe_version(thrift_std::function<void(std::string const& _return)> cob) { - cob(::cassandra::thrift_version); - } - -- void do_describe_ring(tcxx::function<void(std::vector<TokenRange> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace, bool local) { -+ void do_describe_ring(thrift_std::function<void(std::vector<TokenRange> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace, bool local) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - auto& ks = _db.local().find_keyspace(keyspace); - if (ks.get_replication_strategy().get_type() == locator::replication_strategy_type::local) { -@@ -736,15 +742,15 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void describe_ring(tcxx::function<void(std::vector<TokenRange> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { -+ void describe_ring(thrift_std::function<void(std::vector<TokenRange> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { - do_describe_ring(std::move(cob), std::move(exn_cob), keyspace, false); - } - -- void describe_local_ring(tcxx::function<void(std::vector<TokenRange> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { -+ void describe_local_ring(thrift_std::function<void(std::vector<TokenRange> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { - do_describe_ring(std::move(cob), std::move(exn_cob), keyspace, true); - } - -- void describe_token_map(tcxx::function<void(std::map<std::string, std::string> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob) { -+ void describe_token_map(thrift_std::function<void(std::map<std::string, std::string> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob) { - with_cob(std::move(cob), std::move(exn_cob), [] { - auto m = service::get_local_storage_service().get_token_to_endpoint_map(); - std::map<std::string, std::string> ret; -@@ -755,15 +761,15 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void describe_partitioner(tcxx::function<void(std::string const& _return)> cob) { -+ void describe_partitioner(thrift_std::function<void(std::string const& _return)> cob) { - cob(dht::global_partitioner().name()); - } - -- void describe_snitch(tcxx::function<void(std::string const& _return)> cob) { -+ void describe_snitch(thrift_std::function<void(std::string const& _return)> cob) { - cob(format("org.apache.cassandra.locator.{}", _db.local().get_snitch_name())); - } - -- void describe_keyspace(tcxx::function<void(KsDef const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { -+ void describe_keyspace(thrift_std::function<void(KsDef const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - validate_login(); - auto& ks = _db.local().find_keyspace(keyspace); -@@ -771,7 +777,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void describe_splits(tcxx::function<void(std::vector<std::string> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& cfName, const std::string& start_token, const std::string& end_token, const int32_t keys_per_split) { -+ void describe_splits(thrift_std::function<void(std::vector<std::string> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& cfName, const std::string& start_token, const std::string& end_token, const int32_t keys_per_split) { - return describe_splits_ex([cob = std::move(cob)](auto&& results) { - std::vector<std::string> res; - res.reserve(results.size() + 1); -@@ -783,13 +789,13 @@ class thrift_handler : public CassandraCobSvIf { - }, exn_cob, cfName, start_token, end_token, keys_per_split); - } - -- void trace_next_query(tcxx::function<void(std::string const& _return)> cob) { -+ void trace_next_query(thrift_std::function<void(std::string const& _return)> cob) { - std::string _return; - // FIXME: implement - return cob("dummy trace"); - } - -- void describe_splits_ex(tcxx::function<void(std::vector<CfSplit> const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& cfName, const std::string& start_token, const std::string& end_token, const int32_t keys_per_split) { -+ void describe_splits_ex(thrift_std::function<void(std::vector<CfSplit> const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& cfName, const std::string& start_token, const std::string& end_token, const int32_t keys_per_split) { - with_cob(std::move(cob), std::move(exn_cob), [&]{ - dht::token_range_vector ranges; - auto tstart = start_token.empty() ? dht::minimum_token() : dht::global_partitioner().from_sstring(sstring(start_token)); -@@ -812,7 +818,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void system_add_column_family(tcxx::function<void(std::string const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const CfDef& cf_def) { -+ void system_add_column_family(thrift_std::function<void(std::string const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const CfDef& cf_def) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - if (!_db.local().has_keyspace(cf_def.keyspace)) { - throw NotFoundException(); -@@ -829,7 +835,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - }); - } -- void system_drop_column_family(tcxx::function<void(std::string const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& column_family) { -+ void system_drop_column_family(thrift_std::function<void(std::string const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& column_family) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - return _query_state.get_client_state().has_column_family_access(current_keyspace(), column_family, auth::permission::DROP).then([=] { - auto& cf = _db.local().find_column_family(current_keyspace(), column_family); -@@ -846,7 +852,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void system_add_keyspace(tcxx::function<void(std::string const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const KsDef& ks_def) { -+ void system_add_keyspace(thrift_std::function<void(std::string const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const KsDef& ks_def) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - auto ksm = keyspace_from_thrift(ks_def); - return _query_state.get_client_state().has_all_keyspaces_access(auth::permission::CREATE).then([this, ksm = std::move(ksm)] { -@@ -857,7 +863,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void system_drop_keyspace(tcxx::function<void(std::string const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { -+ void system_drop_keyspace(thrift_std::function<void(std::string const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& keyspace) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - thrift_validation::validate_keyspace_not_system(keyspace); - if (!_db.local().has_keyspace(keyspace)) { -@@ -872,7 +878,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void system_update_keyspace(tcxx::function<void(std::string const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const KsDef& ks_def) { -+ void system_update_keyspace(thrift_std::function<void(std::string const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const KsDef& ks_def) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - thrift_validation::validate_keyspace_not_system(ks_def.name); - -@@ -892,7 +898,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void system_update_column_family(tcxx::function<void(std::string const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const CfDef& cf_def) { -+ void system_update_column_family(thrift_std::function<void(std::string const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const CfDef& cf_def) { - with_cob(std::move(cob), std::move(exn_cob), [&] { - auto& cf = _db.local().find_column_family(cf_def.keyspace, cf_def.name); - auto schema = cf.schema(); -@@ -923,7 +929,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void execute_cql_query(tcxx::function<void(CqlResult const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& query, const Compression::type compression) { -+ void execute_cql_query(thrift_std::function<void(CqlResult const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& query, const Compression::type compression) { - throw make_exception<InvalidRequestException>("CQL2 is not supported"); - } - -@@ -953,7 +959,7 @@ class thrift_handler : public CassandraCobSvIf { - } - }; - -- void execute_cql3_query(tcxx::function<void(CqlResult const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& query, const Compression::type compression, const ConsistencyLevel::type consistency) { -+ void execute_cql3_query(thrift_std::function<void(CqlResult const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& query, const Compression::type compression, const ConsistencyLevel::type consistency) { - with_exn_cob(std::move(exn_cob), [&] { - if (compression != Compression::type::NONE) { - throw make_exception<InvalidRequestException>("Compressed query strings are not supported"); -@@ -969,7 +975,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void prepare_cql_query(tcxx::function<void(CqlPreparedResult const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& query, const Compression::type compression) { -+ void prepare_cql_query(thrift_std::function<void(CqlPreparedResult const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& query, const Compression::type compression) { - throw make_exception<InvalidRequestException>("CQL2 is not supported"); - } - -@@ -997,7 +1003,7 @@ class thrift_handler : public CassandraCobSvIf { - } - }; - -- void prepare_cql3_query(tcxx::function<void(CqlPreparedResult const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& query, const Compression::type compression) { -+ void prepare_cql3_query(thrift_std::function<void(CqlPreparedResult const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& query, const Compression::type compression) { - with_exn_cob(std::move(exn_cob), [&] { - validate_login(); - if (compression != Compression::type::NONE) { -@@ -1011,11 +1017,11 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void execute_prepared_cql_query(tcxx::function<void(CqlResult const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const int32_t itemId, const std::vector<std::string> & values) { -+ void execute_prepared_cql_query(thrift_std::function<void(CqlResult const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const int32_t itemId, const std::vector<std::string> & values) { - throw make_exception<InvalidRequestException>("CQL2 is not supported"); - } - -- void execute_prepared_cql3_query(tcxx::function<void(CqlResult const& _return)> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const int32_t itemId, const std::vector<std::string> & values, const ConsistencyLevel::type consistency) { -+ void execute_prepared_cql3_query(thrift_std::function<void(CqlResult const& _return)> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const int32_t itemId, const std::vector<std::string> & values, const ConsistencyLevel::type consistency) { - with_exn_cob(std::move(exn_cob), [&] { - cql3::prepared_cache_key_type cache_key(itemId); - bool needs_authorization = false; -@@ -1048,7 +1054,7 @@ class thrift_handler : public CassandraCobSvIf { - }); - } - -- void set_cql_version(tcxx::function<void()> cob, tcxx::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& version) { -+ void set_cql_version(thrift_std::function<void()> cob, thrift_std::function<void(::apache::thrift::TDelayedException* _throw)> exn_cob, const std::string& version) { - // No-op. - cob(); - } -diff --git a/thrift/server.cc b/thrift/server.cc -index c41ab5c22..85d07e8ca 100644 ---- a/thrift/server.cc -+++ b/thrift/server.cc -@@ -41,7 +41,14 @@ - #include <limits> - #include <cctype> - #include <vector> -+ -+#ifdef THRIFT_USES_BOOST - #include <boost/make_shared.hpp> -+namespace thrift_std = boost; -+#else -+#include <memory> -+namespace thrift_std = std; -+#endif - - static logging::logger tlogger("thrift"); - -@@ -97,9 +104,9 @@ struct thrift_server::connection::fake_transport : TTransport { - thrift_server::connection::connection(thrift_server& server, connected_socket&& fd, socket_address addr) - : _server(server), _fd(std::move(fd)), _read_buf(_fd.input()) - , _write_buf(_fd.output()) -- , _transport(boost::make_shared<thrift_server::connection::fake_transport>(this)) -- , _input(boost::make_shared<TMemoryBuffer>()) -- , _output(boost::make_shared<TMemoryBuffer>()) -+ , _transport(thrift_std::make_shared<thrift_server::connection::fake_transport>(this)) -+ , _input(thrift_std::make_shared<TMemoryBuffer>()) -+ , _output(thrift_std::make_shared<TMemoryBuffer>()) - , _in_proto(_server._protocol_factory->getProtocol(_input)) - , _out_proto(_server._protocol_factory->getProtocol(_output)) - , _processor(_server._processor_factory->getProcessor({ _in_proto, _out_proto, _transport })) { -diff --git a/thrift/server.hh b/thrift/server.hh -index af37c4e60..2f4662178 100644 ---- a/thrift/server.hh -+++ b/thrift/server.hh -@@ -31,6 +31,12 @@ - #include <cstdint> - #include <boost/intrusive/list.hpp> - -+#ifdef THRIFT_USES_BOOST -+namespace thrift_std = boost; -+#else -+namespace thrift_std = std; -+#endif -+ - class thrift_server; - class thrift_stats; - class database; -@@ -80,12 +86,12 @@ class thrift_server { - input_stream<char> _read_buf; - output_stream<char> _write_buf; - temporary_buffer<char> _in_tmp; -- boost::shared_ptr<fake_transport> _transport; -- boost::shared_ptr<apache::thrift::transport::TMemoryBuffer> _input; -- boost::shared_ptr<apache::thrift::transport::TMemoryBuffer> _output; -- boost::shared_ptr<apache::thrift::protocol::TProtocol> _in_proto; -- boost::shared_ptr<apache::thrift::protocol::TProtocol> _out_proto; -- boost::shared_ptr<apache::thrift::async::TAsyncProcessor> _processor; -+ thrift_std::shared_ptr<fake_transport> _transport; -+ thrift_std::shared_ptr<apache::thrift::transport::TMemoryBuffer> _input; -+ thrift_std::shared_ptr<apache::thrift::transport::TMemoryBuffer> _output; -+ thrift_std::shared_ptr<apache::thrift::protocol::TProtocol> _in_proto; -+ thrift_std::shared_ptr<apache::thrift::protocol::TProtocol> _out_proto; -+ thrift_std::shared_ptr<apache::thrift::async::TAsyncProcessor> _processor; - promise<> _processor_promise; - public: - connection(thrift_server& server, connected_socket&& fd, socket_address addr); -@@ -101,9 +107,9 @@ class thrift_server { - private: - std::vector<server_socket> _listeners; - std::unique_ptr<thrift_stats> _stats; -- boost::shared_ptr<::cassandra::CassandraCobSvIfFactory> _handler_factory; -+ thrift_std::shared_ptr<::cassandra::CassandraCobSvIfFactory> _handler_factory; - std::unique_ptr<apache::thrift::protocol::TProtocolFactory> _protocol_factory; -- boost::shared_ptr<apache::thrift::async::TAsyncProcessorFactory> _processor_factory; -+ thrift_std::shared_ptr<apache::thrift::async::TAsyncProcessorFactory> _processor_factory; - uint64_t _total_connections = 0; - uint64_t _current_connections = 0; - uint64_t _requests_served = 0; diff --git a/dev-db/scylla/files/3.1.2-fix-read-amplification.patch b/dev-db/scylla/files/3.1.2-fix-read-amplification.patch deleted file mode 100644 index c0dceef..0000000 --- a/dev-db/scylla/files/3.1.2-fix-read-amplification.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/table.cc b/table.cc -index eec65689f2..596c312854 100644 ---- a/table.cc -+++ b/table.cc -@@ -2518,7 +2518,7 @@ future<row_locker::lock_holder> table::do_push_view_replica_updates(const schema - std::move(slice), - std::move(m), - [base, views = std::move(views), lock = std::move(lock), this, timeout, source = std::move(source), &io_priority] (auto& pk, auto& slice, auto& m) mutable { -- auto reader = source.make_reader(base, pk, slice, io_priority); -+ auto reader = source.make_reader(base, pk, slice, io_priority, nullptr, streamed_mutation::forwarding::no, mutation_reader::forwarding::no); - return this->generate_and_propagate_view_updates(base, std::move(views), std::move(m), std::move(reader)).then([lock = std::move(lock)] () mutable { - // return the local partition/row lock we have taken so it - // remains locked until the caller is done modifying this diff --git a/dev-db/scylla/files/boost-1.65.0-icl-ttp-matching.patch b/dev-db/scylla/files/boost-1.65.0-icl-ttp-matching.patch deleted file mode 100644 index f3c60a6..0000000 --- a/dev-db/scylla/files/boost-1.65.0-icl-ttp-matching.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 32178e147a976419b9ac846d3c40c3ab4d1e0ff6 Mon Sep 17 00:00:00 2001 -From: Mathias Gaunard <mathias@gaunard.com> -Date: Thu, 4 May 2017 17:18:22 +0100 -Subject: [PATCH] Compatibility with GCC 7.1 - -The libstdc++ shipped with GCC 7.1 uses a unary class template for std::string. -type_to_string needs to be adapted to deal with this properly. ---- - boost/icl/type_traits/type_to_string.hpp | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -diff --git a/boost/icl/type_traits/type_to_string.hpp b/boost/icl/type_traits/type_to_string.hpp -index 80c473a..994711b 100644 ---- a/boost/icl/type_traits/type_to_string.hpp -+++ b/boost/icl/type_traits/type_to_string.hpp -@@ -43,7 +43,6 @@ namespace boost{ namespace icl - - template<>inline std::string type_to_string<float>::apply() { return "flt"; } - template<>inline std::string type_to_string<double>::apply() { return "dbl"; } -- template<>inline std::string type_to_string<std::string>::apply() { return "string"; } - - //------------------------------------------------------------------------- - template<template<class> class Templ> -@@ -78,6 +77,13 @@ namespace boost{ namespace icl - } - }; - -+ // --------------------------------------------------------------------------- -+ template<> -+ struct type_to_string<std::string> -+ { -+ static std::string apply() { return "string"; } -+ }; -+ - }} // namespace boost icl - - #endif diff --git a/dev-db/scylla/files/fix-fmt-3.5.0-compilation.patch b/dev-db/scylla/files/fix-fmt-3.5.0-compilation.patch deleted file mode 100644 index 4673e6a..0000000 --- a/dev-db/scylla/files/fix-fmt-3.5.0-compilation.patch +++ /dev/null @@ -1,94 +0,0 @@ -From 5632c0776e5786c270b4c594ccb7cc3303e1648a Mon Sep 17 00:00:00 2001 -From: Vlad Zolotarov <vladz@scylladb.com> -Date: Tue, 16 Jul 2019 18:12:31 -0400 -Subject: [PATCH] tests: fix the compilation with fmt v5.3.0 - -Compilation fails with fmt release 5.3.0 when we print a bytes_view -using "{}" formatter. - -Compiler's complain is: "error: static assertion failed: mismatch -between char-types of context and argument" - -Fix this by explicitly using to_hex() converter. - -Signed-off-by: Vlad Zolotarov <vladz@scylladb.com> -Message-Id: <20190716221231.22605-3-vladz@scylladb.com> -Signed-off-by: Alexys Jacob <ultrabug@gentoo.org> ---- - tests/murmur_hash_test.cc | 2 +- - tests/sstable_3_x_test.cc | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/tests/murmur_hash_test.cc b/tests/murmur_hash_test.cc -index fbe341479..d419cb3a9 100644 ---- a/tests/murmur_hash_test.cc -+++ b/tests/murmur_hash_test.cc -@@ -99,7 +99,7 @@ std::array<uint64_t,2> prefix_hashes[] = { - BOOST_AUTO_TEST_CASE(test_hash_output) { - auto assert_hashes_equal = [] (bytes_view data, std::array<uint64_t,2> lhs, std::array<uint64_t,2> rhs) { - if (lhs != rhs) { -- BOOST_FAIL(format("Hashes differ for {} (got {{0x{:x}, 0x{:x}}} and {{0x{:x}, 0x{:x}}})", data, -+ BOOST_FAIL(format("Hashes differ for {} (got {{0x{:x}, 0x{:x}}} and {{0x{:x}, 0x{:x}}})", to_hex(data), - lhs[0], lhs[1], rhs[0], rhs[1])); - } - }; -diff --git a/tests/sstable_3_x_test.cc b/tests/sstable_3_x_test.cc -index be77e7ecf..cc7756ddf 100644 ---- a/tests/sstable_3_x_test.cc -+++ b/tests/sstable_3_x_test.cc -@@ -2815,7 +2815,7 @@ SEASTAR_THREAD_TEST_CASE(test_uncompressed_collections_read) { - BOOST_FAIL(format("Expected row with column {} having value {}, but it has value {}", - def.id, - int32_type->decompose(int32_t(val[idx])), -- entry.first)); -+ to_hex(entry.first))); - } - ++idx; - } -@@ -2858,7 +2858,7 @@ SEASTAR_THREAD_TEST_CASE(test_uncompressed_collections_read) { - def.id, - int32_type->decompose(int32_t(val[idx].first)), - utf8_type->decompose(val[idx].second), -- entry.first, -+ to_hex(entry.first), - entry.second.value().linearize())); - } - ++idx; --- -2.22.0 - -From fe82437dea46f585758d388ba5d5ef8392cb0421 Mon Sep 17 00:00:00 2001 -From: Vlad Zolotarov <vladz@scylladb.com> -Date: Thu, 25 Apr 2019 15:34:15 -0400 -Subject: [PATCH] types.cc: fix the compilation with fmt v5.3.0 - -Compilation fails with fmt release 5.3.0 when we print a bytes_view -using "{}" formatter. - -Compiler's complain is: "error: static assertion failed: mismatch -between char-types of context and argument" - -Fix this by explicitly using to_hex() converter. - -Signed-off-by: Vlad Zolotarov <vladz@scylladb.com> -Signed-off-by: Alexys Jacob <ultrabug@gentoo.org> ---- - types.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/types.cc b/types.cc -index f6067c65c..bf0a9460a 100644 ---- a/types.cc -+++ b/types.cc -@@ -3212,7 +3212,7 @@ void list_type_impl::validate(bytes_view v, cql_serialization_format sf) const { - format("Validation failed for type {}: bytes remaining after reading all {} elements of the list -> [{}]", - this->name(), - nr, -- v)); -+ to_hex(v))); - } - } - --- -2.22.0 - diff --git a/dev-db/scylla/files/scylla-server.confd b/dev-db/scylla/files/scylla-server.confd deleted file mode 100644 index f210c1b..0000000 --- a/dev-db/scylla/files/scylla-server.confd +++ /dev/null @@ -1,17 +0,0 @@ -# please check the defaults of scylla in the /etc/default/scylla-server file! -# -# you can configure the following options for the OpenRC init script: -# - chdir -# - config_file -# - run_dir - -# source scylla default env -source /etc/default/scylla-server - -# source scylla additional configuration -for i in /etc/scylla.d/*.conf; do - if [ "$i" = "/etc/scylla.d/*.conf" ]; then - break - fi - . "$i" -done diff --git a/dev-db/scylla/files/scylla-server.initd b/dev-db/scylla/files/scylla-server.initd deleted file mode 100644 index f51b74f..0000000 --- a/dev-db/scylla/files/scylla-server.initd +++ /dev/null @@ -1,37 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -config_file=${config_file:-/etc/scylla/scylla.yaml} -run_dir=${run_dir:-/run/scylla} -chdir=${chdir:-/var/lib/scylla/coredump} - -command="/usr/bin/scylla" -command_args="--options-file ${config_file} ${CPUSET} ${DEV_MODE} ${SEASTAR_IO} ${SCYLLA_ARGS}" -command_background="true" -command_progress="true" -pidfile=${run_dir}/${SVCNAME}.pid -user=${USER:-scylla} -group=${GROUP:-scylla} -retry="SIGTERM/120" -start_stop_daemon_args="--chdir ${chdir} --user ${user} --group ${group} --wait 5000" - -depend() { - use net localmount logger -} - -start_pre() { - checkpath -d -m 0750 -o "${user}":"${group}" "${run_dir}" - if [ ! -f ${config_file} ]; then - eerror "Missing configuration file ${config_file}" - return 1 - fi - export SCYLLA_CONF SCYLLA_HOME - ebegin "Running scylla_prepare" - /usr/lib/scylla/scylla_prepare >/dev/null -} - -stop_post() { - ebegin "Running scylla_stop" - /usr/lib/scylla/scylla_stop >/dev/null -} diff --git a/dev-db/scylla/files/scylla.sudoers b/dev-db/scylla/files/scylla.sudoers deleted file mode 100644 index 62270ed..0000000 --- a/dev-db/scylla/files/scylla.sudoers +++ /dev/null @@ -1 +0,0 @@ -scylla ALL=(ALL) NOPASSWD: /usr/lib/scylla/scylla_prepare,/usr/lib/scylla/scylla_stop,/usr/lib/scylla/scylla_io_setup,/usr/lib/scylla/scylla-ami/scylla_ami_setup diff --git a/dev-db/scylla/files/v1-0001-repair-Add-a-timer-for-repair-reader.patch b/dev-db/scylla/files/v1-0001-repair-Add-a-timer-for-repair-reader.patch deleted file mode 100644 index f2cc16d..0000000 --- a/dev-db/scylla/files/v1-0001-repair-Add-a-timer-for-repair-reader.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 22af0a08b3fd7c9c29107095370f634d90f8afad Mon Sep 17 00:00:00 2001 -Message-Id: <22af0a08b3fd7c9c29107095370f634d90f8afad.1574845916.git.asias@scylladb.com> -From: Asias He <asias@scylladb.com> -Date: Wed, 27 Nov 2019 16:53:27 +0800 -Subject: [PATCH scylla v1] repair: Add a timer for repair reader -To: scylladb-dev@googlegroups.com - ---- - repair/row_level.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/repair/row_level.cc b/repair/row_level.cc -index ea0f7f2524..ec92c169b0 100644 ---- a/repair/row_level.cc -+++ b/repair/row_level.cc -@@ -339,7 +339,7 @@ using is_local_reader = bool_class<class is_local_reader_tag>; - public: - future<mutation_fragment_opt> - read_mutation_fragment() { -- return _reader(db::no_timeout); -+ return _reader(db::timeout_clock::now() + std::chrono::seconds(60 * 5)); - } - - lw_shared_ptr<const decorated_key_with_hash>& get_current_dk() { --- -2.23.0 - diff --git a/dev-db/scylla/metadata.xml b/dev-db/scylla/metadata.xml deleted file mode 100644 index f4e95c6..0000000 --- a/dev-db/scylla/metadata.xml +++ /dev/null @@ -1,8 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="person"> - <email>ultrabug@gentoo.org</email> - <name>Ultrabug</name> - </maintainer> -</pkgmetadata> diff --git a/dev-db/scylla/scylla-3.1.0.ebuild b/dev-db/scylla/scylla-3.1.0.ebuild deleted file mode 100644 index f935332..0000000 --- a/dev-db/scylla/scylla-3.1.0.ebuild +++ /dev/null @@ -1,240 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -MY_PV="${PV/_beta/}" -EGIT_CLONE_TYPE="mirror" -EGIT_COMMIT="scylla-${PV}" -EGIT_REPO_URI="https://github.com/scylladb/scylla.git" -inherit git-r3 - -PYTHON_COMPAT=( python3_{4,5,6} ) - -inherit autotools flag-o-matic linux-info python-r1 toolchain-funcs systemd user - -DESCRIPTION="NoSQL data store using the seastar framework, compatible with Apache Cassandra" -HOMEPAGE="http://scylladb.com/" - -KEYWORDS="~amd64" -LICENSE="AGPL-3" -SLOT="0" -IUSE="doc systemd" - -# NOTE: -# if you want to debug using backtraces, enable the 'splitdebug' FEATURE: -# https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces -# -# then check out: -# https://github.com/scylladb/scylla/wiki/How-to-resolve-backtrace - -RESTRICT="test" - -RDEPEND=" - >=dev-libs/thrift-0.11.0 - <dev-util/ragel-7.0 - <sys-apps/hwloc-2.0.0 - ~app-admin/scylla-jmx-${PV} - ~app-admin/scylla-tools-${PV} - >=virtual/jdk-1.8.0:* - app-arch/lz4 - app-arch/snappy - app-arch/zstd - dev-cpp/antlr-cpp:3.5 - dev-cpp/yaml-cpp - dev-java/antlr:3.5 - dev-libs/boost[icu] - dev-libs/crypto++ - dev-libs/jsoncpp - dev-libs/libaio - >=dev-libs/libfmt-3.2.1 - dev-libs/libxml2 - dev-libs/protobuf - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pyparsing[${PYTHON_USEDEP}] - dev-python/pystache[${PYTHON_USEDEP}] - dev-python/pyudev[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/urwid[${PYTHON_USEDEP}] - dev-util/systemtap - net-libs/gnutls - net-misc/lksctp-tools - sys-apps/ethtool - sys-fs/xfsprogs - sys-libs/libunwind - sys-libs/zlib - sys-process/numactl - x11-libs/libpciaccess - systemd? ( sys-apps/systemd ) -" -DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-3.5 - dev-util/ninja -" - -# Discussion about kernel configuration: -# https://groups.google.com/forum/#!topic/scylladb-dev/qJu2zrryv-s -CONFIG_CHECK="~NUMA_BALANCING ~SYN_COOKIES ~TRANSPARENT_HUGEPAGE" -ERROR_NUMA_BALANCING="${PN} recommends support for Memory placement aware NUMA scheduler (NUMA_BALANCING)." -ERROR_SYN_COOKIES="${PN} recommends support for TCP syncookie (SYN_COOKIES)." -ERROR_TRANSPARENT_HUGEPAGE="${PN} recommends support for Transparent Hugepage (TRANSPARENT_HUGEPAGE)." - -# NOTE: maybe later depending on upstream energy, support DPDK -# For DPDK, removed HUGETLBFS PROC_PAGE_MONITOR UIO_PCI_GENERIC in favor of VFIO -# CONFIG_CHECK="~NUMA_BALANCING ~SYN_COOKIES ~TRANSPARENT_HUGEPAGE ~VFIO" -# ERROR_VFIO="${PN} running with DPDK recommends support for Non-Privileged userspace driver framework (VFIO)." - -DOCS=( LICENSE.AGPL NOTICE.txt ORIGIN README.md README-DPDK.md ) -PATCHES=( - "${FILESDIR}/fix-fmt-3.5.0-compilation.patch" - "${FILESDIR}/3.1-thrift-support.patch" - "${FILESDIR}/3.1-revert-64-bit-gc_clock.patch" -) - -pkg_setup() { - linux-info_pkg_setup - enewgroup scylla - enewuser scylla -1 -1 /var/lib/${PN} scylla -} - -src_prepare() { - default - - # set version - local git_commit=$(git log --pretty=format:'%h' -n 1) - echo "${PV}-${git_commit}" > version - - # fix jsoncpp detection - sed -e 's@json/json.h@jsoncpp/json/json.h@g' -i json.hh || die - - # QA: no -Werror (tho it does not propagate) - sed -e 's/\-Werror//g' -i configure.py || die - - # QA NOTE: respect -O3 as it is upstream recommended - # and because we would kill the RAM of the machine with lower optimization - # since some files can take up to 8GB of RAM to compile! - # sed -e 's/\-O3//g' -i configure.py || die - - # I don't agree with the old 4GB of RAM per job, it's more about 8GB now - sed -e 's/4000000000/8000000000/g' -i scripts/jobs || die -} - -src_configure() { - python_setup - - # copied from dist/redhat/scylla.spec.mustache - # we want a package compiled with old kernel headers to - # support nowait aio if the user upgrades their kernel - if ! grep -qwr RWF_NOWAIT /usr/include/linux; then - append-cflags "-DRWF_NOWAIT=8" - fi - if ! grep -qwr aio_rw_flags /usr/include/linux; then - append-cflags "-Daio_rw_flags=aio_reserved1" - fi - - # native CPU CFLAGS are strongly enforced by upstreams, respect that - replace-cpu-flags "*" "native" - - append-cflags "-Wno-attributes -Wno-array-bounds" - - ${EPYTHON} configure.py --enable-gcc6-concepts --mode=release --with=scylla --disable-xen --c-compiler "$(tc-getCC)" --compiler "$(tc-getCXX)" --ldflags "${LDFLAGS}" --cflags "${CFLAGS}" --python ${EPYTHON} --with-antlr3 /usr/bin/antlr3.5 || die -} - -src_compile() { - # we use the provided 'scripts/jobs' to figure out how many parallel - # compilation jobs we can sustain - einfo "Compiling using $(scripts/jobs) jobs" - ninja -v build/release/scylla build/release/iotune -j$(scripts/jobs) || die -} - -src_install() { - # NOTE: - # I base myself on upstream's install.sh file - - default - - local MUSTACHE_DIST="\"debian\": true" - pystache dist/common/systemd/scylla-server.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-server.service - pystache dist/common/systemd/scylla-housekeeping-daily.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-housekeeping-daily.service - pystache dist/common/systemd/scylla-housekeeping-restart.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-housekeeping-restart.service - - insinto /etc/default - doins dist/common/sysconfig/scylla-server - - insinto /etc/security/limits.d - doins dist/common/limits.d/scylla.conf - - insinto /etc/scylla.d - doins dist/common/scylla.d/*.conf - - insinto /etc/sysctl.d - doins dist/common/sysctl.d/*.conf - - insinto /etc/scylla - for config_file in scylla.yaml cassandra-rackdc.properties; do - doins conf/${config_file} - done - - systemd_dounit build/*.service - systemd_dounit dist/common/systemd/*.service - systemd_dounit dist/common/systemd/*.timer - - exeinto /usr/lib/scylla - doexe dist/common/scripts/* - doexe seastar/scripts/* - doexe scylla-gdb.py - - dobin build/release/iotune - dobin build/release/scylla - - insinto /usr/lib/scylla - doins dist/common/scripts/scylla_blocktune.py - - exeinto /usr/lib/scylla - doexe dist/common/scripts/scylla-blocktune - doexe dist/common/scripts/scylla-housekeeping - - insinto /etc/scylla.d - doins conf/housekeeping.cfg - - newinitd "${FILESDIR}/scylla-server.initd" ${PN}-server - newconfd "${FILESDIR}/scylla-server.confd" ${PN}-server - - dodoc -r licenses - - for x in /var/lib/${PN} /var/lib/${PN}/{data,commitlog,hints,coredump} /var/lib/scylla-housekeeping /var/log/scylla; do - keepdir "${x}" - fowners scylla:scylla "${x}" - done - - insinto /usr/lib/scylla/swagger-ui - doins -r swagger-ui/dist - - insinto /usr/lib/scylla/api - doins -r api/api-doc - - insinto /usr/lib/scylla/scyllatop - doins -r tools/scyllatop/* - fperms +x /usr/lib/scylla/scyllatop/scyllatop.py - dosym /usr/lib/scylla/scyllatop/scyllatop.py /usr/sbin/scyllatop - - for util in $(ls dist/common/sbin/); do - dosym /usr/lib/scylla/${util} /usr/sbin/${util} - done - - insinto /etc/sudoers.d - newins "${FILESDIR}"/scylla.sudoers scylla - - insinto /etc/rsyslog.d - doins "${FILESDIR}/10-scylla.conf" -} - -pkg_postinst() { - elog "You should run 'emerge --config dev-db/scylla' to finalize your ScyllaDB installation." -} - -pkg_config() { - elog "Running 'scylla_setup'..." - scylla_setup -} diff --git a/dev-db/scylla/scylla-3.1.1-r1.ebuild b/dev-db/scylla/scylla-3.1.1-r1.ebuild deleted file mode 100644 index 4b6edf0..0000000 --- a/dev-db/scylla/scylla-3.1.1-r1.ebuild +++ /dev/null @@ -1,252 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -MY_PV="${PV/_beta/}" -EGIT_CLONE_TYPE="mirror" -EGIT_COMMIT="scylla-${PV}" -EGIT_REPO_URI="https://github.com/scylladb/scylla.git" -inherit git-r3 - -PYTHON_COMPAT=( python3_{4,5,6} ) - -inherit autotools flag-o-matic linux-info python-r1 toolchain-funcs systemd user - -DESCRIPTION="NoSQL data store using the seastar framework, compatible with Apache Cassandra" -HOMEPAGE="http://scylladb.com/" - -KEYWORDS="~amd64" -LICENSE="AGPL-3" -SLOT="0" -IUSE="doc systemd" - -# NOTE: -# if you want to debug using backtraces, enable the 'splitdebug' FEATURE: -# https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces -# -# then check out: -# https://github.com/scylladb/scylla/wiki/How-to-resolve-backtrace - -RESTRICT="test" - -RDEPEND=" - >=dev-libs/thrift-0.11.0 - <dev-util/ragel-7.0 - <sys-apps/hwloc-2.0.0 - ~app-admin/scylla-jmx-${PV} - ~app-admin/scylla-tools-${PV} - >=virtual/jdk-1.8.0:* - app-arch/lz4 - app-arch/snappy - app-arch/zstd - dev-cpp/antlr-cpp:3.5 - dev-cpp/yaml-cpp - dev-java/antlr:3.5 - dev-libs/boost[icu] - dev-libs/crypto++ - dev-libs/jsoncpp - dev-libs/libaio - >=dev-libs/libfmt-3.2.1 - dev-libs/libxml2 - dev-libs/protobuf - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pyparsing[${PYTHON_USEDEP}] - dev-python/pystache[${PYTHON_USEDEP}] - dev-python/pyudev[${PYTHON_USEDEP}] - >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/urwid[${PYTHON_USEDEP}] - dev-util/systemtap - net-libs/gnutls - net-misc/lksctp-tools - sys-apps/ethtool - sys-fs/xfsprogs - sys-libs/libunwind - sys-libs/zlib - sys-process/numactl - x11-libs/libpciaccess - systemd? ( sys-apps/systemd ) -" -DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-3.5 - dev-util/ninja -" - -# Discussion about kernel configuration: -# https://groups.google.com/forum/#!topic/scylladb-dev/qJu2zrryv-s -CONFIG_CHECK="~NUMA_BALANCING ~SYN_COOKIES ~TRANSPARENT_HUGEPAGE" -ERROR_NUMA_BALANCING="${PN} recommends support for Memory placement aware NUMA scheduler (NUMA_BALANCING)." -ERROR_SYN_COOKIES="${PN} recommends support for TCP syncookie (SYN_COOKIES)." -ERROR_TRANSPARENT_HUGEPAGE="${PN} recommends support for Transparent Hugepage (TRANSPARENT_HUGEPAGE)." - -# NOTE: maybe later depending on upstream energy, support DPDK -# For DPDK, removed HUGETLBFS PROC_PAGE_MONITOR UIO_PCI_GENERIC in favor of VFIO -# CONFIG_CHECK="~NUMA_BALANCING ~SYN_COOKIES ~TRANSPARENT_HUGEPAGE ~VFIO" -# ERROR_VFIO="${PN} running with DPDK recommends support for Non-Privileged userspace driver framework (VFIO)." - -DOCS=( LICENSE.AGPL NOTICE.txt ORIGIN README.md README-DPDK.md ) -PATCHES=( - "${FILESDIR}/fix-fmt-3.5.0-compilation.patch" - "${FILESDIR}/3.1-thrift-support.patch" - "${FILESDIR}/v1-0001-repair-Add-a-timer-for-repair-reader.patch" -) - -pkg_setup() { - linux-info_pkg_setup - enewgroup scylla - enewuser scylla -1 -1 /var/lib/${PN} scylla -} - -src_prepare() { - default - - # set version - local git_commit=$(git log --pretty=format:'%h' -n 1) - echo "${PV}-${git_commit}" > version - - # fix jsoncpp detection - sed -e 's@json/json.h@jsoncpp/json/json.h@g' -i json.hh || die - - # QA: no -Werror (tho it does not propagate) - sed -e 's/\-Werror//g' -i configure.py || die - - # QA NOTE: respect -O3 as it is upstream recommended - # and because we would kill the RAM of the machine with lower optimization - # since some files can take up to 8GB of RAM to compile! - # sed -e 's/\-O3//g' -i configure.py || die - - # I don't agree with the old 4GB of RAM per job, it's more about 8GB now - sed -e 's/4000000000/8000000000/g' -i scripts/jobs || die - - # TODO: contribute me - # fix pyyaml vulnerability #659348 - # seastar/scripts/perftune.py - # dist/docker/redhat/scyllasetup.py - # dist/common/scripts/scylla_io_setup - # dist/common/scripts/scylla_fstrim - # dist/common/scripts/scylla_blocktune.py - # dist/common/scripts/scylla_util.py - # dist/common/scripts/scylla_config_get.py - find "${S}/dist" -type f -exec sed -e 's/yaml.load(/yaml.full_load(/g' -i {} \+ || die - sed -e 's/yaml.load(/yaml.safe_load(/g' -i seastar/scripts/perftune.py || die -} - -src_configure() { - python_setup - - # copied from dist/redhat/scylla.spec.mustache - # we want a package compiled with old kernel headers to - # support nowait aio if the user upgrades their kernel - if ! grep -qwr RWF_NOWAIT /usr/include/linux; then - append-cflags "-DRWF_NOWAIT=8" - fi - if ! grep -qwr aio_rw_flags /usr/include/linux; then - append-cflags "-Daio_rw_flags=aio_reserved1" - fi - - # native CPU CFLAGS are strongly enforced by upstreams, respect that - replace-cpu-flags "*" "native" - - append-cflags "-Wno-attributes -Wno-array-bounds" - - ${EPYTHON} configure.py --enable-gcc6-concepts --mode=release --with=scylla --disable-xen --c-compiler "$(tc-getCC)" --compiler "$(tc-getCXX)" --ldflags "${LDFLAGS}" --cflags "${CFLAGS}" --python ${EPYTHON} --with-antlr3 /usr/bin/antlr3.5 || die -} - -src_compile() { - # we use the provided 'scripts/jobs' to figure out how many parallel - # compilation jobs we can sustain - einfo "Compiling using $(scripts/jobs) jobs" - ninja -v build/release/scylla build/release/iotune -j$(scripts/jobs) || die -} - -src_install() { - # NOTE: - # I base myself on upstream's install.sh file - - default - - local MUSTACHE_DIST="\"debian\": true" - pystache dist/common/systemd/scylla-server.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-server.service - pystache dist/common/systemd/scylla-housekeeping-daily.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-housekeeping-daily.service - pystache dist/common/systemd/scylla-housekeeping-restart.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-housekeeping-restart.service - - insinto /etc/default - doins dist/common/sysconfig/scylla-server - - insinto /etc/security/limits.d - doins dist/common/limits.d/scylla.conf - - insinto /etc/scylla.d - doins dist/common/scylla.d/*.conf - - insinto /etc/sysctl.d - doins dist/common/sysctl.d/*.conf - - insinto /etc/scylla - for config_file in scylla.yaml cassandra-rackdc.properties; do - doins conf/${config_file} - done - - systemd_dounit build/*.service - systemd_dounit dist/common/systemd/*.service - systemd_dounit dist/common/systemd/*.timer - - exeinto /usr/lib/scylla - doexe dist/common/scripts/* - doexe seastar/scripts/* - doexe scylla-gdb.py - - dobin build/release/iotune - dobin build/release/scylla - - insinto /usr/lib/scylla - doins dist/common/scripts/scylla_blocktune.py - - exeinto /usr/lib/scylla - doexe dist/common/scripts/scylla-blocktune - doexe dist/common/scripts/scylla-housekeeping - - insinto /etc/scylla.d - doins conf/housekeeping.cfg - - newinitd "${FILESDIR}/scylla-server.initd" ${PN}-server - newconfd "${FILESDIR}/scylla-server.confd" ${PN}-server - - dodoc -r licenses - - for x in /var/lib/${PN} /var/lib/${PN}/{data,commitlog,hints,coredump} /var/lib/scylla-housekeeping /var/log/scylla; do - keepdir "${x}" - fowners scylla:scylla "${x}" - done - - insinto /usr/lib/scylla/swagger-ui - doins -r swagger-ui/dist - - insinto /usr/lib/scylla/api - doins -r api/api-doc - - insinto /usr/lib/scylla/scyllatop - doins -r tools/scyllatop/* - fperms +x /usr/lib/scylla/scyllatop/scyllatop.py - dosym /usr/lib/scylla/scyllatop/scyllatop.py /usr/sbin/scyllatop - - for util in $(ls dist/common/sbin/); do - dosym /usr/lib/scylla/${util} /usr/sbin/${util} - done - - insinto /etc/sudoers.d - newins "${FILESDIR}"/scylla.sudoers scylla - - insinto /etc/rsyslog.d - doins "${FILESDIR}/10-scylla.conf" -} - -pkg_postinst() { - elog "You should run 'emerge --config dev-db/scylla' to finalize your ScyllaDB installation." -} - -pkg_config() { - elog "Running 'scylla_setup'..." - scylla_setup -} diff --git a/dev-db/scylla/scylla-3.1.1-r2.ebuild b/dev-db/scylla/scylla-3.1.1-r2.ebuild deleted file mode 100644 index 6f8f43a..0000000 --- a/dev-db/scylla/scylla-3.1.1-r2.ebuild +++ /dev/null @@ -1,253 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -MY_PV="${PV/_beta/}" -EGIT_CLONE_TYPE="mirror" -EGIT_COMMIT="scylla-${PV}" -EGIT_REPO_URI="https://github.com/scylladb/scylla.git" -inherit git-r3 - -PYTHON_COMPAT=( python3_{4,5,6} ) - -inherit autotools flag-o-matic linux-info python-r1 toolchain-funcs systemd user - -DESCRIPTION="NoSQL data store using the seastar framework, compatible with Apache Cassandra" -HOMEPAGE="http://scylladb.com/" - -KEYWORDS="~amd64" -LICENSE="AGPL-3" -SLOT="0" -IUSE="doc systemd" - -# NOTE: -# if you want to debug using backtraces, enable the 'splitdebug' FEATURE: -# https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces -# -# then check out: -# https://github.com/scylladb/scylla/wiki/How-to-resolve-backtrace - -RESTRICT="test" - -RDEPEND=" - >=dev-libs/thrift-0.11.0 - <dev-util/ragel-7.0 - <sys-apps/hwloc-2.0.0 - ~app-admin/scylla-jmx-${PV} - ~app-admin/scylla-tools-${PV} - >=virtual/jdk-1.8.0:* - app-arch/lz4 - app-arch/snappy - app-arch/zstd - dev-cpp/antlr-cpp:3.5 - dev-cpp/yaml-cpp - dev-java/antlr:3.5 - dev-libs/boost[icu] - dev-libs/crypto++ - dev-libs/jsoncpp - dev-libs/libaio - >=dev-libs/libfmt-3.2.1 - dev-libs/libxml2 - dev-libs/protobuf - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pyparsing[${PYTHON_USEDEP}] - dev-python/pystache[${PYTHON_USEDEP}] - dev-python/pyudev[${PYTHON_USEDEP}] - >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/urwid[${PYTHON_USEDEP}] - dev-util/systemtap - net-libs/gnutls - net-misc/lksctp-tools - sys-apps/ethtool - sys-fs/xfsprogs - sys-libs/libunwind - sys-libs/zlib - sys-process/numactl - x11-libs/libpciaccess - systemd? ( sys-apps/systemd ) -" -DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-3.5 - dev-util/ninja -" - -# Discussion about kernel configuration: -# https://groups.google.com/forum/#!topic/scylladb-dev/qJu2zrryv-s -CONFIG_CHECK="~NUMA_BALANCING ~SYN_COOKIES ~TRANSPARENT_HUGEPAGE" -ERROR_NUMA_BALANCING="${PN} recommends support for Memory placement aware NUMA scheduler (NUMA_BALANCING)." -ERROR_SYN_COOKIES="${PN} recommends support for TCP syncookie (SYN_COOKIES)." -ERROR_TRANSPARENT_HUGEPAGE="${PN} recommends support for Transparent Hugepage (TRANSPARENT_HUGEPAGE)." - -# NOTE: maybe later depending on upstream energy, support DPDK -# For DPDK, removed HUGETLBFS PROC_PAGE_MONITOR UIO_PCI_GENERIC in favor of VFIO -# CONFIG_CHECK="~NUMA_BALANCING ~SYN_COOKIES ~TRANSPARENT_HUGEPAGE ~VFIO" -# ERROR_VFIO="${PN} running with DPDK recommends support for Non-Privileged userspace driver framework (VFIO)." - -DOCS=( LICENSE.AGPL NOTICE.txt ORIGIN README.md README-DPDK.md ) -PATCHES=( - "${FILESDIR}/fix-fmt-3.5.0-compilation.patch" - "${FILESDIR}/3.1-thrift-support.patch" - "${FILESDIR}/v1-0001-repair-Add-a-timer-for-repair-reader.patch" - "${FILESDIR}/0001-repair-Repair-tables-in-parallel.patch" -) - -pkg_setup() { - linux-info_pkg_setup - enewgroup scylla - enewuser scylla -1 -1 /var/lib/${PN} scylla -} - -src_prepare() { - default - - # set version - local git_commit=$(git log --pretty=format:'%h' -n 1) - echo "${PV}-${git_commit}" > version - - # fix jsoncpp detection - sed -e 's@json/json.h@jsoncpp/json/json.h@g' -i json.hh || die - - # QA: no -Werror (tho it does not propagate) - sed -e 's/\-Werror//g' -i configure.py || die - - # QA NOTE: respect -O3 as it is upstream recommended - # and because we would kill the RAM of the machine with lower optimization - # since some files can take up to 8GB of RAM to compile! - # sed -e 's/\-O3//g' -i configure.py || die - - # I don't agree with the old 4GB of RAM per job, it's more about 8GB now - sed -e 's/4000000000/8000000000/g' -i scripts/jobs || die - - # TODO: contribute me - # fix pyyaml vulnerability #659348 - # seastar/scripts/perftune.py - # dist/docker/redhat/scyllasetup.py - # dist/common/scripts/scylla_io_setup - # dist/common/scripts/scylla_fstrim - # dist/common/scripts/scylla_blocktune.py - # dist/common/scripts/scylla_util.py - # dist/common/scripts/scylla_config_get.py - find "${S}/dist" -type f -exec sed -e 's/yaml.load(/yaml.full_load(/g' -i {} \+ || die - sed -e 's/yaml.load(/yaml.safe_load(/g' -i seastar/scripts/perftune.py || die -} - -src_configure() { - python_setup - - # copied from dist/redhat/scylla.spec.mustache - # we want a package compiled with old kernel headers to - # support nowait aio if the user upgrades their kernel - if ! grep -qwr RWF_NOWAIT /usr/include/linux; then - append-cflags "-DRWF_NOWAIT=8" - fi - if ! grep -qwr aio_rw_flags /usr/include/linux; then - append-cflags "-Daio_rw_flags=aio_reserved1" - fi - - # native CPU CFLAGS are strongly enforced by upstreams, respect that - replace-cpu-flags "*" "native" - - append-cflags "-Wno-attributes -Wno-array-bounds" - - ${EPYTHON} configure.py --enable-gcc6-concepts --mode=release --with=scylla --disable-xen --c-compiler "$(tc-getCC)" --compiler "$(tc-getCXX)" --ldflags "${LDFLAGS}" --cflags "${CFLAGS}" --python ${EPYTHON} --with-antlr3 /usr/bin/antlr3.5 || die -} - -src_compile() { - # we use the provided 'scripts/jobs' to figure out how many parallel - # compilation jobs we can sustain - einfo "Compiling using $(scripts/jobs) jobs" - ninja -v build/release/scylla build/release/iotune -j$(scripts/jobs) || die -} - -src_install() { - # NOTE: - # I base myself on upstream's install.sh file - - default - - local MUSTACHE_DIST="\"debian\": true" - pystache dist/common/systemd/scylla-server.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-server.service - pystache dist/common/systemd/scylla-housekeeping-daily.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-housekeeping-daily.service - pystache dist/common/systemd/scylla-housekeeping-restart.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-housekeeping-restart.service - - insinto /etc/default - doins dist/common/sysconfig/scylla-server - - insinto /etc/security/limits.d - doins dist/common/limits.d/scylla.conf - - insinto /etc/scylla.d - doins dist/common/scylla.d/*.conf - - insinto /etc/sysctl.d - doins dist/common/sysctl.d/*.conf - - insinto /etc/scylla - for config_file in scylla.yaml cassandra-rackdc.properties; do - doins conf/${config_file} - done - - systemd_dounit build/*.service - systemd_dounit dist/common/systemd/*.service - systemd_dounit dist/common/systemd/*.timer - - exeinto /usr/lib/scylla - doexe dist/common/scripts/* - doexe seastar/scripts/* - doexe scylla-gdb.py - - dobin build/release/iotune - dobin build/release/scylla - - insinto /usr/lib/scylla - doins dist/common/scripts/scylla_blocktune.py - - exeinto /usr/lib/scylla - doexe dist/common/scripts/scylla-blocktune - doexe dist/common/scripts/scylla-housekeeping - - insinto /etc/scylla.d - doins conf/housekeeping.cfg - - newinitd "${FILESDIR}/scylla-server.initd" ${PN}-server - newconfd "${FILESDIR}/scylla-server.confd" ${PN}-server - - dodoc -r licenses - - for x in /var/lib/${PN} /var/lib/${PN}/{data,commitlog,hints,coredump} /var/lib/scylla-housekeeping /var/log/scylla; do - keepdir "${x}" - fowners scylla:scylla "${x}" - done - - insinto /usr/lib/scylla/swagger-ui - doins -r swagger-ui/dist - - insinto /usr/lib/scylla/api - doins -r api/api-doc - - insinto /usr/lib/scylla/scyllatop - doins -r tools/scyllatop/* - fperms +x /usr/lib/scylla/scyllatop/scyllatop.py - dosym /usr/lib/scylla/scyllatop/scyllatop.py /usr/sbin/scyllatop - - for util in $(ls dist/common/sbin/); do - dosym /usr/lib/scylla/${util} /usr/sbin/${util} - done - - insinto /etc/sudoers.d - newins "${FILESDIR}"/scylla.sudoers scylla - - insinto /etc/rsyslog.d - doins "${FILESDIR}/10-scylla.conf" -} - -pkg_postinst() { - elog "You should run 'emerge --config dev-db/scylla' to finalize your ScyllaDB installation." -} - -pkg_config() { - elog "Running 'scylla_setup'..." - scylla_setup -} diff --git a/dev-db/scylla/scylla-3.1.1.ebuild b/dev-db/scylla/scylla-3.1.1.ebuild deleted file mode 100644 index 1977657..0000000 --- a/dev-db/scylla/scylla-3.1.1.ebuild +++ /dev/null @@ -1,251 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -MY_PV="${PV/_beta/}" -EGIT_CLONE_TYPE="mirror" -EGIT_COMMIT="scylla-${PV}" -EGIT_REPO_URI="https://github.com/scylladb/scylla.git" -inherit git-r3 - -PYTHON_COMPAT=( python3_{4,5,6} ) - -inherit autotools flag-o-matic linux-info python-r1 toolchain-funcs systemd user - -DESCRIPTION="NoSQL data store using the seastar framework, compatible with Apache Cassandra" -HOMEPAGE="http://scylladb.com/" - -KEYWORDS="~amd64" -LICENSE="AGPL-3" -SLOT="0" -IUSE="doc systemd" - -# NOTE: -# if you want to debug using backtraces, enable the 'splitdebug' FEATURE: -# https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces -# -# then check out: -# https://github.com/scylladb/scylla/wiki/How-to-resolve-backtrace - -RESTRICT="test" - -RDEPEND=" - >=dev-libs/thrift-0.11.0 - <dev-util/ragel-7.0 - <sys-apps/hwloc-2.0.0 - ~app-admin/scylla-jmx-${PV} - ~app-admin/scylla-tools-${PV} - >=virtual/jdk-1.8.0:* - app-arch/lz4 - app-arch/snappy - app-arch/zstd - dev-cpp/antlr-cpp:3.5 - dev-cpp/yaml-cpp - dev-java/antlr:3.5 - dev-libs/boost[icu] - dev-libs/crypto++ - dev-libs/jsoncpp - dev-libs/libaio - >=dev-libs/libfmt-3.2.1 - dev-libs/libxml2 - dev-libs/protobuf - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pyparsing[${PYTHON_USEDEP}] - dev-python/pystache[${PYTHON_USEDEP}] - dev-python/pyudev[${PYTHON_USEDEP}] - >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/urwid[${PYTHON_USEDEP}] - dev-util/systemtap - net-libs/gnutls - net-misc/lksctp-tools - sys-apps/ethtool - sys-fs/xfsprogs - sys-libs/libunwind - sys-libs/zlib - sys-process/numactl - x11-libs/libpciaccess - systemd? ( sys-apps/systemd ) -" -DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-3.5 - dev-util/ninja -" - -# Discussion about kernel configuration: -# https://groups.google.com/forum/#!topic/scylladb-dev/qJu2zrryv-s -CONFIG_CHECK="~NUMA_BALANCING ~SYN_COOKIES ~TRANSPARENT_HUGEPAGE" -ERROR_NUMA_BALANCING="${PN} recommends support for Memory placement aware NUMA scheduler (NUMA_BALANCING)." -ERROR_SYN_COOKIES="${PN} recommends support for TCP syncookie (SYN_COOKIES)." -ERROR_TRANSPARENT_HUGEPAGE="${PN} recommends support for Transparent Hugepage (TRANSPARENT_HUGEPAGE)." - -# NOTE: maybe later depending on upstream energy, support DPDK -# For DPDK, removed HUGETLBFS PROC_PAGE_MONITOR UIO_PCI_GENERIC in favor of VFIO -# CONFIG_CHECK="~NUMA_BALANCING ~SYN_COOKIES ~TRANSPARENT_HUGEPAGE ~VFIO" -# ERROR_VFIO="${PN} running with DPDK recommends support for Non-Privileged userspace driver framework (VFIO)." - -DOCS=( LICENSE.AGPL NOTICE.txt ORIGIN README.md README-DPDK.md ) -PATCHES=( - "${FILESDIR}/fix-fmt-3.5.0-compilation.patch" - "${FILESDIR}/3.1-thrift-support.patch" -) - -pkg_setup() { - linux-info_pkg_setup - enewgroup scylla - enewuser scylla -1 -1 /var/lib/${PN} scylla -} - -src_prepare() { - default - - # set version - local git_commit=$(git log --pretty=format:'%h' -n 1) - echo "${PV}-${git_commit}" > version - - # fix jsoncpp detection - sed -e 's@json/json.h@jsoncpp/json/json.h@g' -i json.hh || die - - # QA: no -Werror (tho it does not propagate) - sed -e 's/\-Werror//g' -i configure.py || die - - # QA NOTE: respect -O3 as it is upstream recommended - # and because we would kill the RAM of the machine with lower optimization - # since some files can take up to 8GB of RAM to compile! - # sed -e 's/\-O3//g' -i configure.py || die - - # I don't agree with the old 4GB of RAM per job, it's more about 8GB now - sed -e 's/4000000000/8000000000/g' -i scripts/jobs || die - - # TODO: contribute me - # fix pyyaml vulnerability #659348 - # seastar/scripts/perftune.py - # dist/docker/redhat/scyllasetup.py - # dist/common/scripts/scylla_io_setup - # dist/common/scripts/scylla_fstrim - # dist/common/scripts/scylla_blocktune.py - # dist/common/scripts/scylla_util.py - # dist/common/scripts/scylla_config_get.py - find "${S}/dist" -type f -exec sed -e 's/yaml.load(/yaml.full_load(/g' -i {} \+ || die - sed -e 's/yaml.load(/yaml.safe_load(/g' -i seastar/scripts/perftune.py || die -} - -src_configure() { - python_setup - - # copied from dist/redhat/scylla.spec.mustache - # we want a package compiled with old kernel headers to - # support nowait aio if the user upgrades their kernel - if ! grep -qwr RWF_NOWAIT /usr/include/linux; then - append-cflags "-DRWF_NOWAIT=8" - fi - if ! grep -qwr aio_rw_flags /usr/include/linux; then - append-cflags "-Daio_rw_flags=aio_reserved1" - fi - - # native CPU CFLAGS are strongly enforced by upstreams, respect that - replace-cpu-flags "*" "native" - - append-cflags "-Wno-attributes -Wno-array-bounds" - - ${EPYTHON} configure.py --enable-gcc6-concepts --mode=release --with=scylla --disable-xen --c-compiler "$(tc-getCC)" --compiler "$(tc-getCXX)" --ldflags "${LDFLAGS}" --cflags "${CFLAGS}" --python ${EPYTHON} --with-antlr3 /usr/bin/antlr3.5 || die -} - -src_compile() { - # we use the provided 'scripts/jobs' to figure out how many parallel - # compilation jobs we can sustain - einfo "Compiling using $(scripts/jobs) jobs" - ninja -v build/release/scylla build/release/iotune -j$(scripts/jobs) || die -} - -src_install() { - # NOTE: - # I base myself on upstream's install.sh file - - default - - local MUSTACHE_DIST="\"debian\": true" - pystache dist/common/systemd/scylla-server.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-server.service - pystache dist/common/systemd/scylla-housekeeping-daily.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-housekeeping-daily.service - pystache dist/common/systemd/scylla-housekeeping-restart.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-housekeeping-restart.service - - insinto /etc/default - doins dist/common/sysconfig/scylla-server - - insinto /etc/security/limits.d - doins dist/common/limits.d/scylla.conf - - insinto /etc/scylla.d - doins dist/common/scylla.d/*.conf - - insinto /etc/sysctl.d - doins dist/common/sysctl.d/*.conf - - insinto /etc/scylla - for config_file in scylla.yaml cassandra-rackdc.properties; do - doins conf/${config_file} - done - - systemd_dounit build/*.service - systemd_dounit dist/common/systemd/*.service - systemd_dounit dist/common/systemd/*.timer - - exeinto /usr/lib/scylla - doexe dist/common/scripts/* - doexe seastar/scripts/* - doexe scylla-gdb.py - - dobin build/release/iotune - dobin build/release/scylla - - insinto /usr/lib/scylla - doins dist/common/scripts/scylla_blocktune.py - - exeinto /usr/lib/scylla - doexe dist/common/scripts/scylla-blocktune - doexe dist/common/scripts/scylla-housekeeping - - insinto /etc/scylla.d - doins conf/housekeeping.cfg - - newinitd "${FILESDIR}/scylla-server.initd" ${PN}-server - newconfd "${FILESDIR}/scylla-server.confd" ${PN}-server - - dodoc -r licenses - - for x in /var/lib/${PN} /var/lib/${PN}/{data,commitlog,hints,coredump} /var/lib/scylla-housekeeping /var/log/scylla; do - keepdir "${x}" - fowners scylla:scylla "${x}" - done - - insinto /usr/lib/scylla/swagger-ui - doins -r swagger-ui/dist - - insinto /usr/lib/scylla/api - doins -r api/api-doc - - insinto /usr/lib/scylla/scyllatop - doins -r tools/scyllatop/* - fperms +x /usr/lib/scylla/scyllatop/scyllatop.py - dosym /usr/lib/scylla/scyllatop/scyllatop.py /usr/sbin/scyllatop - - for util in $(ls dist/common/sbin/); do - dosym /usr/lib/scylla/${util} /usr/sbin/${util} - done - - insinto /etc/sudoers.d - newins "${FILESDIR}"/scylla.sudoers scylla - - insinto /etc/rsyslog.d - doins "${FILESDIR}/10-scylla.conf" -} - -pkg_postinst() { - elog "You should run 'emerge --config dev-db/scylla' to finalize your ScyllaDB installation." -} - -pkg_config() { - elog "Running 'scylla_setup'..." - scylla_setup -} diff --git a/dev-db/scylla/scylla-3.1.2-r1.ebuild b/dev-db/scylla/scylla-3.1.2-r1.ebuild deleted file mode 100644 index f0fc18e..0000000 --- a/dev-db/scylla/scylla-3.1.2-r1.ebuild +++ /dev/null @@ -1,254 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -MY_PV="${PV/_beta/}" -EGIT_CLONE_TYPE="mirror" -EGIT_COMMIT="scylla-${PV}" -EGIT_REPO_URI="https://github.com/scylladb/scylla.git" -inherit git-r3 - -PYTHON_COMPAT=( python3_{4,5,6} ) - -inherit autotools flag-o-matic linux-info python-r1 toolchain-funcs systemd user - -DESCRIPTION="NoSQL data store using the seastar framework, compatible with Apache Cassandra" -HOMEPAGE="http://scylladb.com/" - -KEYWORDS="~amd64" -LICENSE="AGPL-3" -SLOT="0" -IUSE="doc systemd" - -# NOTE: -# if you want to debug using backtraces, enable the 'splitdebug' FEATURE: -# https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces -# -# then check out: -# https://github.com/scylladb/scylla/wiki/How-to-resolve-backtrace - -RESTRICT="test" - -RDEPEND=" - >=dev-libs/thrift-0.11.0 - <dev-util/ragel-7.0 - <sys-apps/hwloc-2.0.0 - ~app-admin/scylla-jmx-${PV} - ~app-admin/scylla-tools-${PV} - >=virtual/jdk-1.8.0:* - app-arch/lz4 - app-arch/snappy - app-arch/zstd - dev-cpp/antlr-cpp:3.5 - dev-cpp/yaml-cpp - dev-java/antlr:3.5 - dev-libs/boost[icu] - dev-libs/crypto++ - dev-libs/jsoncpp - dev-libs/libaio - >=dev-libs/libfmt-3.2.1 - dev-libs/libxml2 - dev-libs/protobuf - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pyparsing[${PYTHON_USEDEP}] - dev-python/pystache[${PYTHON_USEDEP}] - dev-python/pyudev[${PYTHON_USEDEP}] - >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/urwid[${PYTHON_USEDEP}] - dev-util/systemtap - net-libs/gnutls - net-misc/lksctp-tools - sys-apps/ethtool - sys-fs/xfsprogs - sys-libs/libunwind - sys-libs/zlib - sys-process/numactl - x11-libs/libpciaccess - systemd? ( sys-apps/systemd ) -" -DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-3.5 - dev-util/ninja -" - -# Discussion about kernel configuration: -# https://groups.google.com/forum/#!topic/scylladb-dev/qJu2zrryv-s -CONFIG_CHECK="~NUMA_BALANCING ~SYN_COOKIES ~TRANSPARENT_HUGEPAGE" -ERROR_NUMA_BALANCING="${PN} recommends support for Memory placement aware NUMA scheduler (NUMA_BALANCING)." -ERROR_SYN_COOKIES="${PN} recommends support for TCP syncookie (SYN_COOKIES)." -ERROR_TRANSPARENT_HUGEPAGE="${PN} recommends support for Transparent Hugepage (TRANSPARENT_HUGEPAGE)." - -# NOTE: maybe later depending on upstream energy, support DPDK -# For DPDK, removed HUGETLBFS PROC_PAGE_MONITOR UIO_PCI_GENERIC in favor of VFIO -# CONFIG_CHECK="~NUMA_BALANCING ~SYN_COOKIES ~TRANSPARENT_HUGEPAGE ~VFIO" -# ERROR_VFIO="${PN} running with DPDK recommends support for Non-Privileged userspace driver framework (VFIO)." - -DOCS=( LICENSE.AGPL NOTICE.txt ORIGIN README.md README-DPDK.md ) -PATCHES=( - "${FILESDIR}/fix-fmt-3.5.0-compilation.patch" - "${FILESDIR}/3.1-thrift-support.patch" - "${FILESDIR}/v1-0001-repair-Add-a-timer-for-repair-reader.patch" - "${FILESDIR}/0001-repair-Repair-tables-in-parallel.patch" - "${FILESDIR}/3.1.2-fix-read-amplification.patch" -) - -pkg_setup() { - linux-info_pkg_setup - enewgroup scylla - enewuser scylla -1 -1 /var/lib/${PN} scylla -} - -src_prepare() { - default - - # set version - local git_commit=$(git log --pretty=format:'%h' -n 1) - echo "${PV}-${git_commit}" > version - - # fix jsoncpp detection - sed -e 's@json/json.h@jsoncpp/json/json.h@g' -i json.hh || die - - # QA: no -Werror (tho it does not propagate) - sed -e 's/\-Werror//g' -i configure.py || die - - # QA NOTE: respect -O3 as it is upstream recommended - # and because we would kill the RAM of the machine with lower optimization - # since some files can take up to 8GB of RAM to compile! - # sed -e 's/\-O3//g' -i configure.py || die - - # I don't agree with the old 4GB of RAM per job, it's more about 8GB now - sed -e 's/4000000000/8000000000/g' -i scripts/jobs || die - - # TODO: contribute me - # fix pyyaml vulnerability #659348 - # seastar/scripts/perftune.py - # dist/docker/redhat/scyllasetup.py - # dist/common/scripts/scylla_io_setup - # dist/common/scripts/scylla_fstrim - # dist/common/scripts/scylla_blocktune.py - # dist/common/scripts/scylla_util.py - # dist/common/scripts/scylla_config_get.py - find "${S}/dist" -type f -exec sed -e 's/yaml.load(/yaml.full_load(/g' -i {} \+ || die - sed -e 's/yaml.load(/yaml.safe_load(/g' -i seastar/scripts/perftune.py || die -} - -src_configure() { - python_setup - - # copied from dist/redhat/scylla.spec.mustache - # we want a package compiled with old kernel headers to - # support nowait aio if the user upgrades their kernel - if ! grep -qwr RWF_NOWAIT /usr/include/linux; then - append-cflags "-DRWF_NOWAIT=8" - fi - if ! grep -qwr aio_rw_flags /usr/include/linux; then - append-cflags "-Daio_rw_flags=aio_reserved1" - fi - - # native CPU CFLAGS are strongly enforced by upstreams, respect that - replace-cpu-flags "*" "native" - - append-cflags "-Wno-attributes -Wno-array-bounds" - - ${EPYTHON} configure.py --enable-gcc6-concepts --mode=release --with=scylla --disable-xen --c-compiler "$(tc-getCC)" --compiler "$(tc-getCXX)" --ldflags "${LDFLAGS}" --cflags "${CFLAGS}" --python ${EPYTHON} --with-antlr3 /usr/bin/antlr3.5 || die -} - -src_compile() { - # we use the provided 'scripts/jobs' to figure out how many parallel - # compilation jobs we can sustain - einfo "Compiling using $(scripts/jobs) jobs" - ninja -v build/release/scylla build/release/iotune -j$(scripts/jobs) || die -} - -src_install() { - # NOTE: - # I base myself on upstream's install.sh file - - default - - local MUSTACHE_DIST="\"debian\": true" - pystache dist/common/systemd/scylla-server.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-server.service - pystache dist/common/systemd/scylla-housekeeping-daily.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-housekeeping-daily.service - pystache dist/common/systemd/scylla-housekeeping-restart.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-housekeeping-restart.service - - insinto /etc/default - doins dist/common/sysconfig/scylla-server - - insinto /etc/security/limits.d - doins dist/common/limits.d/scylla.conf - - insinto /etc/scylla.d - doins dist/common/scylla.d/*.conf - - insinto /etc/sysctl.d - doins dist/common/sysctl.d/*.conf - - insinto /etc/scylla - for config_file in scylla.yaml cassandra-rackdc.properties; do - doins conf/${config_file} - done - - systemd_dounit build/*.service - systemd_dounit dist/common/systemd/*.service - systemd_dounit dist/common/systemd/*.timer - - exeinto /usr/lib/scylla - doexe dist/common/scripts/* - doexe seastar/scripts/* - doexe scylla-gdb.py - - dobin build/release/iotune - dobin build/release/scylla - - insinto /usr/lib/scylla - doins dist/common/scripts/scylla_blocktune.py - - exeinto /usr/lib/scylla - doexe dist/common/scripts/scylla-blocktune - doexe dist/common/scripts/scylla-housekeeping - - insinto /etc/scylla.d - doins conf/housekeeping.cfg - - newinitd "${FILESDIR}/scylla-server.initd" ${PN}-server - newconfd "${FILESDIR}/scylla-server.confd" ${PN}-server - - dodoc -r licenses - - for x in /var/lib/${PN} /var/lib/${PN}/{data,commitlog,hints,coredump} /var/lib/scylla-housekeeping /var/log/scylla; do - keepdir "${x}" - fowners scylla:scylla "${x}" - done - - insinto /usr/lib/scylla/swagger-ui - doins -r swagger-ui/dist - - insinto /usr/lib/scylla/api - doins -r api/api-doc - - insinto /usr/lib/scylla/scyllatop - doins -r tools/scyllatop/* - fperms +x /usr/lib/scylla/scyllatop/scyllatop.py - dosym /usr/lib/scylla/scyllatop/scyllatop.py /usr/sbin/scyllatop - - for util in $(ls dist/common/sbin/); do - dosym /usr/lib/scylla/${util} /usr/sbin/${util} - done - - insinto /etc/sudoers.d - newins "${FILESDIR}"/scylla.sudoers scylla - - insinto /etc/rsyslog.d - doins "${FILESDIR}/10-scylla.conf" -} - -pkg_postinst() { - elog "You should run 'emerge --config dev-db/scylla' to finalize your ScyllaDB installation." -} - -pkg_config() { - elog "Running 'scylla_setup'..." - scylla_setup -} diff --git a/dev-db/scylla/scylla-3.1.2.ebuild b/dev-db/scylla/scylla-3.1.2.ebuild deleted file mode 100644 index b119924..0000000 --- a/dev-db/scylla/scylla-3.1.2.ebuild +++ /dev/null @@ -1,239 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -MY_PV="${PV/_beta/}" -EGIT_CLONE_TYPE="mirror" -EGIT_COMMIT="scylla-${PV}" -EGIT_REPO_URI="https://github.com/scylladb/scylla.git" -inherit git-r3 - -PYTHON_COMPAT=( python3_{4,5,6} ) - -inherit autotools flag-o-matic linux-info python-r1 toolchain-funcs systemd user - -DESCRIPTION="NoSQL data store using the seastar framework, compatible with Apache Cassandra" -HOMEPAGE="http://scylladb.com/" - -KEYWORDS="~amd64" -LICENSE="AGPL-3" -SLOT="0" -IUSE="doc systemd" - -# NOTE: -# if you want to debug using backtraces, enable the 'splitdebug' FEATURE: -# https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces -# -# then check out: -# https://github.com/scylladb/scylla/wiki/How-to-resolve-backtrace - -RESTRICT="test" - -RDEPEND=" - >=dev-libs/thrift-0.11.0 - <dev-util/ragel-7.0 - <sys-apps/hwloc-2.0.0 - ~app-admin/scylla-jmx-${PV} - ~app-admin/scylla-tools-${PV} - >=virtual/jdk-1.8.0:* - app-arch/lz4 - app-arch/snappy - app-arch/zstd - dev-cpp/antlr-cpp:3.5 - dev-cpp/yaml-cpp - dev-java/antlr:3.5 - dev-libs/boost[icu] - dev-libs/crypto++ - dev-libs/jsoncpp - dev-libs/libaio - >=dev-libs/libfmt-3.2.1 - dev-libs/libxml2 - dev-libs/protobuf - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pyparsing[${PYTHON_USEDEP}] - dev-python/pystache[${PYTHON_USEDEP}] - dev-python/pyudev[${PYTHON_USEDEP}] - >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/urwid[${PYTHON_USEDEP}] - dev-util/systemtap - net-libs/gnutls - net-misc/lksctp-tools - sys-apps/ethtool - sys-fs/xfsprogs - sys-libs/libunwind - sys-libs/zlib - sys-process/numactl - x11-libs/libpciaccess - systemd? ( sys-apps/systemd ) -" -DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-3.5 - dev-util/ninja -" - -# Discussion about kernel configuration: -# https://groups.google.com/forum/#!topic/scylladb-dev/qJu2zrryv-s -CONFIG_CHECK="~NUMA_BALANCING ~SYN_COOKIES ~TRANSPARENT_HUGEPAGE" -ERROR_NUMA_BALANCING="${PN} recommends support for Memory placement aware NUMA scheduler (NUMA_BALANCING)." -ERROR_SYN_COOKIES="${PN} recommends support for TCP syncookie (SYN_COOKIES)." -ERROR_TRANSPARENT_HUGEPAGE="${PN} recommends support for Transparent Hugepage (TRANSPARENT_HUGEPAGE)." - -# NOTE: maybe later depending on upstream energy, support DPDK -# For DPDK, removed HUGETLBFS PROC_PAGE_MONITOR UIO_PCI_GENERIC in favor of VFIO -# CONFIG_CHECK="~NUMA_BALANCING ~SYN_COOKIES ~TRANSPARENT_HUGEPAGE ~VFIO" -# ERROR_VFIO="${PN} running with DPDK recommends support for Non-Privileged userspace driver framework (VFIO)." - -DOCS=( LICENSE.AGPL NOTICE.txt ORIGIN README.md README-DPDK.md ) -PATCHES=( - "${FILESDIR}/fix-fmt-3.5.0-compilation.patch" - "${FILESDIR}/3.1-thrift-support.patch" -) - -pkg_setup() { - linux-info_pkg_setup - enewgroup scylla - enewuser scylla -1 -1 /var/lib/${PN} scylla -} - -src_prepare() { - default - - # set version - local git_commit=$(git log --pretty=format:'%h' -n 1) - echo "${PV}-${git_commit}" > version - - # fix jsoncpp detection - sed -e 's@json/json.h@jsoncpp/json/json.h@g' -i json.hh || die - - # QA: no -Werror (tho it does not propagate) - sed -e 's/\-Werror//g' -i configure.py || die - - # QA NOTE: respect -O3 as it is upstream recommended - # and because we would kill the RAM of the machine with lower optimization - # since some files can take up to 8GB of RAM to compile! - # sed -e 's/\-O3//g' -i configure.py || die - - # I don't agree with the old 4GB of RAM per job, it's more about 8GB now - sed -e 's/4000000000/8000000000/g' -i scripts/jobs || die - - # TODO: contribute me - # fix pyyaml vulnerability #659348 - # seastar/scripts/perftune.py - # dist/docker/redhat/scyllasetup.py - # dist/common/scripts/scylla_io_setup - # dist/common/scripts/scylla_fstrim - # dist/common/scripts/scylla_blocktune.py - # dist/common/scripts/scylla_util.py - # dist/common/scripts/scylla_config_get.py - find "${S}/dist" -type f -exec sed -e 's/yaml.load(/yaml.full_load(/g' -i {} \+ || die - sed -e 's/yaml.load(/yaml.safe_load(/g' -i seastar/scripts/perftune.py || die -} - -src_configure() { - python_setup - - # needed for blocked reactors logging as it disables -fomit-frame-pointers - append-cflags -g - - ${EPYTHON} configure.py --enable-gcc6-concepts --mode=release --with=scylla --disable-xen --c-compiler "$(tc-getCC)" --compiler "$(tc-getCXX)" --ldflags "${LDFLAGS}" --cflags "${CFLAGS}" --python ${EPYTHON} --with-antlr3 /usr/bin/antlr3.5 || die -} - -src_compile() { - # we use the provided 'scripts/jobs' to figure out how many parallel - # compilation jobs we can sustain - einfo "Compiling using $(scripts/jobs) jobs" - ninja -v build/release/scylla build/release/iotune -j$(scripts/jobs) || die -} - -src_install() { - # NOTE: - # I base myself on upstream's install.sh file - - default - - local MUSTACHE_DIST="\"debian\": true" - pystache dist/common/systemd/scylla-server.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-server.service - pystache dist/common/systemd/scylla-housekeeping-daily.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-housekeeping-daily.service - pystache dist/common/systemd/scylla-housekeeping-restart.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-housekeeping-restart.service - - insinto /etc/default - doins dist/common/sysconfig/scylla-server - - insinto /etc/security/limits.d - doins dist/common/limits.d/scylla.conf - - insinto /etc/scylla.d - doins dist/common/scylla.d/*.conf - - insinto /etc/sysctl.d - doins dist/common/sysctl.d/*.conf - - insinto /etc/scylla - for config_file in scylla.yaml cassandra-rackdc.properties; do - doins conf/${config_file} - done - - systemd_dounit build/*.service - systemd_dounit dist/common/systemd/*.service - systemd_dounit dist/common/systemd/*.timer - - exeinto /usr/lib/scylla - doexe dist/common/scripts/* - doexe seastar/scripts/* - doexe scylla-gdb.py - - dobin build/release/iotune - dobin build/release/scylla - - insinto /usr/lib/scylla - doins dist/common/scripts/scylla_blocktune.py - - exeinto /usr/lib/scylla - doexe dist/common/scripts/scylla-blocktune - doexe dist/common/scripts/scylla-housekeeping - - insinto /etc/scylla.d - doins conf/housekeeping.cfg - - newinitd "${FILESDIR}/scylla-server.initd" ${PN}-server - newconfd "${FILESDIR}/scylla-server.confd" ${PN}-server - - dodoc -r licenses - - for x in /var/lib/${PN} /var/lib/${PN}/{data,commitlog,hints,coredump} /var/lib/scylla-housekeeping /var/log/scylla; do - keepdir "${x}" - fowners scylla:scylla "${x}" - done - - insinto /usr/lib/scylla/swagger-ui - doins -r swagger-ui/dist - - insinto /usr/lib/scylla/api - doins -r api/api-doc - - insinto /usr/lib/scylla/scyllatop - doins -r tools/scyllatop/* - fperms +x /usr/lib/scylla/scyllatop/scyllatop.py - dosym /usr/lib/scylla/scyllatop/scyllatop.py /usr/sbin/scyllatop - - for util in $(ls dist/common/sbin/); do - dosym /usr/lib/scylla/${util} /usr/sbin/${util} - done - - insinto /etc/sudoers.d - newins "${FILESDIR}"/scylla.sudoers scylla - - insinto /etc/rsyslog.d - doins "${FILESDIR}/10-scylla.conf" -} - -pkg_postinst() { - elog "You should run 'emerge --config dev-db/scylla' to finalize your ScyllaDB installation." -} - -pkg_config() { - elog "Running 'scylla_setup'..." - scylla_setup -} diff --git a/dev-db/scylla/scylla-3.2.1.ebuild b/dev-db/scylla/scylla-3.2.1.ebuild deleted file mode 100644 index 32524e1..0000000 --- a/dev-db/scylla/scylla-3.2.1.ebuild +++ /dev/null @@ -1,240 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -MY_PV="${PV/_/.}" -EGIT_CLONE_TYPE="mirror" -EGIT_COMMIT="scylla-${MY_PV}" -EGIT_REPO_URI="https://github.com/scylladb/scylla.git" -inherit git-r3 - -PYTHON_COMPAT=( python3_{5,6} ) - -inherit autotools flag-o-matic linux-info python-r1 toolchain-funcs systemd user - -DESCRIPTION="NoSQL data store using the seastar framework, compatible with Apache Cassandra" -HOMEPAGE="http://scylladb.com/" - -KEYWORDS="~amd64" -LICENSE="AGPL-3" -SLOT="0" -IUSE="doc systemd" - -# NOTE: -# if you want to debug using backtraces, enable the 'splitdebug' FEATURE: -# https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces -# -# then check out: -# https://github.com/scylladb/scylla/wiki/How-to-resolve-backtrace - -RESTRICT="test" - -RDEPEND=" - <dev-util/ragel-7.0 - <sys-apps/hwloc-2.0.0 - >=dev-libs/libfmt-3.2.1 - >=dev-libs/thrift-0.11.0 - >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}] - >=virtual/jdk-1.8.0:* - app-arch/lz4 - app-arch/snappy - app-arch/zstd - dev-cpp/antlr-cpp:3.5 - dev-cpp/yaml-cpp - dev-java/antlr:3.5 - dev-libs/boost[icu] - dev-libs/crypto++ - dev-libs/jsoncpp - dev-libs/libaio - dev-libs/libxml2 - dev-libs/protobuf - dev-libs/rapidjson - dev-python/psutil[${PYTHON_USEDEP}] - dev-python/pyparsing[${PYTHON_USEDEP}] - dev-python/pystache[${PYTHON_USEDEP}] - dev-python/pyudev[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/urwid[${PYTHON_USEDEP}] - dev-util/systemtap - net-libs/gnutls - net-misc/lksctp-tools - sys-apps/ethtool - sys-fs/xfsprogs - sys-libs/libunwind - sys-libs/zlib - sys-process/numactl - systemd? ( sys-apps/systemd ) - x11-libs/libpciaccess - ~app-admin/scylla-jmx-${PV} - ~app-admin/scylla-tools-${PV} -" -DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-3.5 - dev-util/ninja -" - -# Discussion about kernel configuration: -# https://groups.google.com/forum/#!topic/scylladb-dev/qJu2zrryv-s -CONFIG_CHECK="~NUMA_BALANCING ~SYN_COOKIES ~TRANSPARENT_HUGEPAGE" -ERROR_NUMA_BALANCING="${PN} recommends support for Memory placement aware NUMA scheduler (NUMA_BALANCING)." -ERROR_SYN_COOKIES="${PN} recommends support for TCP syncookie (SYN_COOKIES)." -ERROR_TRANSPARENT_HUGEPAGE="${PN} recommends support for Transparent Hugepage (TRANSPARENT_HUGEPAGE)." - -# NOTE: maybe later depending on upstream energy, support DPDK -# For DPDK, removed HUGETLBFS PROC_PAGE_MONITOR UIO_PCI_GENERIC in favor of VFIO -# CONFIG_CHECK="~NUMA_BALANCING ~SYN_COOKIES ~TRANSPARENT_HUGEPAGE ~VFIO" -# ERROR_VFIO="${PN} running with DPDK recommends support for Non-Privileged userspace driver framework (VFIO)." - -DOCS=( LICENSE.AGPL NOTICE.txt ORIGIN README.md ) -PATCHES=( ) - -pkg_setup() { - linux-info_pkg_setup - enewgroup scylla - enewuser scylla -1 -1 /var/lib/${PN} scylla -} - -src_prepare() { - default - - # set version - local git_commit=$(git log --pretty=format:'%h' -n 1) - echo "${PV}-${git_commit}" > version - - # fix jsoncpp detection - sed -e 's@json/json.h@jsoncpp/json/json.h@g' -i json.hh || die - - # QA: no -Werror (tho it does not propagate) - sed -e 's/\-Werror//g' -i configure.py || die - - # QA NOTE: respect -O3 as it is upstream recommended - # and because we would kill the RAM of the machine with lower optimization - # since some files can take up to 8GB of RAM to compile! - # sed -e 's/\-O3//g' -i configure.py || die - - # I don't agree with the old 4GB of RAM per job, it's more about 8GB now - sed -e 's/4000000000/8000000000/g' -i scripts/jobs || die - - # TODO: contribute me - # fix pyyaml vulnerability #659348 - # seastar/scripts/perftune.py - # dist/docker/redhat/scyllasetup.py - # dist/common/scripts/scylla_io_setup - # dist/common/scripts/scylla_fstrim - # dist/common/scripts/scylla_blocktune.py - # dist/common/scripts/scylla_util.py - # dist/common/scripts/scylla_config_get.py - # find "${S}/dist" -type f -exec sed -e 's/yaml.load(/yaml.full_load(/g' -i {} \+ || die - sed -e 's/yaml.load(/yaml.safe_load(/g' -i seastar/scripts/perftune.py || die - - # fix /opt/scylladb/scripts - sed -e 's@/opt/scylladb/scripts@/usr/lib/scylla@g' -i dist/common/scripts/* || die -} - -src_configure() { - python_setup - - # needed for blocked reactors logging as it disables -fomit-frame-pointers - append-cflags -g - - ${EPYTHON} configure.py --enable-gcc6-concepts --mode=release --with=scylla --disable-xen --c-compiler "$(tc-getCC)" --compiler "$(tc-getCXX)" --ldflags "${LDFLAGS}" --cflags "${CFLAGS}" --python ${EPYTHON} --with-antlr3 /usr/bin/antlr3.5 || die -} - -src_compile() { - # we use the provided 'scripts/jobs' to figure out how many parallel - # compilation jobs we can sustain - einfo "Compiling using $(scripts/jobs) jobs" - ninja -v build/release/scylla build/release/iotune -j$(scripts/jobs) || die -} - -src_install() { - # NOTE: - # I base myself on upstream's install.sh file - - default - - local MUSTACHE_DIST="\"debian\": true" - pystache dist/common/systemd/scylla-server.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-server.service - pystache dist/common/systemd/scylla-housekeeping-daily.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-housekeeping-daily.service - pystache dist/common/systemd/scylla-housekeeping-restart.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-housekeeping-restart.service - - insinto /etc/default - doins dist/common/sysconfig/scylla-server - - insinto /etc/security/limits.d - doins dist/common/limits.d/scylla.conf - - insinto /etc/scylla.d - doins dist/common/scylla.d/*.conf - - insinto /etc/sysctl.d - doins dist/common/sysctl.d/*.conf - - insinto /etc/scylla - for config_file in scylla.yaml cassandra-rackdc.properties; do - doins conf/${config_file} - done - - systemd_dounit build/*.service - systemd_dounit dist/common/systemd/*.service - systemd_dounit dist/common/systemd/*.timer - - exeinto /usr/lib/scylla - doexe dist/common/scripts/* - doexe seastar/scripts/* - doexe scylla-gdb.py - - dobin build/release/iotune - dobin build/release/scylla - - insinto /usr/lib/scylla - doins dist/common/scripts/scylla_blocktune.py - - exeinto /usr/lib/scylla - doexe dist/common/scripts/scylla-blocktune - doexe dist/common/scripts/scylla-housekeeping - - insinto /etc/scylla.d - doins conf/housekeeping.cfg - - newinitd "${FILESDIR}/scylla-server.initd" ${PN}-server - newconfd "${FILESDIR}/scylla-server.confd" ${PN}-server - - dodoc -r licenses - - for x in /var/lib/${PN} /var/lib/${PN}/{data,commitlog,hints,coredump} /var/lib/scylla-housekeeping /var/log/scylla; do - keepdir "${x}" - fowners scylla:scylla "${x}" - done - - insinto /usr/lib/scylla/swagger-ui - doins -r swagger-ui/dist - - insinto /usr/lib/scylla/api - doins -r api/api-doc - - insinto /usr/lib/scylla/scyllatop - doins -r tools/scyllatop/* - fperms +x /usr/lib/scylla/scyllatop/scyllatop.py - dosym /usr/lib/scylla/scyllatop/scyllatop.py /usr/sbin/scyllatop - - for util in $(ls dist/common/sbin/); do - dosym /usr/lib/scylla/${util} /usr/sbin/${util} - done - - insinto /etc/sudoers.d - newins "${FILESDIR}"/scylla.sudoers scylla - - insinto /etc/rsyslog.d - doins "${FILESDIR}/10-scylla.conf" -} - -pkg_postinst() { - elog "You should run 'emerge --config dev-db/scylla' to finalize your ScyllaDB installation." -} - -pkg_config() { - elog "Running 'scylla_setup'..." - scylla_setup -} diff --git a/dev-db/scylla/scylla-9999.ebuild b/dev-db/scylla/scylla-9999.ebuild deleted file mode 100644 index 16aba71..0000000 --- a/dev-db/scylla/scylla-9999.ebuild +++ /dev/null @@ -1,221 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -EGIT_CLONE_TYPE="mirror" -EGIT_COMMIT="master" -EGIT_REPO_URI="https://github.com/scylladb/scylla.git" -inherit git-r3 - -PYTHON_COMPAT=( python3_{4,5,6} ) - -inherit autotools flag-o-matic linux-info python-r1 toolchain-funcs systemd user - -DESCRIPTION="NoSQL data store using the seastar framework, compatible with Apache Cassandra" -HOMEPAGE="http://scylladb.com/" - -LICENSE="AGPL-3" -SLOT="0" -IUSE="doc systemd" - -# NOTE: -# if you want to debug using backtraces, enable the 'splitdebug' FEATURE: -# https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces -# -# then check out: -# https://github.com/scylladb/scylla/wiki/How-to-resolve-backtrace - -RESTRICT="test" - -RDEPEND=" - >=dev-libs/thrift-0.11.0 - <dev-util/ragel-7.0 - <sys-apps/hwloc-2.0.0 - ~app-admin/scylla-jmx-${PV} - ~app-admin/scylla-tools-${PV} - >=virtual/jdk-1.8.0:* - app-arch/lz4 - app-arch/snappy - app-arch/zstd - dev-cpp/antlr-cpp:3.5 - dev-cpp/yaml-cpp - dev-java/antlr:3.5 - dev-libs/boost[icu] - dev-libs/crypto++ - dev-libs/jsoncpp - dev-libs/libaio - >=dev-libs/libfmt-3.5.0 - dev-libs/libxml2 - dev-libs/protobuf - dev-python/pyparsing[${PYTHON_USEDEP}] - dev-python/pystache[${PYTHON_USEDEP}] - dev-python/pyudev[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}] - dev-python/requests[${PYTHON_USEDEP}] - dev-python/urwid[${PYTHON_USEDEP}] - dev-util/systemtap - net-libs/gnutls - net-misc/lksctp-tools - sys-apps/ethtool - sys-fs/xfsprogs - sys-libs/libunwind - sys-libs/zlib - sys-process/numactl - x11-libs/libpciaccess - systemd? ( sys-apps/systemd ) -" -DEPEND="${RDEPEND} - >=sys-kernel/linux-headers-3.5 - dev-util/ninja -" - -# Discussion about kernel configuration: -# https://groups.google.com/forum/#!topic/scylladb-dev/qJu2zrryv-s -CONFIG_CHECK="~NUMA_BALANCING ~SYN_COOKIES ~TRANSPARENT_HUGEPAGE" -ERROR_NUMA_BALANCING="${PN} recommends support for Memory placement aware NUMA scheduler (NUMA_BALANCING)." -ERROR_SYN_COOKIES="${PN} recommends support for TCP syncookie (SYN_COOKIES)." -ERROR_TRANSPARENT_HUGEPAGE="${PN} recommends support for Transparent Hugepage (TRANSPARENT_HUGEPAGE)." - -# NOTE: maybe later depending on upstream energy, support DPDK -# For DPDK, removed HUGETLBFS PROC_PAGE_MONITOR UIO_PCI_GENERIC in favor of VFIO -# CONFIG_CHECK="~NUMA_BALANCING ~SYN_COOKIES ~TRANSPARENT_HUGEPAGE ~VFIO" -# ERROR_VFIO="${PN} running with DPDK recommends support for Non-Privileged userspace driver framework (VFIO)." - -DOCS=( LICENSE.AGPL NOTICE.txt ORIGIN README.md README-DPDK.md ) -PATCHES=() - -pkg_setup() { - linux-info_pkg_setup - enewgroup scylla - enewuser scylla -1 -1 /var/lib/${PN} scylla -} - -src_prepare() { - default - - # set version - local git_commit=$(git log --pretty=format:'%h' -n 1) - echo "${PV}-${git_commit}" > version - - # fix jsoncpp detection - sed -e 's@json/json.h@jsoncpp/json/json.h@g' -i json.hh || die - - # QA: no -Werror (tho it does not propagate) - sed -e 's/\-Werror//g' -i configure.py || die - - # QA NOTE: respect -O3 as it is upstream recommended - # and because we would kill the RAM of the machine with lower optimization - # since some files can take up to 8GB of RAM to compile! - # sed -e 's/\-O3//g' -i configure.py || die - - # I don't agree with the old 4GB of RAM per job, it's more about 8GB now - sed -e 's/4000000000/8000000000/g' -i scripts/jobs || die -} - -src_configure() { - python_setup - - # needed for blocked reactors logging as it disables -fomit-frame-pointers - append-cflags -g - - ${EPYTHON} configure.py --enable-gcc6-concepts --mode=release --with=scylla --disable-xen --c-compiler "$(tc-getCC)" --compiler "$(tc-getCXX)" --ldflags "${LDFLAGS}" --cflags "${CFLAGS}" --python ${EPYTHON} --with-antlr3 /usr/bin/antlr3.5 || die -} - -src_compile() { - # we use the provided 'scripts/jobs' to figure out how many parallel - # compilation jobs we can sustain - einfo "Compiling using $(scripts/jobs) jobs" - ninja -v build/release/scylla build/release/iotune -j$(scripts/jobs) || die -} - -src_install() { - # NOTE: - # I base myself on upstream's install.sh file - - default - - local MUSTACHE_DIST="\"debian\": true" - pystache dist/common/systemd/scylla-server.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-server.service - pystache dist/common/systemd/scylla-housekeeping-daily.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-housekeeping-daily.service - pystache dist/common/systemd/scylla-housekeeping-restart.service.mustache "{ $MUSTACHE_DIST }" > build/scylla-housekeeping-restart.service - - insinto /etc/default - doins dist/common/sysconfig/scylla-server - - insinto /etc/security/limits.d - doins dist/common/limits.d/scylla.conf - - insinto /etc/scylla.d - doins dist/common/scylla.d/*.conf - - insinto /etc/sysctl.d - doins dist/common/sysctl.d/*.conf - - insinto /etc/scylla - for config_file in scylla.yaml cassandra-rackdc.properties; do - doins conf/${config_file} - done - - systemd_dounit build/*.service - systemd_dounit dist/common/systemd/*.service - systemd_dounit dist/common/systemd/*.timer - - exeinto /usr/lib/scylla - doexe dist/common/scripts/* - doexe seastar/scripts/* - doexe scylla-gdb.py - - dobin build/release/iotune - dobin build/release/scylla - - insinto /usr/lib/scylla - doins dist/common/scripts/scylla_blocktune.py - - exeinto /usr/lib/scylla - doexe dist/common/scripts/scylla-blocktune - doexe dist/common/scripts/scylla-housekeeping - - insinto /etc/scylla.d - doins conf/housekeeping.cfg - - newinitd "${FILESDIR}/scylla-server.initd" ${PN}-server - newconfd "${FILESDIR}/scylla-server.confd" ${PN}-server - - dodoc -r licenses - - for x in /var/lib/${PN} /var/lib/${PN}/{data,commitlog,hints,coredump} /var/lib/scylla-housekeeping /var/log/scylla; do - keepdir "${x}" - fowners scylla:scylla "${x}" - done - - insinto /usr/lib/scylla/swagger-ui - doins -r swagger-ui/dist - - insinto /usr/lib/scylla/api - doins -r api/api-doc - - insinto /usr/lib/scylla/scyllatop - doins -r tools/scyllatop/* - fperms +x /usr/lib/scylla/scyllatop/scyllatop.py - dosym /usr/lib/scylla/scyllatop/scyllatop.py /usr/sbin/scyllatop - - for util in $(ls dist/common/sbin/); do - dosym /usr/lib/scylla/${util} /usr/sbin/${util} - done - - insinto /etc/sudoers.d - newins "${FILESDIR}"/scylla.sudoers scylla - - insinto /etc/rsyslog.d - doins "${FILESDIR}/10-scylla.conf" -} - -pkg_postinst() { - elog "You should run 'emerge --config dev-db/scylla' to finalize your ScyllaDB installation." -} - -pkg_config() { - elog "Running 'scylla_setup'..." - scylla_setup -} |