Commit graph

7413 commits

Author SHA1 Message Date
Kuba Podgórski
a1e7755fe7
Merge branch 'master' into fix-file-backup 2021-05-24 18:29:44 +02:00
tgruben
576c2d9efc
Merge pull request #1606 from tgruben/restore-fix
Restore arg handling bug
2021-05-24 11:19:33 -05:00
Todd Gruben
94e66b74b5 tls config bug and arge handling 2021-05-24 11:00:37 -05:00
Kuba Podgórski
be06340869
Merge branch 'master' into fix-file-backup 2021-05-24 16:21:56 +02:00
tgruben
89bf845192
Merge pull request #1600 from tgruben/restore
[ CORE-525] Restore
2021-05-24 09:15:10 -05:00
tgruben
5be61772f0
Merge branch 'master' into restore 2021-05-24 08:51:32 -05:00
Ben Johnson
9cb7c2be6c
Merge pull request #1603 from molecula/fix-bench-filename
Fix benchmark file naming
2021-05-24 07:50:53 -06:00
Todd Gruben
69fda13ff4 cleanup arg processing 2021-05-24 08:48:32 -05:00
Ben Johnson
34bd5c9fa2
Merge branch 'master' into fix-bench-filename 2021-05-24 07:11:17 -06:00
Kuba Podgórski
935edba1db Fix backup to a file 2021-05-24 10:36:58 +02:00
tgruben
b5613a6c33
Merge branch 'master' into restore 2021-05-23 21:18:34 -05:00
Todd Gruben
ff86f82ef2 applied ben's suggestions 2021-05-23 10:27:50 -05:00
Alan Bernstein
9992cb886a
Merge pull request #1599 from alanbernstein/merge-lattice-take2
CLOUD-65 Merge lattice take2
2021-05-21 21:04:54 -05:00
Ben Johnson
69e15525d8 Fix benchmark file naming 2021-05-21 14:51:08 -06:00
Alan Bernstein
e4a8293c0e Update lattice makefile to reflect new structure 2021-05-21 14:56:55 -05:00
Alan Bernstein
4aaf3e2fc2 Copy lattice repo @8c29787 into subdirectory lattice/ 2021-05-21 14:56:55 -05:00
Alan Bernstein
4a00bd9d6e Remove lattice submodule steps from pilosa makefile 2021-05-21 14:56:55 -05:00
Alan Bernstein
89891174b6 Add job skipping step to CI jobs 2021-05-21 14:56:55 -05:00
Alan Bernstein
9ea12803a2 Remove lattice submodule 2021-05-21 14:56:55 -05:00
Todd Gruben
05fea53f73 linter 2021-05-21 09:27:53 -05:00
Todd Gruben
3d577d762a cleanup 2021-05-21 09:27:08 -05:00
Todd Gruben
35f4c33de9 first cache rebuild was ineffective 2021-05-21 09:27:08 -05:00
Todd Gruben
7520e0ef28 rebuild rank caches on restore 2021-05-21 09:27:08 -05:00
Todd Gruben
b25ad81e67 restore without restart 2021-05-21 09:27:08 -05:00
Todd Gruben
cc0c1b829a restore idalloc 2021-05-21 09:27:08 -05:00
Todd Gruben
a1a9103f62 restore column translate keys 2021-05-21 09:27:08 -05:00
Todd Gruben
329f86033d restore field translate keys 2021-05-21 09:27:08 -05:00
Todd Gruben
69245ee209 shard import 2021-05-21 09:27:08 -05:00
Todd Gruben
42b465b80c load schema 2021-05-21 09:27:08 -05:00
Todd Gruben
9d24fb07b7 wired in restore command 2021-05-21 09:27:08 -05:00
Todd Gruben
169dc30d62 api compiles 2021-05-21 09:27:08 -05:00
Todd Gruben
7c6423587a skeleton restore 2021-05-21 09:27:08 -05:00
seebs
b784dd88d9
Merge pull request #1602 from seebs/addgo116
add go 1.16.3 to circleci
2021-05-20 18:43:04 -05:00
Seebs
ac5964480b add go 1.16.3 to circleci
Since we're starting to use this more, add it to the matrix. We should
probably make it our default later, but for now let's just start testing
it.
2021-05-20 17:25:07 -05:00
seebs
2f95bd2de8
Merge pull request #1593 from seebs/getTx
write operations can cause deadlocks in GetTx
2021-05-20 17:09:08 -05:00
Seebs
1c7a6da37b write operations can cause deadlocks in GetTx
The GetTx logic is deeply broken, this DOES NOT fix the underlying
bug.

