v6: VersionSupport rejects every 2.x server (major and minor are concatenated)

Aberta Para iniciantes
#631 0 comentários 0 reações 0 responsáveis Ver no GitHub

@Ashlesha-17 já está trabalhando nisso.

Desde 10/11/2026.

  • #636 de @Ashlesha-17 — aberto

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
78/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
java
Domínio
api, backend

Direção de pesquisa

Leia src/main/java/io/weaviate/client6/v1/internal/VersionSupport.java, especialmente SemanticVersion.compareTo, e localize os testes existentes para VersionSupport. Reproduza os resultados relatados para as versões 1.39.13, 2.0.0, 2.5.1 e 10.0.0 e, em seguida, verifique se a comparação trata corretamente os componentes major e minor. O trabalho estará concluído quando as versões 2.x forem aceitas em relação ao mínimo 1.32 e o comportamento existente para 1.x continuar correto.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Summary

VersionSupport.SemanticVersion.compareTo builds an integer by concatenating major and minor ("%d%d"), so 1.32 becomes 132 and 2.0 becomes 20. Any 2.x server is therefore judged older than the 1.32 minimum, and the client refuses to connect with WeaviateUnsupportedVersionException.

https://github.com/weaviate/java-client/blob/ff57caed14df5778ef715132d618383da559c1cc/src/main/java/io/weaviate/client6/v1/internal/VersionSupport.java#L42-L46

Reproduction (client 6.3.2)

VersionSupport.isSupported("1.39.13"); // true
VersionSupport.isSupported("1.100.0"); // true
VersionSupport.isSupported("2.0.0");   // false
VersionSupport.isSupported("2.5.1");   // false
VersionSupport.isSupported("10.0.0");  // false

Expected

Compare major first, then minor (e.g. Comparator.comparingInt(SemanticVersion::major).thenComparingInt(SemanticVersion::minor)). This is latent until a 2.0 server ships, but then every deployed client would refuse to connect.

Linguagem predominante
Java
Estrelas
34
Forks
29
Merge médio
2d 10h
PRs com merge (30d)
2

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de weaviate/java-client

Todas as issues de weaviate/java-client

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.