Commit graph

9138 commits

Author SHA1 Message Date
Ben Johnson
331bf5567b
Merge branch 'master' into sup-193 2022-03-24 10:58:11 -06:00
Samir Patel
4843030a8b
Merge pull request #1992 from molecula/fb-1274
[FB-1274] Allow empty values to be provided for vars in Row call
2022-03-24 12:20:48 -04:00
Samir Patel
8da946fe9b allow empty values to be provided for vars in Row call
queries can become arbitrarily long when variables are used.
This is especially the case when a variable is defined as
'select distinct field from table'
and a user wants to use all the values in a Row call
(which is effectively disabling any condition on the field).

This change allows users to select no values for a variable
associated with a Row call to disable the condition. If that
variable is the only condition (query expands to nothing)
then it interprets it as an All call.
2022-03-24 10:45:30 -05:00
Ben Johnson
52ab38d50d Clear page from RBF dirty cache on free. 2022-03-24 09:12:15 -06:00
reesporte
29754b53b6
Merge pull request #1991 from molecula/authclustertest-fix
use the env var for project
2022-03-24 09:35:20 -05:00
reesporte
e4e24baa43 use the env var for project 2022-03-23 08:55:23 -05:00
rachithrr
1230e4127c
Merge pull request #1990 from molecula/FB-1281
FB-1281: FeatureBase crashes when Row call with "==" in Delete
2022-03-21 16:49:09 -05:00
rachithrr
cc4dcce181
Merge branch 'master' into FB-1281 2022-03-21 15:48:16 -05:00
rachithrr
d7c561aa7d FB-1281: FeatureBase crashes when Row call with "==" in Delete
- the EQ goes through HasConditionArg(), but the error wasn't caught
in the case of Delete.
2022-03-21 15:40:39 -05:00
seebs
bac3360fa3
Merge pull request #1989 from molecula/fb1266
[FB-1266] prevent concurrent map writes in openField
2022-03-21 15:10:32 -05:00
Seebs
70760b187f prevent concurrent map writes in openField
Prior to this, we locked the index-wide i.mu around writes to i.fields.
But now the entire open process is holding that lock, so we couldn't
lock it here (that'd deadlock) and didn't think we needed to (because
it was held). But in fact that means that multiple fields being opened
at once can concurrently write to the map. Conveniently, we *already*
pass a shared mutex into openField() to prevent exactly this sort of
problem; we just need to actually use it when doing the write.
2022-03-21 14:34:39 -05:00
Kasey C. Rodgers
a9b56b055e
Merge pull request #1988 from molecula/fb-1277-go1.17.8
build with Go 1.17.8 to avoid vulnerability in 1.17.7
2022-03-21 12:32:17 -07:00
Matthew Jaffee
3c98f1dfb1 build with Go 1.17.8 to avoid vulnerability in 1.17.7 2022-03-21 13:53:00 -05:00
seebs
7f19c5cec7
Merge pull request #1985 from molecula/fb1266
[FB-1266] track closing status for index/field/view, shut down cache flush early
2022-03-21 12:23:44 -05:00
Seebs
32fec70816 track closing status for index/field/view, shut down cache flush early
This is a lot more complex than it sounds like it will be.

We shut down the cache flush when a holder is closed, but if you're
deleting an index, we don't check for that, and can have a cache flush
still creating cache files in an index which could conceivably result
in os.RemoteAll() failing. This shouldn't happen often, but it's happened
at least once.

To address this, first, we make sure that every tier of this operation
bails as quickly as it can after the thing it's working on closes. Second,
we retry RemoveAll.

Unfortunately, some things get reopened, so we have to handle that,
have mutexes covering the access to the channel, and so on. Also, some
things were getting double-closed, which was previously harmless but
could now fail. So, first, catch all the existing double-closes and
remove them, second, make the double-close fail with an error. Note
that virtually none of the tests check for errors on close.

This passes tests and should be unable to hit the original problem.
Unfortunately, it's unreasonably hard to check that, because it
requires an incredible coincidence of timing on the delete aligning
with a cache flush.
2022-03-18 14:41:44 -05:00
seebs
f7820e45f9
Merge pull request #1986 from molecula/fb1272
[FB-1272] listen on localhost:0 instead of :0
2022-03-18 14:40:59 -05:00
Seebs
a6aa1097f1 listen on localhost:0 instead of :0
MacOS's firewall complains about a previously unknown app trying to
listen for network connections whenever we run go test. That's because
we *are* listening for network connections on arbitrary interfaces, not
just on localhost as we probably intended. Fix that.
2022-03-18 13:38:30 -05:00
Matthew Jaffee
436334005e
Merge pull request #1984 from molecula/fb-1268-future-go1.18
FB-1268 use Go 1.18 for future tests
2022-03-17 16:52:06 -05:00
Matthew Jaffee
75a2d066c2 use Go 1.18 for future tests 2022-03-17 16:08:39 -05:00
tgruben
11c55faeba
Merge pull request #1982 from molecula/restore-migrate
Restore migrate
2022-03-16 15:19:26 -05:00
Todd Gruben
b3e930dc39 hard code field options 2022-03-16 14:49:58 -05:00
Matthew Jaffee
0d4ea1d991
Merge pull request #1981 from molecula/fb-1260-err-field-exists-2
need to wrap in conflictError to actually produce 409
2022-03-16 00:40:05 -05:00
Matthew Jaffee
7da4a71421 need to wrap in conflictError to actually produce 409 2022-03-16 00:36:09 -05:00
Matthew Jaffee
7ff1d94648
Merge pull request #1980 from molecula/fb-1260-err-field-exists
return correct ErrFieldExists so we give an HTTP 409
2022-03-15 23:33:26 -05:00
Matthew Jaffee
8f7f5324d4 return correct ErrFieldExists so we give an HTTP 409 2022-03-15 23:20:39 -05:00
reesporte
25dce501fe
Merge pull request #1979 from molecula/test-delete
test delete
2022-03-15 16:11:23 -05:00
reesporte
fc41870dfe remove linux amd64 dependency
Co-authored-by: souhailanoor <90720110+souhailanoor@users.noreply.github.com>
2022-03-15 14:43:06 -05:00
reesporte
f690694e77 remove commented gitlab jobs, run only on merge to master 2022-03-15 14:43:06 -05:00
reesporte
c9c36f5fc6 WIP: start integration test setup
TODO:
- remove commented out gitlab jobs
- make it run only on merge to master
2022-03-15 14:43:06 -05:00
tgruben
1906709ce5
Merge pull request #1978 from molecula/decimal-field-fix
[FB-1257] decimal woes
2022-03-15 11:35:42 -05:00
Todd Gruben
dfe052aa1a increase test coverage 2022-03-15 11:01:03 -05:00
Todd Gruben
8c3c774492 ensure provided min/max are valid on int fields 2022-03-15 10:29:48 -05:00
Todd Gruben
739fd9b04b ensure provided min/max are valid 2022-03-15 09:33:27 -05:00
Todd Gruben
f7fb9f386e decimal wowes 2022-03-15 01:52:18 -05:00
reesporte
12f931d635
Merge pull request #1976 from molecula/internal-disk-usage
add /internal/disk-usage endpoint for testing
2022-03-14 15:42:51 -05:00
reesporte
5224612df3 add /internal/disk-usage endpoint for testing
will be used to ensure delete work doesn't result in an ever-inflating usage of
memory
2022-03-14 15:23:15 -05:00
tgruben
3135c40f17
Merge pull request #1970 from molecula/FB-1185
[FB-1185] Batch delete transactions
2022-03-14 15:06:45 -05:00
tgruben
3a59421e3b
Merge branch 'master' into FB-1185 2022-03-14 14:30:37 -05:00
Todd Gruben
f9ee18b8b0 review suggestions 2022-03-14 14:18:21 -05:00
Ben Johnson
00924a2834
Merge pull request #1975 from molecula/remove-worker-pool-mu
[FB-1250] Remove unnecessary worker pool mutex
2022-03-14 12:47:11 -06:00
tgruben
a54fded24a
Merge branch 'master' into FB-1185 2022-03-14 13:00:24 -05:00
Ben Johnson
01e8a59f76 Remove unnecessary worker pool mutex 2022-03-14 09:56:08 -06:00
hphamMolecula
9e3734e9cc
Merge pull request #1973 from molecula/fb-1188-ttl-info
FB-1188 - TTL - Better TTL logging info
2022-03-11 12:17:12 -06:00
Hoang Pham
6a2a0cf008 FB-1188 - TTL - run TtlRemoval on server start, better ttl log info message 2022-03-11 11:37:36 -06:00
rachithrr
05870bcc5b
Merge pull request #1921 from molecula/clustertest-retry-coverage-v2
FB-1159: Try to test etcd retry code
2022-03-11 07:29:18 -06:00
Todd Gruben
e64dde0b4c remove round trip 2022-03-11 06:20:07 -06:00
Todd Gruben
82d3f54a28 new delete flow to allow for qcx reset 2022-03-11 06:20:07 -06:00
Todd Gruben
e209759283 make maxdelete an optional param 2022-03-11 06:20:07 -06:00
Todd Gruben
1a8989a69b . 2022-03-11 06:20:07 -06:00
Todd Gruben
eff54f49a6 qcx finish/reset 2022-03-11 06:20:07 -06:00