Commit graph

9149 commits

Author SHA1 Message Date
tgruben
eb7c67e5fc
Merge pull request #1997 from molecula/bad-delete-bandaid
[FB-1290] revert async remove channel
2022-03-29 16:07:12 -05:00
Todd Gruben
2ac360734e remove RemoveChannel 2022-03-29 13:42:20 -05:00
Todd Gruben
9e3a2bba15 revert remove channel 2022-03-25 15:50:54 -05:00
reesporte
a23c820e12
Merge pull request #1995 from molecula/sup-194
FB-1287 - fix viewTimePart to account for bad strings
2022-03-25 11:53:14 -05:00
reesporte
5946a12ab9 fix viewTimePart to account for bad strings
this stems from https://molecula.atlassian.net/browse/SUP-194 where the string
"standard" was being passed to viewTimePart, which output "standard" as the result.
this is not a valid time string and was causing confusing errors. now it simply
doesn't do that

this commit also adds regression testing framework and a regression test for fb-1287
2022-03-25 11:27:39 -05:00
Matthew Jaffee
f23d30deb4
Merge pull request #1996 from molecula/fb-1281
[FB-1281] Add regression test for delete with invalid bitmap panic
2022-03-24 16:44:56 -05:00
Ben Johnson
7aff965a28 Add regression test for FB-1281 2022-03-24 15:20:57 -06:00
Matthew Jaffee
1f147f3c8c
Merge pull request #1994 from molecula/fb-1270-repro
add reproducer for FB-1270 into smoke tests
2022-03-24 13:57:58 -05:00
Matthew Jaffee
bb637131b9 delete query was syntactically broken and unecessary
the issue reproduced even though this query was broken, so it can be removed.
2022-03-24 13:33:11 -05:00
Matthew Jaffee
b08389e0ed add reproducer for FB-1270 into smoke tests 2022-03-24 12:58:25 -05:00
Ben Johnson
cc86d9ba19
Merge pull request #1993 from molecula/sup-193
Clear page from RBF dirty cache on free.
2022-03-24 11:42:53 -06:00
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