FIX - Check ingestion with incoming server version (#24543)

This commit is contained in:
Pere Miquel Brull 2025-11-25 12:29:49 +01:00 committed by GitHub
parent 8ecfa7891f
commit d833941bf5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 17 additions and 6 deletions

View File

@ -151,8 +151,8 @@ public class MeteredPipelineServiceClient implements PipelineServiceClientInterf
} }
@Override @Override
public Boolean validServerClientVersions(String clientVersion) { public Boolean validServerClientVersions(String clientVersion, String serverVersion) {
return decoratedClient.validServerClientVersions(clientVersion); return decoratedClient.validServerClientVersions(clientVersion, serverVersion);
} }
@Override @Override

View File

@ -460,7 +460,7 @@ public class AirflowRESTClient extends PipelineServiceClient {
if (response.statusCode() == 200) { if (response.statusCode() == 200) {
JSONObject responseJSON = new JSONObject(response.body()); JSONObject responseJSON = new JSONObject(response.body());
String ingestionVersion = responseJSON.getString("version"); String ingestionVersion = responseJSON.getString("version");
return Boolean.TRUE.equals(validServerClientVersions(ingestionVersion)) return validServerClientVersions(ingestionVersion, SERVER_VERSION)
? buildHealthyStatus(ingestionVersion) ? buildHealthyStatus(ingestionVersion)
: buildUnhealthyStatus( : buildUnhealthyStatus(
buildVersionMismatchErrorMessage(ingestionVersion, SERVER_VERSION)); buildVersionMismatchErrorMessage(ingestionVersion, SERVER_VERSION));

View File

@ -71,7 +71,7 @@ public interface PipelineServiceClientInterface {
String getBasicAuthenticationHeader(String username, String password); String getBasicAuthenticationHeader(String username, String password);
Boolean validServerClientVersions(String clientVersion); Boolean validServerClientVersions(String clientVersion, String serverVersion);
Response getHostIp(); Response getHostIp();

View File

@ -126,9 +126,20 @@ public abstract class PipelineServiceClient implements PipelineServiceClientInte
} }
} }
private String getMajorMinorVersion(String fullVersion) {
String[] versionParts = fullVersion.split("\\.");
if (versionParts.length >= 2) {
return versionParts[0] + "." + versionParts[1];
}
return fullVersion;
}
@Override @Override
public final Boolean validServerClientVersions(String clientVersion) { public final Boolean validServerClientVersions(String clientVersion, String serverVersion) {
return getVersionFromString(clientVersion).equals(getVersionFromString(SERVER_VERSION)); String clientFullVersion = getVersionFromString(clientVersion);
String serverFullVersion = getVersionFromString(serverVersion);
return getMajorMinorVersion(clientFullVersion).equals(getMajorMinorVersion(serverFullVersion));
} }
public String buildVersionMismatchErrorMessage(String ingestionVersion, String serverVersion) { public String buildVersionMismatchErrorMessage(String ingestionVersion, String serverVersion) {