When any call anywhere in a given set of calls has a top-level write,
we perform all transactions as write transactions, and we do not cache or
share those transactions. This means that anything which causes a
second GetTx for the same index/shard deadlocks against itself.

The two easy to find cases by casual inspection are time quantums
and Not queries, so this addresses those, but this should NOT be
considered a general fix.
2021-05-20 16:41:38 -05:00
seebs
479d668045
Merge pull request #1601 from seebs/noTxBitmap
drop unused TxBitmap
2021-05-20 16:41:18 -05:00
Seebs
7cf0ea452a drop unused TxBitmap
TxBitmap was a workaround for performance problems with doing
individual-bit operations directly on RBF, used only in the
large-writes path of importValue. With importValue no longer
using that path, ever, there are zero remaining users of TxBitmap,
and the test for it no longer exercises it.

Solution: Remove it.
2021-05-20 16:28:19 -05:00
seebs
a46e14ef22
Merge pull request #1598 from seebs/importSpeedups
improve performance of importValue in most cases, switching to consistently use importPositions.
2021-05-20 16:26:38 -05:00
seebs
45255d050f
Merge branch 'master' into importSpeedups 2021-05-20 15:42:11 -05:00
Ben Johnson
4ea655a707
Merge pull request #1596 from molecula/cluster-backup
[CORE-501] Add support for clustered backups
2021-05-20 14:32:23 -06:00
Ben Johnson
94d45a36ed
Merge branch 'master' into cluster-backup 2021-05-20 14:10:27 -06:00
Seebs
4bad5defb6 sort import values stably without using sort.Stable
sort.Stable has horrible runtime -- O(n*logn*logn) -- but if we
don't use sort.Stable, our logic for ensuring that we apply the
"last" value for a given column is actually completely wrong in
the first place.
2021-05-20 12:39:27 -05:00
Seebs
7572acb450 drop "another shard" test as it's probably not valid
We've got a fairly consistent thing of the API splitting data up
into shards before sending it to a field, which it has to do because
of clustering, so we don't intend to support the case where you
have data from another shard in a data set.

Also drop the identical but mislabeled test from TestIntField's
corresponding case.
2021-05-20 12:39:27 -05:00
Seebs
aa4a23b2d9 generate sorted positions from bulkImportStandard
Ensure that positions are sorted, and that we don't generate the same
position more than once.
2021-05-20 12:39:27 -05:00
Seebs
7c4b91eef0 simplify field ImportValue
There's only ever one view in importValue, but there's also only ever
one shard, because importValue is only called by things called from
the API after it has split everything up by shard.
2021-05-20 12:39:27 -05:00
Seebs
d2b925d296 make importValueSmallWrite faster and also the only path
Since we don't always have "snapshots" anymore, the arguable benefit of
avoiding the snapshot is reduced, and the primary expense of
importPositions has been dramatically reduced as well, so let's
just use that all the time, and simplify life.

We also want to make it faster. We don't know how many bits there
are to set or clear in the input set, but we do know exactly how
many bits there are to set AND clear. We can subdivide these into
batches by rows, then process each batch by storing sets at the
bottom and clears at the top. We can also do batches by columns,
reducing the memory overhead of unpacking all the bits at once.

(For extra credit, we could alternate set/clear settings, and
thus do batches of "the clears from row 0, followed by the clears
from row 1" and "the sets from row 1, followed by the sets from
row 2", and so on, but this is too fancy.)

Every caller of importValue is in fact already providing values
with column IDs sorted. As such, we don't need a map for checking
the previously-set columns; we just need to check against the
previous value.
2021-05-20 12:39:27 -05:00
Maxton Huff
741dd2d1ca
Merge pull request #1590 from Maxtonian/longmessage
[CORE-279] Bad query parameters gives error with super long list of shards
2021-05-20 10:40:12 -05:00
Maxton Huff
d9d360aa4d
Merge branch 'master' into longmessage 2021-05-20 10:17:04 -05:00
Maxton Huff
e646d7ac79 wrap mapper error with shards by node 2021-05-20 09:55:42 -05:00