[#8731] fix(policy): PolicyUpdateRequest.validate checks for null policyType (#8734)

**Description:**

This Pull Request implements the improvement requested in issue #8731.

**The change:**
A validation check has been added to the **`validate()`** method of the
inner class **`UpdatePolicyContentRequest`** (found in
`PolicyUpdateRequest.java`) to ensure that the **`policyType` field is
not null**.

The check uses `Preconditions.checkArgument(policyType != null,
"\"policyType\" must not be null")` to align with the existing
validation patterns in the class.

**Closes Issue:** Fixes #8731

Co-authored-by: RealHugoPS <hugo.pexegueiro.salazar@fpfomento.com>
1 file changed
tree: 40621128b1c74c447c70bac60f80cb39a563a6dd
  1. .github/
  2. .idea/
  3. api/
  4. authorizations/
  5. bin/
  6. bundles/
  7. catalogs/
  8. clients/
  9. common/
  10. conf/
  11. core/
  12. dev/
  13. docs/
  14. flink-connector/
  15. gradle/
  16. iceberg/
  17. integration-test-common/
  18. licenses/
  19. lineage/
  20. mcp-server/
  21. rfc/
  22. scripts/
  23. server/
  24. server-common/
  25. spark-connector/
  26. trino-connector/
  27. web/
  28. .asf.yaml
  29. .gitattributes
  30. .gitignore
  31. build.gradle.kts
  32. CODE_OF_CONDUCT.md
  33. CONTRIBUTING.md
  34. GETTING_STARTED.md
  35. GOVERNANCE.md
  36. gradle.properties
  37. gradlew
  38. LICENSE
  39. LICENSE.bin
  40. LICENSE.rest
  41. LICENSE.trino
  42. MAINTAINERS.md
  43. NOTICE
  44. NOTICE.bin
  45. NOTICE.rest
  46. NOTICE.trino
  47. README.md
  48. ROADMAP.md
  49. SECURITY.md
  50. settings.gradle.kts
README.md

Apache Gravitino™

GitHub Actions Build GitHub Actions Integration Test License Contributors Release Open Issues Last Committed OpenSSF Best Practices

Introduction

Apache Gravitino is a high-performance, geo-distributed, and federated metadata lake. It manages metadata directly in different sources, types, and regions, providing users with unified metadata access for data and AI assets.

Gravitino Architecture

🚀 Key Features

  • Unified Metadata Management: Manage diverse metadata sources through a single model and API (e.g., Hive, MySQL, HDFS, S3).
  • End-to-End Data Governance: Features like access control, auditing, and discovery across all metadata assets.
  • Direct Metadata Integration: Changes in underlying systems are immediately reflected via Gravitino’s connectors.
  • Geo-Distribution Support: Share metadata across regions and clouds to support global architectures.
  • Multi-Engine Compatibility: Seamlessly integrates with query engines without modifying SQL dialects.
  • AI Asset Management (WIP): Support for AI model and feature tracking.

🌐 Common Use Cases

  • Federated metadata discovery across data lakes and data warehouses
  • Multi-region metadata synchronization for hybrid or multi-cloud setups
  • Data and AI asset governance with unified audit and access control
  • Plug-and-play access for engines like Trino or Spark
  • Support for evolving metadata standards, including AI model lineage

📚 Documentation

The latest Gravitino documentation is available at gravitino.apache.org/docs/latest.

This README provides a basic overview; visit the site for full installation, configuration, and development documentation.

🧪 Quick Start

Use Gravitino Playground (Recommended)

Gravitino provides a Docker Compose–based playground for a full-stack experience.
Clone or download the Gravitino Playground repository and follow its README.

Run Gravitino Locally

  1. Download and extract a binary release.
  2. Edit conf/gravitino.conf to configure settings.
  3. Start the server:
./bin/gravitino.sh start
  1. To stop:
./bin/gravitino.sh stop

Press CTRL+C to stop.

🧊 Iceberg REST Catalog

Gravitino provides a native Iceberg REST catalog service.
See: Iceberg REST catalog service

🔌 Trino Integration

Gravitino includes a Trino connector for federated metadata access.
See: Using Trino with Gravitino

🛠️ Building from Source

Gravitino uses Gradle. Windows is not currently supported.

Clean build without tests:

./gradlew clean build -x test

Build a distribution:

./gradlew compileDistribution -x test

Or compressed package:

./gradlew assembleDistribution -x test

Artifacts are output to the distribution/ directory.

More build options: How to build Gravitino

👨‍💻 Developer Resources

🤝 Contributing

We welcome all kinds of contributions—code, documentation, testing, connectors, and more!

To get started, please read our CONTRIBUTING.md guide.

🔗 ASF Resources

🪪 License

Apache Gravitino is licensed under the Apache License, Version 2.0.
See the LICENSE file for details.

Apache®, Apache Gravitino™, Apache Hadoop®, Apache Hive™, Apache Iceberg™, Apache Kafka®, Apache Spark™, Apache Submarine™, Apache Thrift™, and Apache Zeppelin™ are trademarks of the Apache Software Foundation in the United States and/or other countries.