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
public Boolean validServerClientVersions(String clientVersion) {
return decoratedClient.validServerClientVersions(clientVersion);
public Boolean validServerClientVersions(String clientVersion, String serverVersion) {
return decoratedClient.validServerClientVersions(clientVersion, serverVersion);
}
@Override

View File

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

View File

@ -71,7 +71,7 @@ public interface PipelineServiceClientInterface {
String getBasicAuthenticationHeader(String username, String password);
Boolean validServerClientVersions(String clientVersion);
Boolean validServerClientVersions(String clientVersion, String serverVersion);
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
public final Boolean validServerClientVersions(String clientVersion) {
return getVersionFromString(clientVersion).equals(getVersionFromString(SERVER_VERSION));
public final Boolean validServerClientVersions(String clientVersion, String serverVersion) {
String clientFullVersion = getVersionFromString(clientVersion);
String serverFullVersion = getVersionFromString(serverVersion);
return getMajorMinorVersion(clientFullVersion).equals(getMajorMinorVersion(serverFullVersion));
}
public String buildVersionMismatchErrorMessage(String ingestionVersion, String serverVersion) {