Aaron Son
6f646a7f01
go/store/datas/pull/clone.go: Fix to clone to interact with sql-server remotes better.
...
Before this fix, |dolt clone| against a sql-server remote can fail with a
confusing error message if the sql-server has a chunk journal. Adding the chunk
journal to our destination ChunkStore causes us to update the root hash, which
the Clone code was not expecting.
This change updates the Clone code to look for the possible update to the
destination's root hash and to not try to set the root hash on the ChunkStore
if it has already been done by the code handling the chunk journal.
2023-05-09 15:25:07 -07:00
Aaron Son
6edc6fd54a
go: env/actions: remotes.go: In SyncRoots, if we are syncing to an empty destination repository, use pull.Clone instead of pull.Pull.
...
pull.Clone uses the TableFileStore interface to transit whole table files
without needing to follow chunk references or do any reconciliation with the
destination database regarding what it already has. It is much faster against
every time of remote.
2023-05-02 17:12:03 -07:00
Aaron Son
7406c4658a
go/store/nbs: Fix some quota leaks in conjoin, GC.
...
Adds a paranoid mode where we noisely detect unclosed table files. The mode can
be enabled by setting an environment variable.
Fixes some unit tests, including all of go/store/... to run cleanly under the
paranoid mode.
Changes the quota interface to:
* Release |sz int| bytes instead of requiring a []byte with the correct length
to show up.
* Work with |int| instead of |uint64|, since MaxUint64 is never allocatable and
MaxInt32+z is only allocatable on 64-bit platforms.
* Not return an error on Release(). Implementations should not fail to release
quota.
2023-02-16 16:01:20 -08:00
AndyA
c113089de2
Merge pull request #5282 from dolthub/andy/batch-stack
...
go/store/datas/pull: try to avoid unbounded growth of outstanding abs…
2023-02-02 13:00:12 -08:00
Aaron Son
f41cd010aa
Merge pull request #5270 from dolthub/aaron/online-gc-prune-table-files-change
...
go/store/types: value_store.go: Change GC implementation to call TableFileStore.PruneTableFiles after the copy is complete.
2023-02-02 12:19:05 -08:00
Andy Arthur
7ae021dd6a
go/store/datas/pull: refactored puller code again
2023-02-02 10:22:29 -08:00
Andy Arthur
002641e5ab
go/store/datas/pull: fix bug in visited set update
2023-02-01 17:36:27 -08:00
Andy Arthur
0bd07d8252
go/store/datas/pull: unref visited set in pull earlier
2023-02-01 16:50:21 -08:00
Andy Arthur
83c369e47b
go/store/datas/pull: some renaming in puller
2023-02-01 16:47:30 -08:00
Andy Arthur
d7b58abc8b
go/store/datas/pull: try to avoid unbounded growth of outstanding absent set
2023-02-01 16:45:07 -08:00
Andy Arthur
c782af7a4a
go/store/datas/pull: also reduce nextAbsent footprint
2023-02-01 15:29:16 -08:00
Andy Arthur
1c39fea3c1
go/store/datas/pull: trim memory footprint for puller hash sets
2023-02-01 15:13:01 -08:00
Brian Hendriks
56706c0826
add another layer of batching
2023-01-31 15:51:11 -08:00
Aaron Son
ff63732b49
go/store/types: value_store.go: Change GC implementation to call TableFileStore.PruneTableFiles after the copy is complete.
2023-01-31 15:48:39 -08:00
Taylor Bantle
cee7e15eb7
Remove datas/pull
2023-01-12 10:23:58 -08:00
Taylor Bantle
546cca8f0c
Fix gc unit tests
2023-01-12 09:26:25 -08:00
Taylor Bantle
f7d2a767f9
Use blobstore for MemFactory
2023-01-12 09:26:25 -08:00
Taylor Bantle
3339cf34c2
Remove PutMany
2023-01-12 09:26:02 -08:00
Taylor Bantle
7b759f2c75
More fixes
2023-01-12 09:26:02 -08:00
Taylor Bantle
98b073070c
Fix some test failures
2023-01-12 09:26:02 -08:00
Taylor Bantle
98871db953
First attempt at PutMany
2023-01-12 09:26:02 -08:00
Taylor Bantle
3b06cb373b
Uncomment getAddrs code that breaks tests
2023-01-12 09:26:02 -08:00
Taylor Bantle
18fedd79ad
Add sanity check to Put
...
This reverts commit b1de143a16 .
2023-01-12 09:26:02 -08:00
Aaron Son
d957daf6b6
go/libraries/doltcore/remotestorage: chunk_store: Fix semantics of Rebase and Root. Root stays fixed until a Rebase call.
...
When remotestorage.DoltChunkStore was originally written, it forwarded all
ChunkStore calls to the remotesapi. In reality, a client should expect a
snapshot of the database on open, and the root should only change when Rebase()
or Commit() is called. This fixes up that initial flaw. Rebase() becomes a
refresh of the Root from the gRPC service, and Root() itself is just a read of
the cached root hash.
This reduces unnecessary traffic to the remotestorage service and improves
performance of things like sql-server read replicas.
2023-01-06 16:41:26 -08:00
Taylor Bantle
6b9d2faa73
Move TableFileStore back to nbs
2022-12-30 11:02:16 -08:00
Zach Musgrave
2f187be138
Merge pull request #5005 from dolthub/zachmu/replica-perf
...
Perf improvements for remote read replicas
2022-12-20 09:46:53 -08:00
Taylor Bantle
464a3b7c63
Merge pull request #5012 from dolthub/taylor/table-file-store
...
Move TableFileStore from nbs to chunks
2022-12-20 08:12:06 -08:00
zachmu
ad55526c3a
[ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/update.sh
2022-12-20 01:07:35 +00:00
Zach Musgrave
09ce74d905
Merge aaron changes
2022-12-19 16:46:01 -08:00
Aaron Son
df85ba3cc8
[no-release-notes] go/store/datas/pull: Update Pull interfaces to take a slice of hashes to pull, not just one.
...
This allows client code to be more efficient when it needs to pull multiple
hashes.
2022-12-19 15:21:27 -08:00
Taylor Bantle
b6848b105a
Move TableFileStore from nbs to chunks
2022-12-16 10:56:51 -08:00
zachmu
2dd7624054
[ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/update.sh
2022-12-15 22:46:05 +00:00
Zach Musgrave
52a5163b00
Got rid of no-op pull funcs, more experimental changes
2022-12-12 17:15:52 -08:00
Andy Arthur
97443d8e8c
added pull tests for chunk journal
2022-12-06 15:51:09 -08:00
Taylor Bantle
9becfc9d02
Cleanup
2022-11-21 10:03:33 -08:00
Taylor Bantle
98120eb31d
online prune table files
2022-11-21 10:03:33 -08:00
Dhruv Sringari
69713346eb
if the BPS is less than 1, report 0 ( #4467 )
2022-10-05 14:34:18 -07:00
Aaron Son
e648d9bceb
go/libraries/doltcore/remotestorage: Migrate to backoff/v4, fix some misusage of the backoff API.
2022-09-27 14:45:57 -07:00
Aaron Son
cd971d9a17
go/store/datas/pull: Puller retains byte_sink_ temp file name, instead of flushing file to possibly-conflicting table file name.
2022-08-15 11:47:12 -07:00
coffeegoddd
b68814c796
[ga-format-pr] Run go/utils/repofmt/format_repo.sh and go/Godeps/update.sh
2022-08-05 17:21:26 +00:00
coffeegoddd
60fd6472f8
/go/{store,libraries}: attempt to fix some comments for formatting
2022-08-05 10:20:04 -07:00
Aaron Son
642f2e0ba7
go: More migration away from shim into NodeStore.
2022-07-05 14:16:36 -07:00
Aaron Son
0558d9a99a
go/store/datas: Remove some usage of Format_Default.
2022-05-10 16:20:10 -07:00
Aaron Son
be27368901
go/store/datas: GetCommitValue -> GetCommittedValue.
2022-04-04 13:26:01 -07:00
Aaron Son
a00f430f29
go/store/types: WalkRefsForChunkStore -> WalkAddrsForChunkStore.
2022-04-04 13:14:28 -07:00
Aaron Son
f8ca345ad0
Merge pull request #3123 from dolthub/aaron/pull-stats-rewrite
...
go/store/datas/pull: Use errgroup. Rewrite Stats publishing.
2022-04-04 11:23:30 -07:00
Aaron Son
a94c1421f4
go/store/datas/pull: puller.go: Avoid writing empty table files.
2022-03-31 14:59:08 -07:00
Aaron Son
096269b291
go/store/datas/pull: Remove PullerEvent status updates. Publish pull stats through a Stats struct instead.
2022-03-29 16:37:58 -07:00
Dhruv Sringari
b9f29fd347
Merge pull request #3080 from dolthub/dhruv/memory-quota
...
go/libraries/doltcore/dbfactory: Thread memory quota provider through store layer to onHeapTableIndex
2022-03-29 13:28:25 -07:00
Aaron Son
e0abfac106
go/store/datas/pull: Iterate on new stats.
2022-03-29 12:25:45 -07:00