Glossary

alternate

A variant of a cache object. This was originally created to handle the VARY mechanism but has since been used for additional purposes. All alternates of an object must be equivalent in some manner. That is, they are alternate forms of the same stream. The most common example is having normal and compressed versions of the stream.

cache fragment

The unit of storage in the cache. All reads from the cache always read exactly one fragment. Fragments may be written in groups, but every write is always an integral number of fragments. Each fragment has a corresponding directory entry which describes its location in the cache storage.

cache ID

A 128 bit value used as a fixed sized identifier for an object in the cache. This is computed from the cache key using the MD5 hashing function.

cache key

A byte sequence that is a globally unique identifier for an object in the cache. By default the URL for the object is used.

cache object

The minimal self contained unit of data in the cache. Cache objects are the stored version of equivalent content streams from an origin server. A single object can have multiple variants called alternates.

cache partition

A subdivision of the cache storage in Traffic Server which is dedicated to objects for specific protocols, origins, or other rules. Defining and managing cache partitions is discussed in Partitioning the Cache.

cache span

The physical storage described by a single line in storage.config.

cache stripe

A homogeneous, persistent store for the cache in a single cache span. A stripe always resides entirely on a single physical device and is treated as an undifferentiated span of bytes. This is the smallest independent unit of storage.

cache tag

The bottom few bits (12 currently) of the cache ID. This is used in the cache directory for a preliminary identity check before going to disk.

cache volume

A user defined unit of persistent storage for the cache. Cache volumes are defined in volume.config. A cache volume is by default spread across cache spans to increase robustness. Each section of a cache volume on a specific cache span is a cache stripe.

client request

The HTTP request sent from the user agent (the client) to Traffic Server.

continuation

A callable object that contains state. This is a mechanism used by Traffic Server to implement callbacks and continued computations. Continued computations are critical to efficient processing of traffic because by avoiding any blocking operations that wait on external events. In any such case a continuation is used so that other processing can continue until the external event occurs. At that point the continuation is invoked to continue the suspended processing. This can be considered similar to co-routines.

directory bucket

A contiguous fixed sized group of directory entries. This is used for hash bucket maintenance optimization.

directory entry

An in memory entry that describes a cache fragment.

directory segment

A contiguous group of buckets. Each cache stripe has a set of segments all of which have the same number of buckets, although the number of buckets per segment can vary between cache stripes. Segments are administrative in purpose to minimize the size of free list and hash bucket pointers.

event loop

Code that executes callbacks in continuations from a queue of events.

event thread

A thread created by Traffic Server that has an event loop. Event loops drive activity in Traffic Server and are responsible for all network I/O handling, hook processing, and scheduled events.

fresh

The state of a cache object which can be served directly from the the cache in response to client requests. Fresh objects have not met or passed their origin server defined expiration time, nor have they reached the algorithmically determined stale age.

global plugin

A plugin which operates on all transactions. Contrast with remap plugin.

header heap

A heap to manage transaction local memory for HTTP headers.

object store

The database of cache objects.

origin server

An HTTP server which provides the original source of content being cached by Traffic Server.

proxy request

The HTTP request sent from Traffic Server (the proxy) to the upstream.

remap plugin

A plugin which operates only on transactions matching specific remap rules as defined in remap.config. Contrast with global plugin.

revalidation

Verifying that a currently cached object is still valid. This is usually done using an If-Modified-Since request which allows the origin server to validate the content without resending the content.

session

A single connection from a client to Traffic Server, covering all requests and responses on that connection. A session starts when the client connection opens, and ends when the connection closes.

stale

The state of a cache object which is not yet expired, but has reached an algorithmically determined age at which the origin server will be contacted to revalidate the freshness of the object. Contrast with fresh.

storage unit

Obsolete term for cache span.

transaction

A client request and response, either from the origin server or from the cache. A transaction begins when Traffic Server receives a request, and ends when Traffic Server sends the response.

variable sized class

A class where the instances vary in size. This is done by allocating a block of memory at least as large as the class and then constructing a class instance at the start of the block. The class must be provided the size of this extended memory during construction and is presumed to use it as part of the instance. This generally requires calling a helper function to create the instance and extra care when de-allocating.

write cursor

The location in a cache stripe where new data is written.