Commit Graph
82 Commits
Author SHA1 Message Date
Tatuya JINMEI 神明達哉 a6aa668679 2596. [bug] Stale tree nodes of cache/dynamic rbtdb could stay
long, leading to inefficient memory usage or rejecting
			newer cache entries in the worst case. [RT #19563]
2009-05-06 23:34:48 +00:00
Automatic Updater 8d1b72dd27 update copyright notice 2009-01-19 23:47:03 +00:00
Mark Andrews 8552bf2079 spelling 2009-01-19 00:01:12 +00:00
Tatuya JINMEI 神明達哉 412555b357 cleanups for LRU-caching code [RT #18018] 2008-05-01 18:32:32 +00:00
Automatic Updater a7e1401d6f update copyright notice 2008-02-07 23:46:25 +00:00
Mark Andrews 0fd9a6a418 2330. [bug] Remove potential race condition when handling
over memory events. [RT #17572]

                        WARNING: API CHANGE: over memory callback
                        function now needs to call isc_mem_waterack().
                        See <isc/mem.h> for details.
2008-02-07 02:51:43 +00:00
Michael Graff b239c8294a commit lruttl to the mainline. A tag was set called skan_lruttl-mainline-base, and I will tag this as skan_lruttl-mainline-merge after this commit 2007-10-19 17:15:53 +00:00
Automatic Updater 70e5a7403f update copyright notice 2007-06-19 23:47:24 +00:00
Automatic Updater ec5347e2c7 update copyright notice 2007-06-18 23:47:57 +00:00
Mark Andrews 854dac0f18 2063. [bug] Change #1955 introduced a bug which caused the first
'rndc flush' call to not free memory. [RT #16244]
2006-08-01 01:03:27 +00:00
Mark Andrews ce9cfc26a1 log message typo and %d -> %u 2006-07-19 00:24:17 +00:00
Mark Andrews b6f900cd8d ISC_LOG_INFO -> ISC_LOG_DEBUG(1) 2006-06-13 04:49:18 +00:00
Mark Andrews b66ca17f29 2019. [tuning] Reduce the amount of work performed per quantum
when cleaning the cache. [RT #15986]
2006-05-16 03:54:35 +00:00
Mark Andrews 481d821ad0 comment: cleanng -> cleaning 2006-05-04 02:24:06 +00:00
Mark Andrews d0207ee71b 1955. [bug] Pre-allocate the cache cleaning interator. [RT #14998]
Fix the CLEANER_IDLE macro to make this change complete. [RT #15815]
2006-01-26 22:56:04 +00:00
Mark Andrews 1b06367c34 update copyright notice 2006-01-06 00:01:44 +00:00
Mark Andrews 6178552326 1955. [bug] Pre-allocate the cache cleaning interator. [RT #14998] 2006-01-05 00:13:58 +00:00
Mark Andrews 4c1817c29c damp interations adjustments [RT#15404 2005-09-20 04:22:46 +00:00
Mark Andrews 676619a22f win32 fixes 2005-09-05 02:54:38 +00:00
Mark Andrews 4e1d3e67cd 1914. [bug] Strings returned from cfg_obj_asstring() should be
treated as read-only.  The prototype for
                        cfg_obj_asstring() has been updated to reflect this.
                        [RT #15256]
2005-08-23 02:36:11 +00:00
Mark Andrews 261a6a1f7d 1911. [func] Attempt to make the amount of work performed in a
iteration self tuning.  The covers nodes clean from
                        the cache per iteration, nodes written to disk when
                        rewriting a master file and nodes destroyed per
                        iteration when destroying a zone or a cache.
                        [RT #14996]
2005-08-15 01:21:07 +00:00
Mark Andrews 18d0b5e54b 1900. [port] freebsd: pthread_mutex_init can fail if it runs out
of memory. [RT #14995]
2005-07-12 01:00:20 +00:00
Rob Austein ab023a6556 1851. [doc] Doxygen comment markup. [RT #11398] 2005-04-27 04:57:32 +00:00
Mark Andrews b7b6b01a0d update copyright 2005-03-16 00:55:19 +00:00
Mark Andrews e90994e3f3 1799. [bug] 'rndc flushname' failed to flush negative cache
entries. [RT #13438]
2005-03-15 02:48:58 +00:00
Mark Andrews dafcb997e3 update copyright notice 2004-03-05 05:14:21 +00:00
Mark Andrews e724512f2b 1525. [bug] dns_cache_create() could dereference a NULL pointer
during error cleanup.
2003-10-15 07:01:45 +00:00
Mark Andrews d88e1c30a4 three -> two 2003-10-13 00:40:29 +00:00
Mark Andrews 93d6dfaf66 1516. [func] Roll the DNSSEC types to RRSIG, NSEC and DNSKEY. 2003-09-30 06:00:40 +00:00
Mark Andrews acc8b7ac3d 1299. [port] Darwin uses (unsigned long) for size_t. [RT #2590] 2002-05-23 04:32:30 +00:00
Andreas Gustafsson 1f1d36a87b Check return values or cast them to (void), as required by the coding
standards; add exceptions to the coding standards for cases where this is
not desirable
2001-11-30 01:59:49 +00:00
Mark Andrews 6c8abf481d 1138. [func] It is now possible to flush given names from the
cache dns_cache_flushname().
2001-11-27 03:10:32 +00:00
Andreas Gustafsson f3ca27e9fe sizeof style 2001-11-12 19:05:39 +00:00
Mark Andrews 3476dfe9d7 mutex leak 2001-10-23 01:21:44 +00:00
Andreas Gustafsson ce3c351d81 eliminated race condition in water() [RT #1932] 2001-10-23 00:56:33 +00:00
Andreas Gustafsson 86a292d459 added more logging to help track down RT #1912 if not fixed by previous commit 2001-10-18 01:48:35 +00:00
Andreas Gustafsson 937ccb270e The call to incremental_cleaning_action() added to cleaning_timer_action()
in revision 1.40 is clearly incorrect.  If the cleaner is already in the busy state, a call to
incremental_cleaning_action() has already been scheduled as an event, and there is no
need to do an extra call.  Furthermore, the call passed the timer event as an argument
to incremental_cleaning_action(), which would ultimately cause it to be passed
to end_cleanin() and assigned to cleaner->resched_event rather than freed.
This commit may or may not fix RT #1912.
2001-10-18 01:40:56 +00:00
Andreas Gustafsson 5f62432db2 removed extraneous empty line 2001-07-02 20:44:30 +00:00
Mark Andrews dee489d6c1 incremental_cleaning_action() is now re-called as a result of normal event
processing, not as the result of timer action.
2001-06-28 13:51:40 +00:00
David Lawrence 6817b32d2c Revert "incremental cleaning should actually clean" because it already did.
dns_dbiterator_setcleanmode(cleaner->iterator, ISC_TRUE) causes
dns_dbiterator_current() to do node expiry.
2001-06-27 20:18:03 +00:00
Mark Andrews ba94ff2e56 incremental cleaning should actually clean.
end_cleaning wants busy not idle
2001-06-27 14:48:21 +00:00
Andreas Gustafsson d358eea93e megabytes is abbreviated MB, not mb 2001-06-07 18:31:54 +00:00
David Lawrence f991461dc1 The most notable change is that incremental_cleaning_action() will now
wait at least six seconds between each pass of the tree.  This keeps
the CPU from being bogged down in a persistent overlimit condition, and
because it uses timers also lets the cache cleaner know right away when
the server is being shut down, so it can stop trying to clean.

Also fixed an unlocked access to cache->live_tasks in dns_cache_detach().

Also fixed a problem with repeated calls to dns_cache_setcachesize() setting
the database as not overmem, even though it might have still been in
the process of cleaning from a previous limit.  Just set the new
isc_mem_setwater() limits instead and let the mem.c call water() if cleaning
needs to be either started or stopped because of the new limits.

Minor code cleanups.
2001-06-05 22:27:51 +00:00
David Lawrence 92ef1a9b9d use ISC_MAGIC for all magic numbers, for our friends in EBCDIC land 2001-06-04 19:33:39 +00:00
David Lawrence ed8daea264 enforce a minimum cache size of 2mb 2001-05-31 10:53:42 +00:00
David Lawrence f3083bc781 In incremental_cleaning_action(), detach the node returned by
dns_dbiterator_current(). [RT #1007]
2001-04-11 22:15:00 +00:00
Brian Wellington c20ffa38de 808. [func] Add 'rndc flush' to flush the server's cache. 2001-04-11 20:37:50 +00:00
David Lawrence 03609d0b8f Use a cleaning iterator (dns_dbiterator_setcleanmode()).
Reworked some overmem thread handling.
2001-03-08 01:22:48 +00:00
Brian Wellington bd703253b7 oops, a mutex was locked too early. 2001-01-13 00:23:34 +00:00
Brian Wellington f0e246e271 Fully implement the cachefile option, which allows persistent caching. This
removes some unused code in view.c and uncomments some code in cache.c.
This still isn't really usable, since the trust level of cached data is
not persistent, so all data in the persistent cache will be promoted to
"ultimate" trust on reload.
2001-01-12 22:22:17 +00:00