| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
With this option, the command line combination "-FS -R 0 -W 10" will
trigger the checkpoint problem where closing a file fails because there
is an update for the file we can't write.
Reference #844, #957.
|
|
|
|
|
|
| |
could leave the metadata inconsistent.
refs #976
|
|
|
|
|
|
| |
that we haven't raced.
refs #1016
|
|\
| |
| | |
Handle raw compression giving up.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
original data as a single page.
Don't accumulate more data unless the raw compression function requests
it (by returning EAGAIN), or if we're stuck because the raw compression
function consumed all of the data and there's more data so we may need
a key for the next block.
Reference #1007, #1008.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
| |
without async enabled. Add python test case. #1014
|
|\
| |
| | |
Async java
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Cache field ids and method ids for all async operations. Invalidate
unpackers by setting fields, rather than calling a method to do it.
Use javaClose to invalidate the swigCptr for a AsyncOp at the end of
the callback. Any use of an AsyncOp after its lifetime has ended will
give a NullPointerException.
Declare that new_async_op throws WiredTigerException, which happens
when there are no more slots available.
Added a test with a million items that typically does no pauses when
creating ops, but catches WiredTigerException and retries with a short
sleep.
|
| |
| |
| |
| | |
Name async_new_op async_flush using underscore (not camelcase) convention.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Created a real async handler for java allowing callbacks
into java code. Code to be registered must implement the
new AsyncCallback interface.
- Renamed classes/methods to Java-ish names.
- Fixes to support 'this' removal for AsyncOp.
- Java's cursor ops, like 'insert' set up the value unpackers
after insert completes. For AsyncOp, we take a different
approach, and invalidate the unpacker when the op completes,
letting the value be fetched when needed.
- Added new test AsyncTest that tests doing different numbers of
async ops with different parameters, and also with different types
of keys/values.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
restored from the backup is the right one to use.
Also fix a long-standing performance issue in recovery: we always have a checkpoint LSN in the turtle file for the metadata: use that rather than scanning the whole log for metadata updates.
Lastly, this change means hot backup no longer has to copy files in any particular order.
refs #972, #976.
|
| |
| |
| |
| |
| |
| | |
24 bytes instead of 12.
refs #1007
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
be checking the target allocation size. If compression succeeds, but
it doesn't gain us at least an allocation unit, don't compress the data.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
additional buffer memory so no progress can be made (in other words, a Z_OK
return from deflate means compression wasn't successful).
|
| |
| |
| |
| |
| |
| | |
compression: one version of this code reserved a byte to figure out
whether there were multiple blocks to inflate, but that isn't necessary
for zlib.
|
| | |
|
|\ \
| |/
|/| |
Stat log reconfig
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
buffer, deflateEnd will return Z_BUF_ERROR:
From the docs (http://www.zlib.net/manual.html):
deflate() returns Z_OK if some progress has been made (more input
processed or more output produced), Z_STREAM_END if all input has been
consumed and all output has been produced (only when flush is set to
Z_FINISH), Z_STREAM_ERROR if the stream state was inconsistent (for
example if next_in or next_out was NULL), Z_BUF_ERROR if no progress is
possible (for example avail_in or avail_out was zero). Note that
Z_BUF_ERROR is not fatal, and deflate() can be called again with more
input and more output space to continue compressing.
Also, I don't think there's any reason to loop around deflate calls when
Z_FINISH is specified, I think deflate will return Z_OK the first time
it's called, then return Z_BUF_ERROR the second time it's called, because
no progress is possible. From the docs:
If the parameter flush is set to Z_FINISH, pending input is
processed, pending output is flushed and deflate returns with
Z_STREAM_END if there was enough output space; if deflate returns with
Z_OK, this function must be called again with Z_FINISH and more output
space (updated avail_out) but no more input data, until it returns with
Z_STREAM_END or an error. After deflate has returned Z_STREAM_END, the
only possible operations on the stream are deflateReset or deflateEnd.
Reference #1005.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
bunch of function header comments.
Change the compression source files to all have roughly identical
patterns.
|
| | |
|
| | |
|
| |
| |
| |
| | |
scratch buffers until we have a real session.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
contain changes that need to be included.
Before the checkpoint pass, we have written every dirty leaf page at read-committed isolation. So the only pages that checkpoint has to write are internal pages, or leaf pages that were dirtied after the "write leaves" phase but before the checkpoint transaction started. Now that we separate out the allocation of a transaction ID from setting up a snapshot, we can distinguish between update transactions and the transaction we're using for the checkpoint.
refs #954, #963, #1001
|
|/ |
|
|
|
|
| |
make the test slow, particularly with valgrind.
|
|\ |
|
| | |
|
|\ \
| |/
| | |
Row skip append check
|
| |
| |
| |
| |
| |
| |
| | |
importantly, don't clear the "appending" flag for a read operation.
This makes no difference in terms of performance, but means we don't
let read operations interfere with our understanding of an appending
workload.
|
| | |
|