chengxilo opened a new pull request, #3384:
URL: https://github.com/apache/iggy/pull/3384

   ## Which issue does this PR address?
   
   Relates to #2148 
   
   ## Rationale
   
   <!--
   Why is this change needed? If the issue explains it well, a one-liner is 
fine.
   -->
   
   In master branch, the `./scripts/run/bdd-tests.sh` doesn't support choosing 
a feature, while there is a `FEATURE` varaible. 
    While this script is mainly for BDD test in CI, when we implement the bdd 
test it is also very helpful to verify if the BDD test works. So I hope this 
can be improved so when I build new test scenario, it won't take me 10 minutes 
to build and run everything everytime I wanna test it.
   
   ## What changed?
   
   <!--
   2-4 sentences. Problem first (before), then solution (after).
   
   GOOD:
   
   "Messages were unavailable when background message_saver committed the
   journal and started async disk I/O before completion. Polling during
   this window found neither journal nor disk data.
   
   The fix freezes journal batches in the in-flight buffer before async 
persist."
   
   GOOD:
   
   "When many small messages accumulate in the journal, the flush passes
   thousands of IO vectors to writev(), exceeding IOV_MAX (1024 on Linux)."
   
   BAD:
   - Walls of text
   - "This PR adds..." (we can see the diff)
   -->
   In master branch, the `./scripts/run/bdd-tests.sh` doesn't support choosing 
a feature, while there is a `FEATURE` varaible. I splitted the docker-compose 
file for each `.feature`. Now when run basic_messaging scenario we only need to 
build and run the `docker-compose.server.yml` which create a single server, 
while in leader_redirection scenario we use `docker-compose.server.yml` and 
`docker-compose.cluster.yml` together. It should increase the speed to run the 
`run-bdd-tests.sh`
   
   the `clean` is also updated by claude, but I think it makes sense so I kept 
it. Now if we use `./scripts/run/bdd-tests.sh clean`, it should clean up 
everything that is possible to be booted but failed to be removed. I didn't 
actually use it tho.
   
   And one extra change which is technically not in the scope, I removed 
go-race test in bdd, as I realized that it was a mistake to provide -race test 
in BDD test. It is only applicable for unit test with mock server.
   
   ## Local Execution
   
   - Passed
   - Pre-commit hooks ran
   
   <!--
   You must run your code locally before submitting.
   "Relying on CI" is not acceptable - PRs from authors who haven't run the 
code will be closed.
   
   Did you have `prek` installed? It runs automatically on commit and covers 
all project languages. See 
[CONTRIBUTING.md](https://github.com/apache/iggy/blob/master/CONTRIBUTING.md).
   -->
   
   ## AI Usage
   
   <!--
   If AI tools were used, please answer:
   1. Which tools? (e.g., GitHub Copilot, Claude, ChatGPT)
   2. Scope of usage? (e.g., autocomplete, generated functions, entire 
implementation)
   3. How did you verify the generated code works correctly?
   4. Can you explain every line of the code if asked?
   
   If no AI tools were used, write "None" or delete this section.
   -->
   1. Claude Opus 4.6
   2. Code generation, I'm not good at writing shell script so it helps a lot.
   3. The code was manually modified after generation
   4. yes


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