Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

REST: Send empty first-page pageToken when rest-page-size is set

Ouverte Adaptée aux débutants
#4,096 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@ehddnr301 y travaille déjà.

Depuis le 12/10/2026.

  • #4097 par @ehddnr301 — ouverte

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
82/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
python
Domaine
api, backend

Piste de recherche

Commencez par le code de pagination du catalogue REST pour list_tables, list_views et list_namespaces, puis examinez l’analyse des paramètres de requête de l’adaptateur SigV4. Envoyez un pageToken vide dans la première requête lorsque rest-page-size est défini, et conservez les valeurs de requête vides dans l’adaptateur. Vérifiez que la requête inclut pageToken= et que la pagination fonctionne avec une taille de page de 1.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

kind:bug
Apache Iceberg version

0.12.0 (latest release)

Please describe the bug 🐞

When rest-page-size is set, list_tables, list_views and list_namespaces send pageSize without pageToken on the first request:

GET /v1/namespaces/ns/tables?pageSize=100

The REST spec says servers must return all results in one response when pageToken is not set, and that clients start pagination by sending an empty pageToken (PageToken). So compliant servers ignore rest-page-size, and some servers fail on the request. With tabulario/iceberg-rest:1.6.0 and namespaces a, b, c:

RestCatalog("t", uri=uri).list_namespaces()
# [('a',), ('b',), ('c',)]

RestCatalog("t", uri=uri, **{"rest-page-size": "1"}).list_namespaces()
# ServerError: NumberFormatException: Cannot parse null string
GET /v1/namespaces?pageSize=1             -> 500 NumberFormatException
GET /v1/namespaces?pageSize=1&pageToken=  -> {"namespaces": [["a"]], "next-page-token": "1"}

The first request should include pageToken= when rest-page-size is set. The Java client always sends pageToken, starting with an empty value. The SigV4 adapter also needs to keep blank query values, since parse_qsl drops them by default.

rest-page-size was added in #3377. The same error in apache/iceberg-rest-fixture was reported in apache/iceberg#13119.

Willingness to contribute
  • I can contribute a fix for this bug independently
  • I would be willing to contribute a fix for this bug with guidance from the Iceberg community
  • I cannot contribute a fix for this bug at this time
Langage dominant
Python
Étoiles
1.2k
Forks
618
Merge moyen
1 j 3 h
PR mergées (30 j)
45

Préparer son environnement

  • Aucun Dockerfile ni fichier Docker Compose
  • Propose un modèle de pull request
  • Aucun guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de apache/iceberg-python

Toutes les issues de apache/iceberg-python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.