Skip to content

fix: drop the pitSegments override, which no longer overrides anything - #209

Merged
marevol merged 1 commit into
mainfrom
fix/crawler-build
Sep 14, 2026
Merged

marevol merged 1 commit into
mainfrom
fix/crawler-build

Conversation

@marevol

@marevol marevol commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

main does not compile since #208:

FesenClient.java:[40,67] cannot find symbol
  symbol:   class PitSegmentsRequest
  location: package org.codelibs.fesen.opensearch.action.admin.indices.segments
FesenClient.java:[826,5] method does not override or implement a method from a supertype

What went wrong

#208 rewrote every org.opensearch.* reference to org.codelibs.fesen.opensearch.*.
That rename was applied uniformly, but not every type survived the fork.
PitSegmentsRequest is one that did not, and fesen-httpclient's Client no longer
declares pitSegments, so FesenClient.pitSegments(...) overrides nothing and its
import resolves to nothing.

#208's CI could not have caught it. It was red from the day it opened because the
forked fesen-httpclient was not published yet, so fess-crawler-opensearch never
reached javac there. Merging it was what first compiled the module.

Fix

The override is removed, along with the two imports it needed
(IndicesSegmentResponse became unused with it). Nothing else referenced either.

The rest of the module was checked the same way

Every org.codelibs.fesen.opensearch.* name in fess-crawler-opensearch was
matched against the 2,491 classes in the published fesen-httpclient-3.8.1-SNAPSHOT
jar. PitSegmentsRequest was the only one missing — the one other flagged name,
XContentFactory.jsonBuilder, is a static import of a member and its class is
present.

Verification

  • mvn clean packageBUILD SUCCESS (was a compilation failure on main).
  • mvn clean install -DskipTests — BUILD SUCCESS.
  • mvn test -pl fess-crawler-opensearch53 tests, 0 failures, FesenClientTest 12 of them.

The package rename in #208 was applied to every `org.opensearch.*` reference
without checking that each type survived the fork. `PitSegmentsRequest` did not:
fesen-httpclient's `Client` no longer declares `pitSegments`, so the rewritten
import resolves to nothing and the method is an `@Override` of nothing.

The PR's CI could not have caught this - it was red for the whole of its life
because the forked fesen-httpclient was unpublished, so `fess-crawler-opensearch`
never actually compiled there.

Removed the method and the two imports it needed. Every other
`org.codelibs.fesen.opensearch.*` name the module references was checked against
the published jar's 2,491 classes; this was the only one missing.
@marevol marevol self-assigned this Sep 14, 2026
@marevol marevol added this to the 15.9.0 milestone Sep 14, 2026
@marevol
marevol merged commit 4f32190 into main Sep 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant