| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Statistics for these are a bit different than for a data source or a
connection:
1) The statistics are simple (currently only 3), but range over sets of
indices, so traversing the stats is a two level operation. Added a private
callback API to advance to the next index when the stats have been
exhausted.
2) cursors are used as single threaded operations, so arrays of stats is to
avoid thread conflicts is not needed.
Minor change: the stats_desc callback changed to return an int, and added
an arg to provide some context. In the join cursor case, the returned desc
is not a static string, it needs to be created and managed.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- "join:" URI handling added to WT_SESSION::open_cursor, added WT_SESSION::join.
- Added support for in-memory bloom filters.
- Minor fix to cur_dump_close CURSOR_API_CALL.
- Some refactoring in __wt_{curindex,curtable}_get_value() to allow them
to be called internally.
- Use new macro JOINABLE_CURSOR_API_CALL() instead of CURSOR_API_CALL()
to trap illegal calls to joined cursor.
- __wt_curtable_open now takes an owning cursor arg.
- Added __wt_struct_unpack_size() and __wt_struct_repack()
|
|
|
|
|
| |
That is a simple ticket based lock implementation. Switch the page
lock from a read/write lock to a fair lock.
|
| |
|
|
|
|
|
| |
of skipped WT_UPDATEs, it's also a list of WT_UPDATEs that will be written
into the lookaside table.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
dist/s_define.list
src/include/log.h
src/include/stat.h
src/include/wiredtiger.in
src/log/log_slot.c
src/support/stat.c
|
| | |
|
| | |
|
| |\
| | |
| | | |
SERVER-19989 Add a write barrier before handles become public
|
| | |
| | |
| | |
| | | |
a partially-built structure onto a list.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of using per-thread arrays of counters (see #2102), use arrays
of statistics structures. I started with the scalable_stats branch, so
this incorporates most of the commits on that branch, but the diff is
against the develop branch to make it easier to review.
Specifically, this includes a9675d0:
There are only 3 statistics we maintain atomically: the count
of open cursors and the split-stash bytes and object counts.
Move them to WT_CONNECTION_IMPL fields, and copy them into the
statistics on demand, this allows us to remove support for
atomically maintaining statistics values.
And 6bda287:
Get rid of the WT_CONN_{STAT,STAT_GET,STAT_SET} macros, instead
maintain a few additional fields in the WT_CONNECTION_IMPL
structure (checkpoint min/max, recent and total time).
And 7590930:
Use a prime number of buckets rather than assuming a good hash
(Reference Sedgewick, Algorithms in C, "Hash Functions").
And 63a2082:
I'm seeing a roughly 20% advantage of using a loop to clear the
stats values, vs. a memset to clear the whole padded chunk, and
I'd rather err on the side of writing fewer cache lines, anyway.
Additionally:
Now we have arrays of statistics structures, separate out each statistic
value's description into a separate array, a struct of strings. We could
access it directly, and maybe should, but I'm using a function all at
the moment.
Now the statistic's descriptions are separate from the statistics values,
we no longer need macros to access the fields, in general we can simply
use the stat structure reference and the field name and set the int64_t
directly. This includes removal of the WT_STATS typedef.
Change the LSM code to not maintain a local data-source statistics
structure in each LSM-tree structure -- that allows us to remove all of
the macros to update a single stats structure, and I don't think it
complicates things that much. The changes to the LSM statistics code
should be closely reviewed.
|
|/
|
|
| |
that we are not reading the data location twice.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
dist/api_data.py
src/config/config_def.c
src/include/config.h
src/txn/txn.c
|
| |\
| | |
| | |
| | |
| | | |
Conflicts:
src/config/config_def.c
|
| | |
| | |
| | |
| | |
| | | |
Initialize MSVC spinlocks, don't destroy spinlocks that were never
initialized.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
customize is only called when there is a new unique encryptor.
Renamed password to be secretkey in API, improved API doc.
Fixed multi-tenant encrypt example accordingly: tenants are
declared via keyid, and there only needs to be one encryptor added.
Refs #1822.
|
| |\ \
| | |/
| | |
| | |
| | | |
Conflicts:
src/log/log.c
|
| |\ \ |
|
| | | | |
|
|\ \ \ \
| | |_|/
| |/| |
| | | |
| | | | |
Conflicts:
src/config/config_def.c
|
| | |/
| |/|
| | |
| | | |
"np" stands for "non-portable"); remove optional include of pthread_np.h.
|
| |/ |
|
|/
|
|
| |
implementation is mainly intended to flesh out the API. It won't cope well with very large numbers of active snapshots, ignores some misuses of the interface and doesn't deal at all with the problem of converting snapshots to on-disk checkpoints.
|
| |
|
|
|
|
|
|
| |
that requires an ID or snapshot.
refs SERVER-16790
|
| |
|
|\
| |
| |
| |
| | |
Conflicts:
src/txn/txn_recover.c
|
| |\
| | |
| | | |
Introduce new typedefs for pthread typedefs in platform agnostic code
|
| | | |
|
|\ \ \
| |/ / |
|
| |/
| |
| |
| | |
Added windows_shim to emulate most functions
|
|\ \
| |/ |
|
| | |
|
| |
| |
| |
| | |
FAllocate & FTruncate fixes
|
| |
| |
| |
| | |
get Windows #defines in early.
|
| | |
|
| | |
|
|/
|
|
|
|
| |
generating plans and key formats between index creation and open.
refs #1199
|
|
|
|
|
|
| |
Break hardware.h up into gcc.h and lint.h (hardware.h is still there,
but it's mostly empty).
Remove need for gcc.h from various benchmarking/test programs.
|
|
|
|
| |
need to do it anyway.
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
dist/api_data.py
src/config/config_def.c
src/docs/upgrading.dox
src/include/flags.h
src/include/wiredtiger.in
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/btree/bt_evict.c
src/conn/conn_cache.c
src/include/cache.h
|
| | |
| | |
| | |
| | | |
Refs #1116
|
|\ \ \
| | |/
| |/|
| | |
| | | |
There are a bunch of manual merges in here - don't skip this commit if
looking for oddities.
|
| |/ |
|
|/
|
|
| |
[#1113]
|
|
|
|
| |
refs #1082
|