* save version with defaultConfig in session -- todo remove and make PersistedSession
* add PersistedSession, and DoltSession interface to switch
* fmt
* fixup test for persistedSession
* PersistedSession progress, interfaces and enginetests
* All DsessFromSess references fixed
* delete unnuecessary lines
* Comments for dolt session
* Dolt session tests
* save bats progress
* formatting
* GMS version
* Bump GMS version
* add license header
* fix multi-db errors
* try copyright again
* make test deterministic
* higher connection timeout default
* sever config ordering
* PR fixes
* PR fixes
* config rewrite progress
* server config refactor
* PR cleanup
* delete lines
* add go tests, refactor persistent global initialization
* PR fixes
* delete more lines
* small PR cleanup
* try to fix data race
* better constructor names
* zach don't like --server flag
* edge cases around disabling replication
* missed line in merge
* Skip two tests i fixed in follow-on PR
* merge two config prs
* fix nondeterministic bats
* zach's comments
* bump bats sql-shell expect timeout
* GMS and integrator race to access system vars; need to decide whether to force integrator to initialize, or make GMS init private; leaving in GMS for now
* small push on write perf benchmark with no prog channel
* remove unused prog funcs
* remove unused prog funcs
* fix bench name
* [ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/update.sh
Co-authored-by: max-hoffman <max-hoffman@users.noreply.github.com>
The way the SQL layer issues UPDATE statements to the storage layer, combined
with the change which introduced table_edit_accumulator meant that a Map Delete
followed by a Map Insert at certain batch sizes were being sent to an edit
accumulator and then fetched back out of it. When those come back from the edit
accumulator, they need to come back in stable order, so that the update doesn't
turn into a set followed by a delete instead.
AsyncSortedEdits did not currently make attempts to keep these edits in stable
order. In some places it's explicitly backwards (sorted_edit_itr for example).
This fixes it so that it is always stable.
Potentially regresses a memory utilization and sort size smoothing optimization
based around pairing small buffers with large buffers early in the process.
Also includes a fix to table_edit_accumulator to correctly order its
currently-in-progress commited edit provider when it is doing its stable merge.