Nishuuzz commented on PR #55162:
URL: https://github.com/apache/arrow/pull/55162#issuecomment-6401695013

   You're right, and my description was wrong. Thanks for digging out the 
actual history.
   
   I checked 5ca85922ae and the loop was there:
   
   ```python
       for lang in implementations:
           param = f'with_{lang}'
           if with_all:
               args[param] = with_all
           enabled_implementations += args[param]
   ```
   
   and 9a219256bf dropped it along with `enabled_implementations` when 
`select_testers()` took over. So this is a regression in 22.0.0, not a feature 
that was never wired up. I should also withdraw the `_set_default` claim in my 
description — that helper has been unused since 2019 and has nothing to do with 
`--with-all`; I used it because it happened to fit, not because it was left 
over from this.
   
   On whether the feature is needed, one thing that I think explains the 
silence: nothing in the repository passes `--with-all`. CI goes through 
`ARCHERY_INTEGRATION_WITH_*` in `ci/scripts/integration_arrow.sh`, 
`verify-release-candidate.sh` passes `--with-cpp=${TEST_INTEGRATION_CPP}`, and 
`generate_files_for_endian_test.sh` passes `--with-cpp=1`. The only reference 
left is `docs/source/format/Integration.rst`:
   
   ```
      archery integration --with-all --run-flight --run-ipc --run-c-data
   ```
   
   So the people who would hit this are contributors following that page 
locally, and the failure is a `Need to enable at least one implementation to 
test` that looks like their own setup being wrong rather than a broken flag. 
That's not the kind of thing that usually turns into a bug report.
   
   Either direction is fine by me and it's your call — I'd just rather the docs 
and the code agreed:
   
   - keep it, as in this PR, and the documented command works again;
   - or drop `--with-all` entirely, in which case that doc line needs rewriting 
with explicit `--with-<lang>` flags. Happy to switch this PR over to that if 
you prefer; it's a smaller diff than what's here.
   
   If you do keep it, two differences from the pre-22.0.0 behaviour worth 
deciding on, since neither is forced:
   
   1. The old loop assigned unconditionally, so `--with-all --with-java=0` 
still enabled Java. Mine lets the explicit value win, which is why the options 
moved to `default=None`. I chose that because the help text says "by default", 
but matching the old behaviour exactly is a two-line change.
   2. The old list was hardcoded, and `--with-ruby` was added after it was 
removed, so it would not have been picked up. Mine derives the set from the 
`with_*` options, so a new implementation is included automatically. That 
seemed worth keeping given a stale hardcoded list is roughly how this got lost 
in the first place.
   


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