I filed a JIRA issue for this critical client problem:
https://issues.apache.org/jira/browse/SOLR-18171
I also substantially finished a maven & gradle test that the smoketester
can call: https://github.com/apache/solr/pull/4227   It also includes some
python smoketester stuff that I'm not comfortable reviewing so I look to
others to help with that aspect.  This was my weekend project.

On Sun, Mar 22, 2026 at 11:12 AM David Smiley <[email protected]> wrote:

> This kind of problem has happened before.  Gus has noticed & fixed it in a
> past release, and I believe Dawid Weiss did just recently
> https://github.com/apache/solr/pull/4225/changes which you commented on
> Eric but maybe didn't realize it's the same problem you encountered with
> Querqy.
>
> I filed a PR w/ Copilot to enhance the smoketest to check that a Maven
> project can resolve our dependencies.  This includes some trivial test java
> code.  While my objective was limited to dependencies, we can imagine
> generalizing it's job to not be purely limited to the dependency validation
> but also to check some basic things that a SolrJ & solr-test-framework
> consumer might do -- exercising some SolrTestCase & SolrClientTestRule
> stuff to ensure they are functional.  I'm working on revamping it right
> now, including a fix for ExternalPaths.
>
> On Sat, Mar 21, 2026 at 2:37 PM David Eric Pugh via dev <
> [email protected]> wrote:
>
>> I was updating the https://github.com/querqy/querqy-solr repo for Solr
>> 10, and then tests started due to issues with ExternalPaths.
>> I asked claude for help and it said:
>> The `ExternalPaths` class assumed it was running within the Solr source
>> tree and attempted to resolve paths like `webapp/web`,
>> `server/solr/configsets/_default/conf`, etc. on the `SOURCE_HOME` path.
>> When `SOURCE_HOME` was `null` (as in external projects), calling
>> `.resolve()` on it caused an NPE.
>>
>> I dug a bit more, and it was caused when we did the File --> Path
>> migation in SOLR-16903 (commit 86f2afded1252b69b8478a2c795a7657585ef5c2).
>> In Java's `java.io.File` implementation:
>> ```javaFile file = new File(null, "webapp/web");  // This is LEGALString
>> path = file.getAbsolutePath();       // Returns a valid path
>> (relative)```but with path:
>> ```javaPath path = null;path.resolve("webapp/web");  // ❌
>> NullPointerException!```
>> I have a potential patch here:
>> https://gist.github.com/epugh/beaf36329593aa879af2d26eaa9030fd
>> Thoughts?   Am I understanding things correctly?
>> Eric
>>
>>

Reply via email to