No description
Find a file
Seebs cf94181c89 significant refactor of test setup and teardown
We centralize the creation paths for test indexes, fields,
etcetera so they all have a common path, all using standard
test holders. There's still two versions, one for test.* functions
and one for internal. They do share a TestHolderConfig though.

Large hunks of the related APIs are simplified/streamlined.
* Fragments are always created with a Field and don't need
  a workaround in case they don't have it.
* Creation of test fragments, etc., use optional FieldOptions
  but don't specify names because they're all using new holders
  for each thing created anyway. This dramatically reduces
  the complexity of the calls.
* test fragments are created inside test views which are created
  inside test fields, etcetera, so everything is using the same
  logic; test views aren't bypassing the other layers, they're
  creating themselves normally within a field.
* Quite a few things now use the standard runtime/production
  logic instead of being custom workarounds; for instance, instead
  of `mustOpenMutexFragment` creating a fragment and then creating
  a mutex vector for it, we just create a mutex-typed field and
  have the normal runtime code do this.
* Similarly, we now use the same field creation logic that production
  does, instead of having our own test-only thing that validates
  field names directly, so our test that we're validating field names
  is actually testing the runtime code. Yay.
* fragSpec goes away. it was a replacement for fragProxy which existed
  to solve memory allocation problems but replaced them with interface
  overhead problems. Now we just have pointers to things and maintain
  valid data structures.
* Many panics are now Fatal or Fatalf calls.
* Some specific bugs fixed, like a cluster which was requested and
  then had its first node directly overwritten, which isn't valid with
  shared clusters.
* Drop the temp-dir test flag and TempDir variable, we can just use
  $TMPDIR.
* Drop a benchmark of "write file to disk" that was purely a benchmark
  of file write speed, not a benchmark of rendering the data that needs
  to be written.
* Drop the unused "flags" parameter to fragment creation, which was
  only used back when we changed the BSI format.
* Use holder.Txf() rather than index.Txf(). The TxFactory has to be
  holder-level anyway, referring to it via the index is misleading.
* Test holders automatically close themselves and delete themselves,
  we remove various other things that thought they were responsible
  for deleting themselves.
