You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Masakazu Kitajo (JIRA)" <ji...@apache.org> on 2016/04/02 17:03:25 UTC

[jira] [Created] (TS-4316) Slot accelerator doesn't effect under certain condition

Masakazu Kitajo created TS-4316:
-----------------------------------

             Summary: Slot accelerator doesn't effect under certain condition
                 Key: TS-4316
                 URL: https://issues.apache.org/jira/browse/TS-4316
             Project: Traffic Server
          Issue Type: Bug
          Components: MIME
            Reporter: Masakazu Kitajo


Slot accelerators seem to not effect if the stored slot number is 14 or 15.

This is because {{mime_hdr_set_accelerators_and_presence_bits()}} regards slot number 14+ as "unknown" and stores MIME_FIELD_SLOTNUM_UNKNOWN(14) to an accelerator, and it causes slower search. Although there is no critical effect, it would decreases performance slightly.

The numbers, 14 and 15, comes from constants below in MIME.h:
{code}
#define MIME_FIELD_SLOTNUM_BITS 4
#define MIME_FIELD_SLOTNUM_MASK ((1 << MIME_FIELD_SLOTNUM_BITS) - 1)
#define MIME_FIELD_SLOTNUM_MAX (MIME_FIELD_SLOTNUM_MASK - 1)
#define MIME_FIELD_SLOTNUM_UNKNOWN MIME_FIELD_SLOTNUM_MAX
{code}
MIME_FIELD_SLOTNUM_MASK is 15.
MIME_FIELD_SLOTNUM_MAX is 14.
MIME_FIELD_SLOTNUM_UNKNOWN is 14 too.

Though it still needs more careful confirmation, it seems we can simply change {{MIME_FIELD_SLOTNUM_UNKNOWN}} to the value of {{MIME_FIELD_SLOTNUM_MASK}} (15). But we still cannot use 15.

To use 15 as a valid slot number in slot accelerators, we need to change {{MIME_FIELD_SLOTNUM_UNKNOWN}} to 16 or -1, however it would need to change some codes also (not only the number).

This bug has been found while I was tackling TS-4313.
https://github.com/apache/trafficserver/pull/542#discussion-diff-58226891



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)