Files
Axel Uhl 8b26a148af bug6288: handle pre-bug6288 replica sets in live-content pre-flight check
A replica set whose server predates bug6288 does not expose
GET /sailingserver/api/v1/livecontent; the master answers HTTP 400 with a
text/plain body. SailingServerImpl.getLiveContent then deserialized a null
JSON body and threw an NPE that surfaced in the UI as an unreadable error.
A secondary bug aborted the whole batch on the first such server.

Detect the non-success response cleanly and model the outcome as a
first-class per-replica-set UNDETERMINED state, treated fail-safe
(block-unless-forced):

- New checked exception LiveContentCheckUnsupportedException in
  landscape.common (the only bundle both server.gateway and landscape see).
- SailingServerImpl.getLiveContent inspects the response status and throws
  it instead of deserializing a null body.
- LandscapeServiceImpl.checkForLiveContent catches per replica set, records
  the name as undetermined, and continues the loop (fixes batch-abort);
  checkForLiveContentUnlessForced now also blocks on undetermined sets.
- LiveContentCheckResult carries a parallel undeterminedReplicaSetNames
  list (new 3-arg constructor; 2-arg preserved; serialVersionUID
  regenerated). JSON and GWT wire formats extended in lockstep; JSON
  deserializer tolerates the field's absence for backward compatibility.
- UI shows a single combined dialog with a live-content section and a
  'could not verify (server not upgraded)' section; forcing proceeds past
  both. English and German messages added.

Also fixes a missing result.add(processJson) in SailingLandscapeResource
that left the returned JSON array empty.

Assisted-By: Claude (claude-4.8-opus)
2026-09-14 23:30:20 +02:00
..
2026-03-05 17:21:54 +01:00
…
…