From cbd9764601d33c2e9da0b042f46a9980a9b92ed4 Mon Sep 17 00:00:00 2001 From: Wouter Wijngaards Date: Wed, 19 Sep 2007 09:20:24 +0000 Subject: [PATCH] plan and comments. git-svn-id: file:///svn/unbound/trunk@621 be551aaa-1e26-0410-a405-d3ace91eadb9 --- daemon/worker.c | 4 ++-- doc/Changelog | 4 ++++ doc/plan | 10 ++++++++++ util/data/msgreply.h | 4 ++++ 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/daemon/worker.c b/daemon/worker.c index 6cd76b66b..32eef8120 100644 --- a/daemon/worker.c +++ b/daemon/worker.c @@ -748,7 +748,7 @@ worker_handle_request(struct comm_point* c, void* arg, int error, lock_rw_unlock(&e->lock); return 1; } - verbose(VERB_DETAIL, "answer from the cache -- data has timed out"); + verbose(VERB_ALGO, "answer from the cache failed"); lock_rw_unlock(&e->lock); } if(!LDNS_RD_WIRE(ldns_buffer_begin(c->buffer))) { @@ -758,7 +758,7 @@ worker_handle_request(struct comm_point* c, void* arg, int error, &edns)) { return 1; } - verbose(VERB_DETAIL, "answer norec from cache -- " + verbose(VERB_ALGO, "answer norec from cache -- " "need to validate or not primed"); } ldns_buffer_rewind(c->buffer); diff --git a/doc/Changelog b/doc/Changelog index 9745ad622..9ffc9c40d 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,3 +1,7 @@ +19 September 2007: Wouter + - comments about non-packed usage. + - plan for overload support in 0.6. + 18 September 2007: Wouter - wildcard nsec3 testcases, and fixup to get correct wildcard name. - validator prints subtype classification for debug. diff --git a/doc/plan b/doc/plan index 30a22c9c0..7048a7fe1 100644 --- a/doc/plan +++ b/doc/plan @@ -169,6 +169,16 @@ Styleguide: logfileparsing tool that makes these excerpts and emails them. * ANS failure workaround (nxdomain for ENT; check if nxdomain is ENTnodata). * clear cache as a callback from the new-rrset-id routine. +* make overload mode work; phase 0 all ok, phase 1 some threads close ports, + to let other threads pick up work. phase 2, all threads closed, so all open + the ports again and drop all non-cache-reply queries. + Keep mutexed num-overloaded-threads counter. thread incs it when it hits + max number of user queries serviced in mesh. threads decs it when it + falls below 90% of the max. if incs, and not all threads closed, phase 1, + else, phase 2 start is broadcast over command pipes. if decs, open ports + if phase 1, start servicing, phase is 0 again. Make robust against delays. + readme: max about 1 second worth of incoming queries, 10k perhaps, + or 1/number of seconds it takes start up of 10k. *** Local zones feature. * Build in local zone features. First the total stop for1912. diff --git a/util/data/msgreply.h b/util/data/msgreply.h index cacf806bc..b4e12591b 100644 --- a/util/data/msgreply.h +++ b/util/data/msgreply.h @@ -89,6 +89,10 @@ struct rrset_ref { * o struct * o rrset_ref array * o packed_rrset_key* array. + * + * Memory layout is sometimes not packed, when the message is synthesized, + * for easy of the generation. It is allocated packed when it is copied + * from the region allocation to the malloc allocation. */ struct reply_info { /** the flags for the answer, host byte order. */ -- 2.47.2