Bug #1971
Updated by Junxiao Shi about 10 years ago
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. This also happens when viewing NFD Status through the status page which uses the nfd-status-http-server to call nfd-status. I have not been able to get this to happen on my local nfd running on MacOS. But I don't know if that is because there are fewer daemons running on my local machine or if it is a Ubuntu (Testbed Nodes) vs. MacOS (local machine) issue. I will see if I can gather some more information by setting a more verbose logging level.