Vector tiles buffer is used to include data that is just outside of the tile. This data is used to prevent border effects when rendering the geometries. It is currently [hardcoded to 5 pixels](https://github.com/elastic/elasticsearch/blob/de2781f98696c1e6cfad2b5bf46fe752a5e3edbb/x-pack/plugin/vector-tile/src/main/java/org/elasticsearch/xpack/vectortile/feature/FeatureFactory.java#L63) but it should probably need to be user configurable by adding a new property on the vector tiles API which can change the value.




x-pack/plugin/vector-tile/src/test/java/org/elasticsearch/xpack/vectortile/rest/VectorTileRequestTests.java
final FakeRestRequest request = getBasicRequestBuilder(index, field, z, x, y).build();
            final IllegalArgumentException ex = expectThrows(
                IllegalArgumentException.class,
                () -> VectorTileRequest.parseRestRequest(request)
            );
            assertThat(ex.getMessage(), Matchers.equalTo("Zoom/X/Y combination is not valid: " + z + "/" + x + "/" + y));
        }
        {
            
            final int z = randomIntBetween(0, GeoTileUtils.MAX_ZOOM);
            final int x = randomIntBetween(1 << z, Integer.MAX_VALUE);
            final int y = randomIntBetween(Integer.MIN_VALUE, -1);
            final FakeRestRequest request = getBasicRequestBuilder(index, field, z, x, y).build();
            final IllegalArgumentException ex = expectThrows(
                IllegalArgumentException.class,
                () -> VectorTileRequest.parseRestRequest(request)
            );
            assertThat(ex.getMessage(), Matchers.equalTo("Zoom/X/Y combination is not valid: " + z + "/" + x + "/" + y));
        }
    }
    private void assertRestRequest(CheckedConsumer<XContentBuilder, IOException> consumer, Consumer<VectorTileRequest> asserter)
        throws IOException {
        final int z = randomIntBetween(1, 10);
        final int x = randomIntBetween(0, (1 << z) - 1);
        final int y = randomIntBetween(0, (1 << z) - 1);
        final String index = randomAlphaOfLength(10);
        final String field = randomAlphaOfLength(10);
        final FakeRestRequest.Builder requestBuilder = getBasicRequestBuilder(index, field, z, x, y);
        final XContentBuilder builder = JsonXContent.contentBuilder();
        builder.startObject();