dsmiley commented on PR #3706:
URL: https://github.com/apache/solr/pull/3706#issuecomment-3410935770

   > Idea: Soon, solr will have Testcontainers as a dependency (#3670), and 
Testcontainers is ideal for orchestrating and managing containers like this.
   
   Thank you for #3670 but you say having a dependency (on Testcontainers) as 
if we've achieved something as a project.  It's a few lines of configuration to 
depend on it.  An achievement would be 
https://issues.apache.org/jira/browse/SOLR-17653 albeit that particular issue 
wouldn't be helpful for the upgrade test.
   
   > I suppose you can write a JUnit test that sets up a docker network, then 
adds 3 Solr containers in cloud mode, then write a loop where you swap one 
after the other with a newer version and inspect logs or what you need.
   > 
   > It makes sense for such a test to be disabled by default or included in 
nightly.
   > 
   > Here's Claude's draft stab at a rolling test: 
https://claude.ai/public/artifacts/c4d09d7b-df54-419a-b660-169e22191a26
   
   I am a huge fan of Testcontainers; I filed SOLR-17653 after all.  I would 
have personally enjoyed writing/working with Java code to manipulate containers 
instead of Bash/BATS.  I could have used my desire for SOLR-17653 as an excuse 
here to do it.  I was awefully tempted.  I contemplated doing that very thing 
and I had a 1:1 call with Eric Pugh about this rolling upgrade test to discuss 
how to go about it.  I chose Bash/BATS in spite of disliking the framework.  I 
am no good at this framework; GitHub Copilot did the critical 1st draft and 
most improvements afterwards.  The rolling upgrade test scenario doesn't speak 
to the strengths of Testcontainers specifically (JUnit wrapper for Docker).  
It's to the strenghts of Docker, yes, put not specifically 
Testcontainers/JUnit.  This is just orchestration here (Not SolrJ integration 
which _definitely_ requires SOLR-17653), which is basically what our pile of 
Bash/BATS scripts do.  We have a pile of similar Docker tests in Bash too, albei
 t not using BATS.  Together (`:solr:package:integrationTests` & 
`:solr:docker:testDocker`) are high level integration tests, which is what the 
test here definitely is.
   
   Put differently, if this specific test were to exist as a 
JUnit/Testcontainers based test, then it really calls into question why we have 
any Bash/BATS scripts at all -- why would/shouldn't they also be TestContainers 
based?  "When in Rome, do as the romans do" -- I respected our status quo 
because it works, even though I'm not productive in it.
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to