anmolnar commented on PR #8809:
URL: https://github.com/apache/hbase/pull/8809#issuecomment-6838196146

   > _Co-authored by Claude (Anthropic) on behalf of @anmolnar_
   
   Thanks @kgeisz, this looks much better. Moving the configs to a scratch dir 
and naming everything from `BUILD_TAG` takes care of the two things I was most 
worried about, and the quoted heredoc for `hbase shell` is a nice fix. A few 
things I noticed in the update:
   
   1. **`_kill_orphaned_processes` won't match anything.** The image is a 
binary install (`lib/ruby` exists), so `bin/hbase` starts the shell as 
`org.jruby.JarBootstrapMain`, not `org.jruby.Main`. The `pkill -f 
'org.jruby.Main.*shell'` pattern finds nothing and the timed-out shell keeps 
running. Matching on `JarBootstrapMain` should fix it.
   
   2. **`list_tables` returning `[]` when it can't parse the output.** This 
makes `assert_table_does_not_exist` pass whenever the shell output is 
unexpected (an error, a startup failure, a format change). I'd raise an 
exception that includes the raw output instead, so a bad result fails loudly.
   
   3. **`zoo.cfg` is no longer read.** `_replace_hostnames_in_configs` only 
rewrites `hbase-site.xml`, so in CI the copied `zoo.cfg` still says 
`hbase-docker`. That's harmless, because master doesn't read `zoo.cfg` at all 
(nothing in the Java sources refers to it). But that means 
`cluster{1,2}/conf/zoo.cfg` are dead files that make it look like they matter. 
Can we delete them, or rewrite them too if I've missed somewhere they're used?
   
   4. **The README says local runs use `hbase-docker` / `hbase-docker-2`,** but 
`run_read_replica_integration_tests.sh` sets `HBASE_CONTAINER_NAME=hbase-local` 
when `BUILD_TAG` is unset. Only running pytest directly gets the `.env` 
default. Small doc fix.
   
   5. **Hostname length (minor).** Container names and hostnames come from the 
full `BUILD_TAG`, e.g. `hbase-jenkins-HBase-Read-Replica-Tests-<branch>-<n>-2`. 
A long branch name can push that past the 63-character limit for a hostname. 
Truncating it, or using a short hash of `BUILD_TAG`, would avoid that.
   
   6. **Leftover stacks (optional).** Because each build now gets a unique 
project name, a stack leaked by an earlier SIGKILLed build won't collide with 
later ones, but nothing removes it either. Removing leftover containers whose 
name starts with `rr-jenkins-` at the start of each run would keep the agent 
clean.
   
   Items 1 and 2 are the ones I'd want fixed in this PR. The rest, plus the 
earlier follow-ups (single-stage Dockerfile and `.m2` cache, `-j` doing 
nothing, sleeps and blanket reruns, the docker packages in the shared CI 
image), are fine as a follow-up JIRA if you can link it here. With that I'm 
happy to re-approve.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to