apache / iceberg

Apache Iceberg
https://iceberg.apache.org/
Apache License 2.0
6.49k stars 2.24k forks source link

0x1F as nested namespace separator for REST URL paths conflicts with Servlet spec #10338

Open westse opened 6 months ago

westse commented 6 months ago

Feature Request / Improvement

The current Iceberg REST spec uses 0x1F to separate the parts of a multipart (nested) namespace parameter in URL paths and elsewhere. However this conflicts with the Servlet spec which calls for rejecting control characters (encoded or not), including the unit separator (0x1F), as "suspicious" and to return 400. Servlet containers enforce this (e.g. see https://github.com/jetty/jetty.project/issues/11495), making implementing the Iceberg REST spec difficult.

Should a different, or at least alternative, separator character be selected to avoid conflicting with the Servlet spec?

Query engine

None

arthurliu-db commented 3 months ago

+1, we're running into a similar issue since we use Armeria web servers and web clients which also rejects requests with 0x1F in the URL path