Skip to content
This repository was archived by the owner on Nov 24, 2025. It is now read-only.
This repository was archived by the owner on Nov 24, 2025. It is now read-only.

Full ATS slice plugin support. #4759

@traeak

Description

@traeak

I'm submitting a ...

  • bug report
  • new feature / enhancement request
  • improvement request (usability, performance, tech debt, etc.)
  • other

Traffic Control components affected ...

  • CDN in a Box
  • Documentation
  • Grove
  • Traffic Control Client
  • Traffic Monitor
  • Traffic Ops
  • Traffic Ops ORT
  • Traffic Portal
  • Traffic Router
  • Traffic Stats
  • Traffic Vault
  • unknown

Current behavior:

Currently any delivery service that uses the slice plugin is limited to a single remap line. While this is easy and straightforward it is non optimal, especially for effeciency reasons.

Sample remap rule:

remap http://sliced/ http://parent/ @plugin=url_sig.so @plugin=slice.so @plugin=cachekey.so @plugin=cache_range_requests.so

This for this remap rule the incoming request and every single slice request will run through the url_sig.so plugin for each request.

Expected / new behavior:

Split the DS remap lines into a passthru and sliced request:

map http://slice/ http://parent/ @plugin=url_sig.so @plugin=slice.so @pparam=--remap-host=virt @plugin=cachekey.so
map http://virt/ http://parent/ @plugin=only_allow_port_0.so @plugin=cachekey.so @plugin=cache_range_requests.so @pparam=--consider-ims

In this case the url_sig.so is run only once per incoming request. Any cachekey mods need to be run on the passthru or on the virtual sliced side.

Also note if cachekey plugin is used, on the http://virt/ line

  • cachekey needs @pparam=--include-headers=Range
  • cache_range_requests needs @pparam=--no-modify-cachekey

Minimal reproduction of the problem with instructions:

Anything else:

The slice plugin with above features hasn't yet been mainlined into ATS. The features will remain but it's possible that plugin option names may change (--remap-host to --remap-host-virt)

Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->

Metadata

Metadata

Assignees

No one assigned

    Labels

    Traffic Opsrelated to Traffic OpsTraffic Portal v1related to Traffic Portal version 1cache-configCache config generationnew featureA new feature, capability or behavior

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions