summaryrefslogtreecommitdiff
path: root/src/conn/conn_ckpt.c
Commit message (Collapse)AuthorAgeFilesLines
* WT-2831 Skip checkpointing if there have been no modifications (#3067)Sulabh Mahajan2016-10-061-16/+30
| | | This saves locking and scanning the list of active handles for read-only workloads, which can be time consuming when there are many tables.
* WT-2885 __wt_checkpoint_signal lint (#3015)Keith Bostic2016-09-021-5/+3
| | | | | | __wt_checkpoint_signal doesn't return anything, switch from the function type int to void WT_CONNECTION_IMPL.ckpt_signalled is a boolean, retype it.
* WT-2822 panic mutex and other functions that cannot fail (#2952)Keith Bostic2016-08-161-5/+4
| | | | | | | | | | * The pthread mutex implementation of spinlocks lock/unlock functions didn't check the underlying pthread_mutex functions for failure. Panic if pthreads fails. * Change condition mutex functions to not return errors. * Change __wt_verbose() to not return errors. * Make a final panic check before writing anything.
* WT-2827 Set a reasonable minimum for log_size. (#2946)sueloverso2016-08-151-0/+9
|
* WT-2738 Remove the ability to change the default checkpoint name (#2877)Keith Bostic2016-07-151-29/+4
| | | We used to provide the ability to specify a custom checkpoint name that the checkpoint server would use. That feature increased code complexity and led to inconsistent checkpoint behavior.
* WT-2711 Change statistics log configuration options (#2834)Keith Bostic2016-07-081-24/+32
| | | | | | | | | No longer support setting the statistics_log path in WT_CONNECTION::reconfigure. No longer support setting a custom name for statistics files, only allow a destination directory. Be more explicit about which logging configuration options are allowed in WT_CONNECTION::reconfigure. The aim of these changes is to avoid situations where applications that embed WiredTiger allow their users to overwrite unexpected files on a file system. This potentially requires an upgrade step for applications that were specifying a non-standard file name component for statistics log file names, it's not backward compatible.
* Upgrade copyright notices from 2015 to 2016.Keith Bostic2016-01-011-1/+1
|
* WT-2220 Create WT_TIMEDIFF_US and fix use of constants.Susan LoVerso2015-11-171-1/+1
|
* WT-2178 review feedback:Alex Gorrod2015-10-291-0/+11
| | | | | | Split the configuration checking for in memory across subsystems. Other general flag usage cleanup. Update some comments to make the functionality more obvious.
* WT-2149: open private lookaside cursors as part of creating an internalKeith Bostic2015-09-301-5/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | thread's session, in order to avoid deadlocks later. Change callers of __wt_open_internal_session() to pass a set of session flags. If those flags include WT_SESSION_LOOKASIDE_CURSOR, a lookaside table cursor is opened as part of creating the session. Previously, __wt_open_internal_session() had a uses_dhandles boolean. If that boolean was false, the session flag WT_SESSION_NO_DATA_HANDLES was set. That boolean is gone, callers of __wt_open_internal_session() should pass WT_SESSION_NO_DATA_HANDLES to __wt_open_internal_session(). Create the lookaside table before starting the worker threads, the order is required if lookaside table cursors are opened as part of the worker threads opening internal sessions. Flip the order of creation in the initial lookaside table setup: we now first create the lookaside table itself, then open the WT_CONNECTION_IMPL lookaside session/cursor, that allows the cursor open to happen when the connection's lookaside table session is first opened, like every other internal thread. Re-organize the lookaside table code to expect a lookaside table cursor to be available in any session with the WT_SESSION_LOOKASIDE_CURSOR flag, including the WT_CONNECTION_IMPL structure's lookaside session.
* Boolean conversion pass over include.Keith Bostic2015-09-271-3/+3
|
* Run a script looking for boolean declarations that are assigned to aKeith Bostic2015-09-241-1/+1
| | | | constant.
* Boolean conversion pass over session.Keith Bostic2015-09-241-1/+1
|
* Boolean conversion pass over os_posix.Keith Bostic2015-09-241-2/+2
|
* Boolean conversion pass through block, conn and evict.Keith Bostic2015-09-231-4/+4
|
* Use beginthreadex, and ensure we use the correct C calling conventions in ↵Mark Benvenuto2015-03-251-2/+2
| | | | all callbacks
* More lint/changes for #1740, switch WT_CONNECTION.stat_usecs,Keith Bostic2015-03-101-1/+1
| | | | | WT_CONNECTION.ckpt_usecs, WT_LSM_TREE.ckpt_throttle and WT_LSM_TREE.merge_throttle from type "long" to "uint64_t".
* Move server thread waits to the beginning of their loops: check that we're ↵Michael Cahill2015-02-121-8/+8
| | | | still running before waiting. This makes more sense to me, but also fixes a problem introduced recently where the checkpoint server could hang on shutdown if the signal from the closing thread got lost.
* The checkpoint server should do a tiny wait to clear any pending signal, not ↵Michael Cahill2015-02-111-4/+6
| | | | | | an open-ended wait. refs #1668
* If logs crossed the threshold size while we were taking a checkpoint, don'tMichael Cahill2015-02-111-0/+7
| | | | take another one immediately.
* Cache a maximum of 2MB per session for scratch buffers (configurable via an ↵Michael Cahill2015-01-051-1/+1
| | | | | | undocumented "session_scratch_max" config). SERVER-16623
* Copyright notices: add MongoDB, update to 2015.Keith Bostic2015-01-041-0/+1
|
* Make pre-alloc a boolean and convert connection log settings to flags.Susan LoVerso2014-12-021-1/+2
|
* If a server thread exits with an error, panic.Keith Bostic2014-11-071-1/+1
| | | | Reference #1355.
* Introduce a new type to replace off_t called wt_off_t since off_t is 32-bits ↵Mark Benvenuto2014-10-021-2/+2
| | | | on Windows regardless of target architecture
* Review where we're passing WT_CONNECTION_IMPL instead of WT_SESSION_IMPL,Keith Bostic2014-09-121-4/+4
| | | | | | and for that reason directly accessing WT_CONNECTION_IMPL.default_session, prefer passing the session handle instead of the connection handle where that makes sense.
* Fix some places we were passing the WT_CONNECTION_IMPL to underlying routines,Keith Bostic2014-09-101-2/+4
| | | | | | that means they have to directly grab WT_CONNECTION_IMPL.default_sesion which isn't good. Pass the WT_SESSION_IMPL instead, then functions do S2C() like the rest of the code. Not "right", but "better".
* Don't check for a checkpoint name match if none was specified (yeah,Keith Bostic2014-09-091-8/+16
| | | | | | | | | | | it works, but it's not a reasonable check). Don't let the application specify an illegal checkpoint name, it's going to fail eventually. Don't roll our own __wt_buf_fmt() call, it's just wasted effort. Don't leak memory if the checkpoint server's name is reconfigured.
* Remove uses of WT_ERR_TIMEDOUT_OK. __wt_cond_wait already takes care ofSusan LoVerso2014-09-031-1/+1
| | | | that return and a few other similar values.
* Refactor to remove layering violations. #1170Susan LoVerso2014-08-211-1/+22
|
* Add log_size configuration for checkpoints. #1170Susan LoVerso2014-08-201-5/+17
|
* A couple of simple cleanups:Keith Bostic2014-08-131-4/+3
| | | | | | | | | | Allocate session handles directly into the structure memory we'll check to decide if they need to be closed, that way if the called function messes up, we still clean up. Use the allocated session handle instead of the default session handle when creating on the internal servers, that way we'll get better error messages if something goes wrong.
* Add a new per-session flag, WT_SESSION_CAN_WAIT, and only use sessionsKeith Bostic2014-08-131-0/+6
| | | | | | | | | | | | with that flag, and which are not holding the schema or lsm-tree locks, are used by the to make block-manager fsync calls based on os_cache_dirty configurations. Sessions that take the flag: application checkpoint, checkpoint server, eviction workers (and eviction primary if there are no eviction workers) and handle sweep server. Reference #1152.
* Mark some internal sessions as not allowed to open data handles. Use this ↵Michael Cahill2014-08-011-1/+1
| | | | to ensure that we can safely keep some sessions open after all data handles are closed. Switch LSM to use the new __wt_open_internal_session call.
* Create a new routine that creates internal sessions (the old "internal"Keith Bostic2014-07-301-2/+2
| | | | | | | | | flag to the general-purpose session creation function), add optional code to acquire a reference to the metadata file. Some minor cleanups, setting the internal session's name in a few places. Reference #1073.
* Update checkpoint server reconfigure to match stat log semantics.Alex Gorrod2014-05-091-61/+11
|
* Add ability to reconfigure the checkpoint serverAlex Gorrod2014-05-071-15/+98
|
* Update copyright notices for 2014.Keith Bostic2014-01-071-1/+1
| | | | Move lang/java and lang/python into the public domain.
* The checkpoint thread gets the current time-of-day, but does nothingKeith Bostic2013-11-291-4/+0
| | | | with it -- remove the retrieval.
* Don't use condition variables in log code when no-sync is configured.Alex Gorrod2013-11-141-1/+1
| | | | Also add some statistics to the log slot code.
* Create a Python pass for source code style checking (to eventually replace ↵Michael Cahill2013-11-051-2/+2
| | | | s_style).
* Only free the hazard array during connection close.Michael Cahill2013-10-171-2/+1
| | | | We saw a case where session->hazard was NULL, so I'm hoping that avoiding any frees during runtime might help.
* Don't start the worker threads until everything else is done: it'sKeith Bostic2013-08-141-7/+0
| | | | | simpler, and we can remove the worker thread code to keep the worker threads from racing with connection initialization. Ref #619.
* Normalize loops in server threads that wait for wiredtiger_open to complete ↵Michael Cahill2013-06-211-1/+1
| | | | (wait for 1ms, it shouldn't take long, and any longer slows down fast open/close pairs such as the test suite).
* Add a condition variable to signal when LSM checkpoints should start, rather ↵Michael Cahill2013-03-201-2/+1
| | | | than sleeping for a fixed amount of time. While in this code, cleanup places that set session->btree in order to make a function call.
* Close the checkpoint and statistics logging server thread's sessionsKeith Bostic2013-02-281-0/+8
| | | | and free their hazard arrays.
* Create a thread to do automatic checkpoints.Keith Bostic2013-02-231-0/+152