| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
| |
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_checkpoint_signal doesn't return anything, switch from the function
type int to void
WT_CONNECTION_IMPL.ckpt_signalled is a boolean, retype it.
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
| |
Split the configuration checking for in memory across subsystems.
Other general flag usage cleanup.
Update some comments to make the functionality more obvious.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
constant.
|
| |
|
| |
|
| |
|
|
|
|
| |
all callbacks
|
|
|
|
|
| |
WT_CONNECTION.ckpt_usecs, WT_LSM_TREE.ckpt_throttle and
WT_LSM_TREE.merge_throttle from type "long" to "uint64_t".
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
an open-ended wait.
refs #1668
|
|
|
|
| |
take another one immediately.
|
|
|
|
|
|
| |
undocumented "session_scratch_max" config).
SERVER-16623
|
| |
|
| |
|
|
|
|
| |
Reference #1355.
|
|
|
|
| |
on Windows regardless of target architecture
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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".
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
that return and a few other similar values.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
Move lang/java and lang/python into the public domain.
|
|
|
|
| |
with it -- remove the retrieval.
|
|
|
|
| |
Also add some statistics to the log slot code.
|
|
|
|
| |
s_style).
|
|
|
|
| |
We saw a case where session->hazard was NULL, so I'm hoping that avoiding any frees during runtime might help.
|
|
|
|
|
| |
simpler, and we can remove the worker thread code to keep the worker
threads from racing with connection initialization. Ref #619.
|
|
|
|
| |
(wait for 1ms, it shouldn't take long, and any longer slows down fast open/close pairs such as the test suite).
|
|
|
|
| |
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.
|
|
|
|
| |
and free their hazard arrays.
|
|
|