-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Separate cassandra-stress to its own build, package, container #370
Comments
We do. It could have its own release schedule too (more or less when we want to update the driver) |
FYI, the dockerfile we are using in SCT, when we need a specific version of c-s: |
CC @roydahan for awareness. |
I'm aware of it :) The question is if it's the last part needed to take Java out of scylla-tools or we need to prioritze more/other tasks? |
We did not complete yet the move to the native tool. Therefore, we cannot remove Java just yet. But we can certainly begin by moving away c-s to its own RPM, not packaged by the rest of the scylla tools RPM, and not installed by default (which was always odd anyway) |
Do we want to move c-s to its own repo, like we did with cqlsh ? or to leave in place, and just split the packaging it's a separate one ? |
Whatever is easier. I don't see the value in moving to its own repo, but perhaps there could be reasons for it. |
See mail with the subject "Retiring tools/java and tools/jmx". |
Well, it's difficult separate Java based tools and cassandra-stress. Because all Java based commands implemented by upstream (Cassandra) are intended as single package, all commands are invoked from single shell script (cassandra.in.sh), all .jar are stored to single directory and the shell script load all of them into CLASSPATH when executing the command. Even if we need to implement cassandra-stress as separated package, we probably need to have duplicate files needed for cassandra-stress (*.jar, cassandra.in.sh, logback.xml.. etc) and copy them into new directory something like /opt/scylladb/cassandra-stress. But I guess it's much simpler to separate package to new native tools and old Java based tools (which includes cassandra-stress). |
On my previous post, I described the difficulity to separate cassandra-stress while we still keep old Java bases tools. |
Implemented draft code for "cassandra-stress only" packaging: It will replace scylla-tools -> scylla-cassandra-stress, scylla-tools-core -> scylla-cassandra-stress-core, and only has cassandra-stress, cassandra-stressd commands. |
According to @mykaul we can drop the old java tools from packaging. if we will need them we can take them from previous releases. |
@denesb - please confirm my (optimistic) assessment that we can indeed drop all java based tooling. |
Implemented draft code for scylla core repo part: It drops scylla-tools and scylla-jmx entirely. |
This script will be removed soon, once scylladb/scylladb#17168 goes in. Instead, there will be a |
Yes. All the important tools (sstable tools, nodetool) have native equivalent. sstableloader is replaced by We will have to check dtest for any remaining usage of the java tools. The best way to find this out, is to patch them out of @tchaikov do you remember how is dtest doing with ditching the java tools? |
@denesb it's tracked by https://github.com/scylladb/scylla-dtest/issues/3350 which is actually a subtask of scylladb/scylladb#14856 . the only blocker i can see is the 2nd item in https://github.com/scylladb/scylla-dtest/issues/3489 |
Since Java based tools and JMX server are deprecated, drop them from submodule, build system and package definition. Also, move nodetool-wrapper to scylla-server package since we drop scylla-tools. Related scylladb/scylla-tools-java#370 Related scylladb#14856
Since Java based tools are deprecated and now we only need cassandra-stress, change package name to "scylla-cassandra-stress" and drop deprecated tools from the package. Closes scylladb#370
Since Java based tools are deprecated and now we only need cassandra-stress, change package name to "scylla-cassandra-stress" and drop deprecated tools from the package. Closes scylladb#370
Sent PR at: #384 |
Sent scylla-core part as DRAFT PR at: scylladb/scylladb#17969 |
Since Java based tools are deprecated and now we only need cassandra-stress, change package name to "scylla-cassandra-stress" and drop deprecated tools from the package. Closes scylladb#370
Since JMX server is deprecated, drop them from submodule, build system and package definition. Related scylladb/scylla-tools-java#370 Related scylladb#14856
Since Java based tools are deprecated and now we only need cassandra-stress, change package name to "scylla-cassandra-stress" and drop deprecated tools from the package. Closes scylladb#370
Since JMX server is deprecated, drop them from submodule, build system and package definition. Related scylladb/scylla-tools-java#370 Related scylladb#14856
Since Java based tools are deprecated and now we only need cassandra-stress, change package name to "scylla-cassandra-stress" and drop deprecated tools from the package. Closes scylladb#370
Since JMX server is deprecated, drop them from submodule, build system and package definition. Related scylladb/scylla-tools-java#370 Related scylladb#14856 Signed-off-by: Takuya ASADA <[email protected]>
Since JMX server is deprecated, drop them from submodule, build system and package definition. Related scylladb/scylla-tools-java#370 Related scylladb#14856 Signed-off-by: Takuya ASADA <[email protected]>
@mykaul / @fruch (who is possibly going to own casandra-stress), Right now the direction in this PR is wrong IMO: #384 |
There is no tools-java in the future. We deprecate all of them. Cassandra-stress remains by itself, and I don't wish to install it by default. And if we don't have a reason to do so, release it either. |
The missing key word here is "will" in "we will deprecate them". So, the change of the packing in the suggested above PR is not good.
|
I don't see why in 6.1 or 2024.2 we'll continue to release anything Java related. |
Probably for backup so we have tools that doesn't exist or may not work as expected. |
Ok, so after discussing with @fruch we think that the easiest way would be to do as follow:
|
We do 'support' c-s, btw, and even document it - see https://opensource.docs.scylladb.com/stable/operating-scylla/admin-tools/cassandra-stress.html for example. |
It won't change, it will just move to its own repo with its code only and the bare minimum of java dependencies so later we will be able to easily get rid the rest of the things we currently have in scylla-tools-java. |
We still need to remove the tools repo, out of core, nowadays in master:
|
Since JMX server is deprecated, drop them from submodule, build system and package definition. Related scylladb/scylla-tools-java#370 Related scylladb#14856 Signed-off-by: Takuya ASADA <[email protected]>
just for ref. |
It's from a few weeks back, and it's not tied to a release of scylla anymore. It wasn't yet removed from this repo, and this code is still part of scylla packages. And docs are not yet updated to point to the new repo / docker. @tarzanek I understand you used the new docker, any feedback would help, as for example do you need it in other packaging (i.e. deb/rpm, that we don't yet have for he new repo) |
Since JMX server is deprecated, drop them from submodule, build system and package definition. Related scylladb/scylla-tools-java#370 Related scylladb#14856 Signed-off-by: Takuya ASADA <[email protected]>
Since JMX server is deprecated, drop them from submodule, build system and package definition. Related scylladb/scylla-tools-java#370 Related scylladb#14856 Signed-off-by: Takuya ASADA <[email protected]>
Since JMX server is deprecated, drop them from submodule, build system and package definition. Related scylladb/scylla-tools-java#370 Related scylladb#14856 Signed-off-by: Takuya ASADA <[email protected]>
Since JMX server is deprecated, drop them from submodule, build system and package definition. Related scylladb/scylla-tools-java#370 Related scylladb#14856 Signed-off-by: Takuya ASADA <[email protected]>
Since JMX server is deprecated, drop them from submodule, build system and package definition. Related scylladb/scylla-tools-java#370 Related #14856 Signed-off-by: Takuya ASADA <[email protected]> Closes #17969
Since JMX server is deprecated, drop them from submodule, build system and package definition. Related scylladb/scylla-tools-java#370 Related scylladb#14856 Signed-off-by: Takuya ASADA <[email protected]> Closes scylladb#17969
Since JMX server is deprecated, drop them from submodule, build system and package definition. Related scylladb/scylla-tools-java#370 Related scylladb#14856 Signed-off-by: Takuya ASADA <[email protected]> Closes scylladb#17969
Since JMX server is deprecated, drop them from submodule, build system and package definition. Related scylladb/scylla-tools-java#370 Related scylladb#14856 Signed-off-by: Takuya ASADA <[email protected]> Closes scylladb#17969
As we depart from Java based tooling, slowly but surely, we do not need to continue and have this Java overhead with us everywhere (specific example - no use of cassandra-stress in a Dockerized Scylla - so why have Java there?).
We should split it off and if we wish to, provide it separately.
CC @yaronkaikov
The text was updated successfully, but these errors were encountered: