You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "ctubbsii (via GitHub)" <gi...@apache.org> on 2024/12/09 23:24:33 UTC

[PR] Remove eval from accumulo-cluster [accumulo]

ctubbsii opened a new pull request, #5158:
URL: https://github.com/apache/accumulo/pull/5158

   Fix the accumulo-cluster script's quote handling by removing the extra layer of indirection using eval and newer bash features to quote variables while printing. That many layers of nested quoting makes it very hard to reason about what the script is actually doing. The trade-off with avoiding eval is that some of the quoting may not be shown correctly.
   
   This change replaces the debugAndRun method and its use of eval with a simpler debug implementation that merely prints the provided command when debug is enabled, and returns true when debug is enabled, or false when it isn't. The return code is then used to execute the command that was printed. For example, in the following command, if debug is enabled, the debug command will print "mycommand" and skip the execution. However, if debug is disabled, then no printing will be done, and instead "mycommand" will be executed.
   
       debug mycommand || mycommand
   
   To try to print debug statements that with proper quotes suitable for copy and pasting, one must provide a slightly different command on either side of the `||`, so that the one on the left will print the quotes correctly, and the one on the right will execute the command correctly. For example:
   
       debug "mycommand \"$1\"" || mycommand "$1"
   
   Assume `$1=="foo bar"`. The extra quotes will ensure that this prints `mycommand "foo bar"` instead of `mycommand foo bar` when debug is enabled, because `mycommand "foo bar"` is what would be executed if debug is not enabled.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Remove eval from accumulo-cluster [accumulo]

Posted by "ctubbsii (via GitHub)" <gi...@apache.org>.
ctubbsii commented on code in PR #5158:
URL: https://github.com/apache/accumulo/pull/5158#discussion_r1878892170


##########
assemble/bin/accumulo-cluster:
##########
@@ -177,16 +166,20 @@ function control_service() {
       # using the value of $host
       #
       if [[ $# -gt 3 ]]; then
-        debugAndRun ACCUMULO_SERVICE_INSTANCE="${ACCUMULO_SERVICE_INSTANCE}" "${bin}/accumulo-service" "$service" "$control_cmd" "-a" "$host" "${@:4}"
+        debug "ACCUMULO_SERVICE_INSTANCE=\"$ACCUMULO_SERVICE_INSTANCE\" \"$bin/accumulo-service\" \"$service\" \"$control_cmd\" -a \"$host\" \"${*:4}\"" ||
+          ACCUMULO_SERVICE_INSTANCE="$ACCUMULO_SERVICE_INSTANCE" "$bin/accumulo-service" "$service" "$control_cmd" -a "$host" "${@:4}"
       else
-        debugAndRun ACCUMULO_SERVICE_INSTANCE="${ACCUMULO_SERVICE_INSTANCE}" "${bin}/accumulo-service" "$service" "$control_cmd" "-a" "$host"
+        debug "ACCUMULO_SERVICE_INSTANCE=\"$ACCUMULO_SERVICE_INSTANCE\" \"$bin/accumulo-service\" \"$service\" \"$control_cmd\" -a \"$host\"" ||
+          ACCUMULO_SERVICE_INSTANCE="$ACCUMULO_SERVICE_INSTANCE" "$bin/accumulo-service" "$service" "$control_cmd" -a "$host"
       fi
     else
       if [[ $# -gt 3 ]]; then
         EXTRA_ARGS="${*:4}"
-        debugAndRun "$SSH" "$host" "bash -c 'ACCUMULO_SERVICE_INSTANCE=${ACCUMULO_SERVICE_INSTANCE} ${bin}/accumulo-service \"$service\" \"$control_cmd\" \"-a\" \"$host\" $EXTRA_ARGS '"
+        debug "$SSH \"$host\" \"bash -c 'ACCUMULO_SERVICE_INSTANCE=\\\"$ACCUMULO_SERVICE_INSTANCE\\\" \\\"$bin/accumulo-service\\\" \\\"$service\\\" \\\"$control_cmd\\\" -a \\\"$host\\\" $EXTRA_ARGS '\"" ||

Review Comment:
   Right, I added that back in because I thought it would be beneficial to be able to see a copy-and-paste safe version of the command. But, we certainly don't have to have that... we just need to be mindful of the debugging output that it may require additional quoting and won't be able to be copy-and-pasted directly.
   
   I can pull that part out, if you want. I just thought it was helpful, and wanted to demonstrate it here for consideration.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Remove eval from accumulo-cluster [accumulo]

Posted by "dlmarion (via GitHub)" <gi...@apache.org>.
dlmarion commented on code in PR #5158:
URL: https://github.com/apache/accumulo/pull/5158#discussion_r1878826203


##########
assemble/bin/accumulo-cluster:
##########
@@ -177,16 +166,20 @@ function control_service() {
       # using the value of $host
       #
       if [[ $# -gt 3 ]]; then
-        debugAndRun ACCUMULO_SERVICE_INSTANCE="${ACCUMULO_SERVICE_INSTANCE}" "${bin}/accumulo-service" "$service" "$control_cmd" "-a" "$host" "${@:4}"
+        debug "ACCUMULO_SERVICE_INSTANCE=\"$ACCUMULO_SERVICE_INSTANCE\" \"$bin/accumulo-service\" \"$service\" \"$control_cmd\" -a \"$host\" \"${*:4}\"" ||
+          ACCUMULO_SERVICE_INSTANCE="$ACCUMULO_SERVICE_INSTANCE" "$bin/accumulo-service" "$service" "$control_cmd" -a "$host" "${@:4}"
       else
-        debugAndRun ACCUMULO_SERVICE_INSTANCE="${ACCUMULO_SERVICE_INSTANCE}" "${bin}/accumulo-service" "$service" "$control_cmd" "-a" "$host"
+        debug "ACCUMULO_SERVICE_INSTANCE=\"$ACCUMULO_SERVICE_INSTANCE\" \"$bin/accumulo-service\" \"$service\" \"$control_cmd\" -a \"$host\"" ||
+          ACCUMULO_SERVICE_INSTANCE="$ACCUMULO_SERVICE_INSTANCE" "$bin/accumulo-service" "$service" "$control_cmd" -a "$host"
       fi
     else
       if [[ $# -gt 3 ]]; then
         EXTRA_ARGS="${*:4}"
-        debugAndRun "$SSH" "$host" "bash -c 'ACCUMULO_SERVICE_INSTANCE=${ACCUMULO_SERVICE_INSTANCE} ${bin}/accumulo-service \"$service\" \"$control_cmd\" \"-a\" \"$host\" $EXTRA_ARGS '"
+        debug "$SSH \"$host\" \"bash -c 'ACCUMULO_SERVICE_INSTANCE=\\\"$ACCUMULO_SERVICE_INSTANCE\\\" \\\"$bin/accumulo-service\\\" \\\"$service\\\" \\\"$control_cmd\\\" -a \\\"$host\\\" $EXTRA_ARGS '\"" ||

Review Comment:
   @ctubbsii - I don't remember all of this escaping when you and I were testing this. IIRC when we were testing, there was a line that performed an `echo` and then the following line that performed the command. I realize that the `echo` didn't print exactly what was executed, but it seemed better than all of this escaping.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Remove eval from accumulo-cluster [accumulo]

Posted by "ddanielr (via GitHub)" <gi...@apache.org>.
ddanielr commented on code in PR #5158:
URL: https://github.com/apache/accumulo/pull/5158#discussion_r1878636560


##########
assemble/bin/accumulo-cluster:
##########
@@ -177,16 +166,20 @@ function control_service() {
       # using the value of $host
       #
       if [[ $# -gt 3 ]]; then
-        debugAndRun ACCUMULO_SERVICE_INSTANCE="${ACCUMULO_SERVICE_INSTANCE}" "${bin}/accumulo-service" "$service" "$control_cmd" "-a" "$host" "${@:4}"
+        debug "ACCUMULO_SERVICE_INSTANCE=\"$ACCUMULO_SERVICE_INSTANCE\" \"$bin/accumulo-service\" \"$service\" \"$control_cmd\" -a \"$host\" \"${*:4}\"" ||
+          ACCUMULO_SERVICE_INSTANCE="$ACCUMULO_SERVICE_INSTANCE" "$bin/accumulo-service" "$service" "$control_cmd" -a "$host" "${@:4}"
       else
-        debugAndRun ACCUMULO_SERVICE_INSTANCE="${ACCUMULO_SERVICE_INSTANCE}" "${bin}/accumulo-service" "$service" "$control_cmd" "-a" "$host"
+        debug "ACCUMULO_SERVICE_INSTANCE=\"$ACCUMULO_SERVICE_INSTANCE\" \"$bin/accumulo-service\" \"$service\" \"$control_cmd\" -a \"$host\"" ||
+          ACCUMULO_SERVICE_INSTANCE="$ACCUMULO_SERVICE_INSTANCE" "$bin/accumulo-service" "$service" "$control_cmd" -a "$host"
       fi
     else
       if [[ $# -gt 3 ]]; then
         EXTRA_ARGS="${*:4}"
-        debugAndRun "$SSH" "$host" "bash -c 'ACCUMULO_SERVICE_INSTANCE=${ACCUMULO_SERVICE_INSTANCE} ${bin}/accumulo-service \"$service\" \"$control_cmd\" \"-a\" \"$host\" $EXTRA_ARGS '"
+        debug "$SSH \"$host\" \"bash -c 'ACCUMULO_SERVICE_INSTANCE=\\\"$ACCUMULO_SERVICE_INSTANCE\\\" \\\"$bin/accumulo-service\\\" \\\"$service\\\" \\\"$control_cmd\\\" -a \\\"$host\\\" $EXTRA_ARGS '\"" ||
+          $SSH "$host" "bash -c 'ACCUMULO_SERVICE_INSTANCE=\"$ACCUMULO_SERVICE_INSTANCE\" \"$bin/accumulo-service\" \"$service\" \"$control_cmd\" -a \"$host\" $EXTRA_ARGS '"
       else
-        debugAndRun "$SSH" "$host" "bash -c 'ACCUMULO_SERVICE_INSTANCE=${ACCUMULO_SERVICE_INSTANCE} ${bin}/accumulo-service \"$service\" \"$control_cmd\" \"-a\" \"$host\"'"
+        debug "$SSH \"$host\" \"bash -c 'ACCUMULO_SERVICE_INSTANCE=\\\"$ACCUMULO_SERVICE_INSTANCE\\\" \\\"$bin/accumulo-service\\\" \\\"$service\\\" \\\"$control_cmd\\\" -a \\\"$host\\\"'\"" ||
+          $SSH "$host" "bash -c 'ACCUMULO_SERVICE_INSTANCE=\"$ACCUMULO_SERVICE_INSTANCE\" \"$bin/accumulo-service\" \"$service\" \"$control_cmd\" -a \"$host\"'"

Review Comment:
   Same comment as above



##########
assemble/bin/accumulo-cluster:
##########
@@ -177,16 +166,20 @@ function control_service() {
       # using the value of $host
       #
       if [[ $# -gt 3 ]]; then
-        debugAndRun ACCUMULO_SERVICE_INSTANCE="${ACCUMULO_SERVICE_INSTANCE}" "${bin}/accumulo-service" "$service" "$control_cmd" "-a" "$host" "${@:4}"
+        debug "ACCUMULO_SERVICE_INSTANCE=\"$ACCUMULO_SERVICE_INSTANCE\" \"$bin/accumulo-service\" \"$service\" \"$control_cmd\" -a \"$host\" \"${*:4}\"" ||
+          ACCUMULO_SERVICE_INSTANCE="$ACCUMULO_SERVICE_INSTANCE" "$bin/accumulo-service" "$service" "$control_cmd" -a "$host" "${@:4}"
       else
-        debugAndRun ACCUMULO_SERVICE_INSTANCE="${ACCUMULO_SERVICE_INSTANCE}" "${bin}/accumulo-service" "$service" "$control_cmd" "-a" "$host"
+        debug "ACCUMULO_SERVICE_INSTANCE=\"$ACCUMULO_SERVICE_INSTANCE\" \"$bin/accumulo-service\" \"$service\" \"$control_cmd\" -a \"$host\"" ||
+          ACCUMULO_SERVICE_INSTANCE="$ACCUMULO_SERVICE_INSTANCE" "$bin/accumulo-service" "$service" "$control_cmd" -a "$host"
       fi
     else
       if [[ $# -gt 3 ]]; then
         EXTRA_ARGS="${*:4}"
-        debugAndRun "$SSH" "$host" "bash -c 'ACCUMULO_SERVICE_INSTANCE=${ACCUMULO_SERVICE_INSTANCE} ${bin}/accumulo-service \"$service\" \"$control_cmd\" \"-a\" \"$host\" $EXTRA_ARGS '"
+        debug "$SSH \"$host\" \"bash -c 'ACCUMULO_SERVICE_INSTANCE=\\\"$ACCUMULO_SERVICE_INSTANCE\\\" \\\"$bin/accumulo-service\\\" \\\"$service\\\" \\\"$control_cmd\\\" -a \\\"$host\\\" $EXTRA_ARGS '\"" ||
+          $SSH "$host" "bash -c 'ACCUMULO_SERVICE_INSTANCE=\"$ACCUMULO_SERVICE_INSTANCE\" \"$bin/accumulo-service\" \"$service\" \"$control_cmd\" -a \"$host\" $EXTRA_ARGS '"

Review Comment:
   Compared to the original code, this is very difficult to read.
   I think we can modify the original code to remove the reliance on the new bash functionality while still supporting the readability of the new changes.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Remove eval from accumulo-cluster [accumulo]

Posted by "ddanielr (via GitHub)" <gi...@apache.org>.
ddanielr commented on PR #5158:
URL: https://github.com/apache/accumulo/pull/5158#issuecomment-2531759436

   > This won't merge cleanly to 3.1 or main, because the scripts have been modified too much in each. I can reimplement it in each branch, but in future, it would be nice to try to see if we can bring the scripts from the main branch into the 3.1 branch, so we only have one set of scripts to maintain in 3.1 and 4.0. I don't think 4.0 contains accumulo-cluster features that are specific to 4.0, and would apply equally well to 3.1, but that's out of scope of this issue... it just would have made this issue easier to merge forward.
   
   tserver resource groups are a change specific to 4.0 which does help simplify the accumulo-cluster logic.
   We could introduce the concept internally to the cluster script in 3.1, but that may lead to confusion and additional complexity to handle not setting the resource group override prop for tservers.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Remove eval from accumulo-cluster [accumulo]

Posted by "ctubbsii (via GitHub)" <gi...@apache.org>.
ctubbsii commented on code in PR #5158:
URL: https://github.com/apache/accumulo/pull/5158#discussion_r1878893912


##########
assemble/bin/accumulo-cluster:
##########
@@ -177,16 +166,20 @@ function control_service() {
       # using the value of $host
       #
       if [[ $# -gt 3 ]]; then
-        debugAndRun ACCUMULO_SERVICE_INSTANCE="${ACCUMULO_SERVICE_INSTANCE}" "${bin}/accumulo-service" "$service" "$control_cmd" "-a" "$host" "${@:4}"
+        debug "ACCUMULO_SERVICE_INSTANCE=\"$ACCUMULO_SERVICE_INSTANCE\" \"$bin/accumulo-service\" \"$service\" \"$control_cmd\" -a \"$host\" \"${*:4}\"" ||
+          ACCUMULO_SERVICE_INSTANCE="$ACCUMULO_SERVICE_INSTANCE" "$bin/accumulo-service" "$service" "$control_cmd" -a "$host" "${@:4}"
       else
-        debugAndRun ACCUMULO_SERVICE_INSTANCE="${ACCUMULO_SERVICE_INSTANCE}" "${bin}/accumulo-service" "$service" "$control_cmd" "-a" "$host"
+        debug "ACCUMULO_SERVICE_INSTANCE=\"$ACCUMULO_SERVICE_INSTANCE\" \"$bin/accumulo-service\" \"$service\" \"$control_cmd\" -a \"$host\"" ||
+          ACCUMULO_SERVICE_INSTANCE="$ACCUMULO_SERVICE_INSTANCE" "$bin/accumulo-service" "$service" "$control_cmd" -a "$host"
       fi
     else
       if [[ $# -gt 3 ]]; then
         EXTRA_ARGS="${*:4}"
-        debugAndRun "$SSH" "$host" "bash -c 'ACCUMULO_SERVICE_INSTANCE=${ACCUMULO_SERVICE_INSTANCE} ${bin}/accumulo-service \"$service\" \"$control_cmd\" \"-a\" \"$host\" $EXTRA_ARGS '"
+        debug "$SSH \"$host\" \"bash -c 'ACCUMULO_SERVICE_INSTANCE=\\\"$ACCUMULO_SERVICE_INSTANCE\\\" \\\"$bin/accumulo-service\\\" \\\"$service\\\" \\\"$control_cmd\\\" -a \\\"$host\\\" $EXTRA_ARGS '\"" ||
+          $SSH "$host" "bash -c 'ACCUMULO_SERVICE_INSTANCE=\"$ACCUMULO_SERVICE_INSTANCE\" \"$bin/accumulo-service\" \"$service\" \"$control_cmd\" -a \"$host\" $EXTRA_ARGS '"

Review Comment:
   I can certainly convert the boolean operator to if-else statements, which may help a bit. But the underlying issue is that what is printed as DEBUG will not be possible to be copy-and-pasted directly, because merely echoing the command will not have the proper quoting.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Remove eval from accumulo-cluster [accumulo]

Posted by "ctubbsii (via GitHub)" <gi...@apache.org>.
ctubbsii closed pull request #5158: Remove eval from accumulo-cluster
URL: https://github.com/apache/accumulo/pull/5158


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Remove eval from accumulo-cluster [accumulo]

Posted by "ctubbsii (via GitHub)" <gi...@apache.org>.
ctubbsii commented on PR #5158:
URL: https://github.com/apache/accumulo/pull/5158#issuecomment-2529804277

   For additional background, the reason why eval was being used at all was because setting a variable for a specific execution of a command does not work when calling it directly, as in:
   
   ```bash
   debug() { "$@"; }
   debug SOMETHING=foo env | grep SOMETHING # causes error - bash: SOMETHING=foo: command not found
   SOMETHING=foo env | grep SOMETHING # this works fine
   debug2() { eval "$@"; }
   debug2 SOMETHING=foo env | grep SOMETHING # this works, but requires nested quoting of arguments
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Remove eval from accumulo-cluster [accumulo]

Posted by "ctubbsii (via GitHub)" <gi...@apache.org>.
ctubbsii commented on PR #5158:
URL: https://github.com/apache/accumulo/pull/5158#issuecomment-2537204723

   Closing this in favor of #5167 (for the main branch). It's changes will need to be subsequently backported to 2.1 and 3.1


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Remove eval from accumulo-cluster [accumulo]

Posted by "ctubbsii (via GitHub)" <gi...@apache.org>.
ctubbsii commented on PR #5158:
URL: https://github.com/apache/accumulo/pull/5158#issuecomment-2533008175

   @ddanielr wrote:
   > I don't think the readability is great with these changes.
   
   Agreed, but it's nearly impossible to get readability when you want to print quotes. We can pull those out, and the readability will improve, but the printed result will (probably) not be copy-and-paste-able. I'm okay with that, if others are.
   
   > If the script was extremely static then that is less of an issue. However we've been modifying these scripts pretty frequently across the different accumulo versions.
   
   The latest iteration in the main branch (aside from a few breakages that this attempts to fix) are quite nice. It'd be easier if we could adopt the same scripts across all branches, instead of them having different versions of the script. I understand some differences are needed, but I think the actual required differences are probably pretty small, and we could use the same version of the scripts (mostly) in all branches.
   
   > Using the `&&` `||` logic is harder to parse as commends start to become nested.
   
   True, but I don't think I have any complicated nesting here. I didn't even have to use curly braces. The uses I used were very simple cases. Those can certainly be converted to if-then-else-fi blocks, though, if they are hard to read like this. I had them as if-then-else-fi blocks to begin with, but it actually looked a little more complicated. This pattern is a simple "if debug print || execute".
   
   > However I do understand the confusion about what the command actually looks like when it gets run vs being echo'd out.
   > 
   > To help troubleshoot this I was using the `set -v` bash option to determine what the script was doing.
   
   `set -v` can be used for troubleshooting, sure. It can't be used to avoid execution, though... which is the purpose of the debug function, in support of the `--dry-run` flag. Similarly, you can't use `set -x` to show the expanded command to be executed. If the goal is just to debug while executing, either of those would be fine, but as originally written, it was to support a `--dry-run` flag, which means do not execute.
   
   > I created #5164 to remove the reliance on the bash version. But I tried testing those changes on `main` and it did not solely solve the issue.
   > 
   > If this code is currently functional in 2.1 then I would prefer to not merge these changes and pursue #5164 if the reasoning is due to the reliance on newer bash features.
   
   No, #5164 is not sufficient. The problem isn't the reliance on the newer bash feature. The problem is the nested quoting due to indirect execution. The way it is currently implemented, it is *not* functioning correctly. Having the function do the optional printing or executing means an extra layer of quoting, and that makes it *very* difficult to reason about. Getting it to work with the extra layer of quoting for the indirect execution via the function means that the readability of the actual command being executed is poor. In my version, for this PR, only the printed message's readability is poor, but at least the correctness of the printed message is easy to verify from running with `--dry-run`. It is far less easy to verify the correctness of a poorly readable command that is actually being executed.
   
   I don't mind using the printf solution in #5164 to help print the commands without needing to make them so hard to read. However, to ensure correctness of the command actually being executed, and to ensure we have the ability to reason about those commands, I strongly thing we should avoid using a function to indirectly execute the actual commands. And that's the core part of this PR that I'd want to keep.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] Remove eval from accumulo-cluster [accumulo]

Posted by "ctubbsii (via GitHub)" <gi...@apache.org>.
ctubbsii commented on PR #5158:
URL: https://github.com/apache/accumulo/pull/5158#issuecomment-2529777620

   This won't merge cleanly to 3.1 or main, because the scripts have been modified too much in each. I can reimplement it in each branch, but in future, it would be nice to try to see if we can bring the scripts from the main branch into the 3.1 branch, so we only have one set of scripts to maintain in 3.1 and 4.0. I don't think 4.0 contains accumulo-cluster features that are specific to 4.0, and would apply equally well to 3.1, but that's out of scope of this issue... it just would have made this issue easier to merge forward.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@accumulo.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org