Project

General

Profile

Actions

Bug #1971

closed

NccStrategy: Interest not forwarded if a similar Interest arrives during straggler timer and cannot be satisfied by ContentStore

Added by John DeHart over 9 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Forwarding
Target version:
Start date:
09/08/2014
Due date:
% Done:

100%

Estimated time:
3.00 h

Description

Steps to reproduce:

  1. send an Interest with MustBeFresh=yes
  2. response a Data with FreshnessPeriod=0ms
  3. within 50ms, retransmit the same Interest with a fresh Nonce

Expected: Interest is forwarded to producer

Actual: Interest is not forwarded and eventually times out

Root cause:

  1. The first Interest creates a PIT entry. NCC strategy knows this PIT entry is new.
  2. When the first Interest is satisfied, in-records and out-record are deleted from the PIT entry; the PIT entry itself is scheduled to be deleted when straggler timer expires (100ms).
  3. The second Interest arrives before straggler time expires, so it finds the same PIT entry. Straggler timer is cancelled.
  4. The second Interest cannot be satisfied by ContentStore because the Data is already stale.
  5. NCC strategy thinks this PIT entry is old via NccStrategy::PitEntryInfo::isNewInterest, so it won't forward the Interest.

Original report: nfd-status -f : gets frequent timeout on Testbed nodes

When running nfd-status on Testbed nodes we get frequent results of:

Request timed out

I've narrowed it down to the face status portion of nfd-status.

I have not been able to get this to happen on my local nfd running on MacOS.

Actions

Also available in: Atom PDF