The GitHub Actions job "Build CI with different platforms/configs" on 
hive.git/hive.metastore.limit.partition.request has succeeded.
Run started by GitHub user wangyum (triggered by wangyum).

Head commit for run:
d75a7faf83617c58c7a5300c91301bcda789d655 / Yuming Wang <[email protected]>
HIVE-30196: Enforce hive.metastore.limit.partition.request in 
get_partitions_with_specs

get_partitions_with_specs skipped the hive.metastore.limit.partition.request
guard that every regular partition listing RPC enforces (get_partitions,
get_partitions_by_names, get_partitions_with_auth, get_partitions_by_filter,
get_partitions_by_expr, get_partitions_ps, get_partitions_ps_with_auth).
Enforce it:

- Fail fast before the partition fetch using the same cheap count queries
  the regular listing RPCs use, mapped per filter mode:
  - filter spec unset -> getNumPartitionsByFilter("")
  - BY_NAMES -> the requested partition names count (as get_partitions_by_names 
does)
  - BY_VALUES -> getNumPartitionsByPs (same makePartNameMatcher predicate as 
the fetch)
  - BY_EXPR -> getNumPartitionsByFilter on the joined expressions (same grammar)
- Keep a check on the fetched result size as the final backstop (covers the
  count/fetch TOCTOU window and unknown filter modes)
- Add get_partitions_with_specs to the config description

Default (-1) behavior is unchanged; the guard only applies when the operator
configures the limit.

Related: HIVE-30195 (table-level filter hook check gap in the same RPC)
Co-authored-by: Cursor <[email protected]>

Report URL: https://github.com/apache/hive/actions/runs/38879614354

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to