2022-09-23 16:56:27 -05:00
.github remove references to CONTRIBUTING and CHANGELOG 2021-11-19 11:22:15 -06:00
.gitlab bump to go 1.19.1 because there's no longer a docker image for 1.19 2022-09-09 17:10:57 -05:00
api/client Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
authn [FB-1621] account for token expiration as float and int (#2188) 2022-08-10 17:26:10 -05:00
authz Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
boltdb change perms: 0666 -> 0600; 0777 -> 0750 2022-07-21 13:34:46 -05:00
client refactor testing to share clusters more often 2022-09-02 11:40:37 -05:00
cmd added /sql endpoint; implemented SHOW TABLES (#1935) 2022-08-31 13:01:05 -07:00
ctl add persistent history and combination of multi-line commands to CLI 2022-09-07 13:10:29 -05:00
debugstats add copyright notice back in 2021-12-10 11:01:04 -06:00
disco simplify, streamline, and possibly debug embedded etcd 2022-07-21 11:42:35 -05:00
encoding/proto simplify, streamline, and possibly debug embedded etcd 2022-07-21 11:42:35 -05:00
errors added /sql endpoint; implemented SHOW TABLES (#1935) 2022-08-31 13:01:05 -07:00
etcd set directory permissions restrictively to quiet etcd 2022-09-23 16:56:27 -05:00
gcnotify Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
generator add copyright notice back in 2021-12-10 11:01:04 -06:00
gopsutil Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
hash Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
idk FB-1674: Kafka consumer stops reading messages from topic (#2222) 2022-09-21 12:53:50 -05:00
ingest [FB-1024 FB-1590] Increase timerange (un-revert) (#2174) 2022-08-04 15:20:45 -07:00
ingest_testdata allow ingest API delete to work at all, add test for it 2022-04-01 09:48:51 -05:00
install Fixed broken fields when packaging rpm and deb files. (#2153) 2022-07-27 12:54:46 -05:00
internal Distinguish between three copies of fakeidp service (#2192) 2022-08-16 09:13:11 -05:00
lattice FB-1663 - fix make build-lattice failing 2022-09-13 14:10:35 -05:00
logger change perms: 0666 -> 0600; 0777 -> 0750 2022-07-21 13:34:46 -05:00
lru fix some staticcheck issues 2021-12-03 09:31:45 -06:00
mock Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
monitor Add proper version info to sentry logs 2022-06-21 11:03:22 -05:00
net add copyright notice back in 2021-12-10 11:01:04 -06:00
pb indicate sign with a bool 2022-06-17 14:58:30 -05:00
pql WIP: Sort extract columns by a field (#2193) 2022-08-19 13:29:17 -05:00
prometheus Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
proto Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
qa squash auth tests into regular smoke tests, improve smoke tests 2022-09-09 17:10:57 -05:00
rbf smallify Quick checks 2022-08-25 15:00:48 -05:00
roaring don't rerun comparison pointlessly 2022-08-25 15:00:48 -05:00
scripts remove trailing spaces en masse (#2024) 2022-04-18 09:31:35 -05:00
server significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
shardwidth Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
short_txkey remove a bunch of commented print statements and unecessary prints 2022-01-11 10:42:44 -06:00
sql refactor testing to share clusters more often 2022-09-02 11:40:37 -05:00
sql3 fb-1075 (#2221) 2022-09-20 14:53:10 -05:00
statik Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
stats significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
statsd Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
storage remove a bunch of roaring backend stuff 2022-02-02 20:56:18 -06:00
syswrap add copyright notice back in 2021-12-10 11:01:04 -06:00
task implement a task pool 2022-02-14 09:56:19 -06:00
test significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
testdata refactor testing to share clusters more often 2022-09-02 11:40:37 -05:00
testhook improve post-hook behavior 2022-09-02 11:40:37 -05:00
toml add copyright notice back in 2021-12-10 11:01:04 -06:00
tracing Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
txkey remove a bunch of commented print statements and unecessary prints 2022-01-11 10:42:44 -06:00
vprint add copyright notice back in 2021-12-10 11:01:04 -06:00
.dockerignore FB-1597: unifying idk and featurebase (#2160) 2022-07-28 17:23:16 -05:00
.gitignore added /sql endpoint; implemented SHOW TABLES (#1935) 2022-08-31 13:01:05 -07:00
.golangci.yml fix govet and gofmt errors in existing code 2021-10-29 13:14:27 -05:00
api.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
api_test.go refactor testing to share clusters more often 2022-09-02 11:40:37 -05:00
apimethod_string.go Remove most of the resize-related logic 2022-06-21 17:03:09 -05:00
audit.go Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
audit_internal_test.go Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
audit_test.go Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
broadcast.go simplify, streamline, and possibly debug embedded etcd 2022-07-21 11:42:35 -05:00
bsi.go Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
bsi_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
cache.go comment cleanup 2022-05-27 11:25:17 -05:00
cache_test.go Periodically invalidate rank cache during bulk add 2022-02-15 08:25:45 -07:00
catcher.go create BitmapRewriter/ApplyRewriter, parallel to BitmapFilter 2022-04-12 12:24:22 -05:00
cluster.go simplify, streamline, and possibly debug embedded etcd 2022-07-21 11:42:35 -05:00
cluster_internal_test.go refactor testing to share clusters more often 2022-09-02 11:40:37 -05:00
cmd.go Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
CODE_OF_CONDUCT.md chore(community): adds code of conduct (#2195) 2022-08-17 12:30:22 -04:00
const_amd64.go add copyright notice back in 2021-12-10 11:01:04 -06:00
const_other.go add copyright notice back in 2021-12-10 11:01:04 -06:00
dbshard.go drop the bool from a map that's only using it to check presence 2022-06-09 10:26:19 -05:00
dbshard_internal_test.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
dbshard_test.go refactor testing to share clusters more often 2022-09-02 11:40:37 -05:00
delete_test.go refactor testing to share clusters more often 2022-09-02 11:40:37 -05:00
diagnostics.go Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
diagnostics_internal_test.go Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
doc.go add copyright notice back in 2021-12-10 11:01:04 -06:00
Dockerfile FB-1663 - fix make build-lattice failing 2022-09-13 14:10:35 -05:00
Dockerfile-clustertests Upgrade Go to 1.19 (#2204) 2022-08-25 14:54:14 -06:00
Dockerfile-clustertests-client Upgrade Go to 1.19 (#2204) 2022-08-25 14:54:14 -06:00
event.go simplify, streamline, and possibly debug embedded etcd 2022-07-21 11:42:35 -05:00
executor.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
executor_internal_test.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
executor_test.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
field.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
field_internal_test.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
field_test.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
filesystem.go add copyright notice back in 2021-12-10 11:01:04 -06:00
fragment.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
fragment_internal_test.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
gc.go add copyright notice back in 2021-12-10 11:01:04 -06:00
gid.go database per shard, HolderConfig, rbf bit-wise import speedups. 2020-09-04 13:00:33 -05:00
go.mod Fix UUID library version for CVE-2021-3538 (#2213) 2022-09-06 13:52:13 -06:00
go.sum Fix UUID library version for CVE-2021-3538 (#2213) 2022-09-06 13:52:13 -06:00
hack.go Change Ttl to TTL (#2038) 2022-04-27 11:20:39 -05:00
handler.go add doc comments 2022-05-27 11:25:17 -05:00
holder.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
holder_internal_test.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
holder_test.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
http_handler.go fb-1075 (#2221) 2022-09-20 14:53:10 -05:00
http_handler_internal_test.go [FB-1444] Add sentry.io for error and perf monitoring (#2099) 2022-06-06 18:29:32 -05:00
http_handler_test.go refactor testing to share clusters more often 2022-09-02 11:40:37 -05:00
http_translator.go remove http subpackage and bring implementations into core 2022-02-03 21:04:04 -06:00
http_translator_test.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
idalloc.go change perms: 0666 -> 0600; 0777 -> 0750 2022-07-21 13:34:46 -05:00
idalloc_test.go change perms: 0666 -> 0600; 0777 -> 0750 2022-07-21 13:34:46 -05:00
index.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
index_internal_test.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
index_test.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
ingest_test.go allow ingest API delete to work at all, add test for it 2022-04-01 09:48:51 -05:00
internal_client.go reduce verbosity of retryablehttpclient 2022-09-23 16:56:27 -05:00
internal_client_test.go refactor testing to share clusters more often 2022-09-02 11:40:37 -05:00
iterator.go Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
iterator_internal_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
license.exceptions update license header check exceptions 2021-05-14 10:45:46 -04:00
like.go add copyright notice back in 2021-12-10 11:01:04 -06:00
like_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
main_test.go listen on localhost:0 instead of :0 2022-03-18 13:38:30 -05:00
Makefile added /sql endpoint; implemented SHOW TABLES (#1935) 2022-08-31 13:01:05 -07:00
metrics.go add copyright notice back in 2021-12-10 11:01:04 -06:00
nfpm.yaml Fixed broken fields when packaging rpm and deb files. (#2153) 2022-07-27 12:54:46 -05:00
NOTICE add config files for release 2021-11-19 01:26:18 +03:00
pilosa.go Remove most of the resize-related logic 2022-06-21 17:03:09 -05:00
pilosa_internal_test.go Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
pilosa_test.go Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
pprof.go remove a bunch of roaring backend stuff 2022-02-02 20:56:18 -06:00
rbf.go create BitmapRewriter/ApplyRewriter, parallel to BitmapFilter 2022-04-12 12:24:22 -05:00
README.md chore(community): adds code of conduct (#2195) 2022-08-17 12:30:22 -04:00
row.go remove string keys on delete to allow for reuse 2022-02-25 16:23:54 -06:00
row_test.go Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
serializer.go add copyright notice back in 2021-12-10 11:01:04 -06:00
server.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
server_internal_test.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
server_test.go refactor testing to share clusters more often 2022-09-02 11:40:37 -05:00
stattx.go create BitmapRewriter/ApplyRewriter, parallel to BitmapFilter 2022-04-12 12:24:22 -05:00
time.go FB-1456 - TTL - fixed views not returning correct results (#2062) 2022-05-16 15:26:13 -05:00
time_internal_test.go FB-1456 - TTL - fixed views not returning correct results (#2062) 2022-05-16 15:26:13 -05:00
tracker.go add copyright notice back in 2021-12-10 11:01:04 -06:00
tracker_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
transaction.go Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
transaction_test.go Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
translate.go simplify, streamline, and possibly debug embedded etcd 2022-07-21 11:42:35 -05:00
translator_test.go refactor testing to share clusters more often 2022-09-02 11:40:37 -05:00
tx.go create BitmapRewriter/ApplyRewriter, parallel to BitmapFilter 2022-04-12 12:24:22 -05:00
tx_internal_test.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
tx_test.go refactor testing to share clusters more often 2022-09-02 11:40:37 -05:00
txfactory.go continue removing Tx parameters to view-type functions 2022-09-23 16:56:27 -05:00
txfactory_internal_test.go remove a bunch of roaring backend stuff 2022-02-02 20:56:18 -06:00
util.go continue removing Tx parameters to view-type functions 2022-09-23 16:56:27 -05:00
util_test.go [FB-1024 FB-1590] Increase timerange (un-revert) (#2174) 2022-08-04 15:20:45 -07:00
utils_internal_test.go refactor testing to share clusters more often 2022-09-02 11:40:37 -05:00
version.go Upgrade go.mod to featurebase/v3 2022-01-21 10:57:05 -07:00
view.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00
view_internal_test.go significant refactor of test setup and teardown 2022-09-23 16:56:27 -05:00

FeatureBase, a distributed bitmap index

Contributor Covenant Coverage SecurityRating Quality Gate Status

See our internal documentation, which includes all external documentation, plus many internal-only pages, listed under the "Internal" heading in the main navigation bar.

Follow along with the Sample Project to get a better understanding of FeatureBase's capabilities.