No description
Find a file
Seebs adcd5adb02 improve the sync.Pool used for pages, avoid excess page allocations for WAL
Several changes. One is, we don't provide a `New` for pagePool, which
allows allocPage to check whether a page was returned, and thus, zero
pages which were found in the pool, or make new pages, but never zero
pages it just created with make. We then also make many more things
which were making pages use the pool.

Reuse the same page allocation for multiple header pages dumped into
the WAL; the bitmap header pages aren't stashed in our page map,
they're only written to the disk, so we don't need to make a new page
each time, we can just make one new page for the whole batch.

Internally in the pool, we pool pointers to [PageSize]byte, rather
than slices. sync.Pool needs pointer-like things. To store a pointer
to a slice, you have to heap-allocate the slice, also. So, instead
of heap-allocating copies of these slices, we just use pointers to
the raw data.
2022-01-19 15:19:45 -06:00
.circleci fix gitlab pipeline; disable circleci; remove artifactory 2022-01-03 22:11:30 -06:00
.github remove references to CONTRIBUTING and CHANGELOG 2021-11-19 11:22:15 -06:00
.gitlab add race and shardwidth22 to Gitlab CI, cleanup 2022-01-17 10:12:40 -06:00
api/client add copyright notice back in 2021-12-10 11:01:04 -06:00
authn addresses multiple authn/z tickets 2022-01-14 12:31:32 -06:00
authz fix bug where drop table wasn't being authorized 2022-01-19 12:08:05 -06:00
boltdb add copyright notice back in 2021-12-10 11:01:04 -06:00
client set shardWidth properly in client 2022-01-17 10:57:01 -06:00
cmd fix merge conflicts 2021-12-29 09:05:53 -06:00
ctl addresses multiple authn/z tickets 2022-01-14 12:31:32 -06:00
debugstats add copyright notice back in 2021-12-10 11:01:04 -06:00
disco add copyright notice back in 2021-12-10 11:01:04 -06:00
encoding/proto add copyright notice back in 2021-12-10 11:01:04 -06:00
etcd add wrapping to differentiate etcd errors 2022-01-14 14:01:37 -06:00
gcnotify add copyright notice back in 2021-12-10 11:01:04 -06:00
generator add copyright notice back in 2021-12-10 11:01:04 -06:00
gopsutil add copyright notice back in 2021-12-10 11:01:04 -06:00
hash add copyright notice back in 2021-12-10 11:01:04 -06:00
http adds logging to all network requests 2022-01-15 12:21:27 -06:00
ingest remove a bunch of commented print statements and unecessary prints 2022-01-11 10:42:44 -06:00
ingest_testdata ingest and ingest/codec testing work 2021-08-19 09:50:59 -05:00
install addresses multiple authn/z tickets 2022-01-14 12:31:32 -06:00
internal better error reporting if delete fails 2022-01-14 21:09:16 -06:00
lattice actually be able to generate-statik 2022-01-18 12:14:54 -06:00
logger add copyright notice back in 2021-12-10 11:01:04 -06:00
lru fix some staticcheck issues 2021-12-03 09:31:45 -06:00
mock add copyright notice back in 2021-12-10 11:01:04 -06:00
net add copyright notice back in 2021-12-10 11:01:04 -06:00
pb add copyright notice back in 2021-12-10 11:01:04 -06:00
pg add copyright notice back in 2021-12-10 11:01:04 -06:00
pql add copyright notice back in 2021-12-10 11:01:04 -06:00
prometheus add copyright notice back in 2021-12-10 11:01:04 -06:00
proto add copyright notice back in 2021-12-10 11:01:04 -06:00
qa have simulacradata tests clean up generated files 2022-01-17 09:39:28 -06:00
rbf improve the sync.Pool used for pages, avoid excess page allocations for WAL 2022-01-19 15:19:45 -06:00
roaring remove a bunch of commented print statements and unecessary prints 2022-01-11 10:42:44 -06:00
scripts Fix benchmark file naming 2021-05-21 14:51:08 -06:00
server fix older tests 2022-01-19 12:55:07 -06:00
shardwidth add copyright notice back in 2021-12-10 11:01:04 -06:00
short_txkey remove a bunch of commented print statements and unecessary prints 2022-01-11 10:42:44 -06:00
sql filter http response and lockdown endpoints 2022-01-14 16:05:54 -06:00
sql2 add copyright notice back in 2021-12-10 11:01:04 -06:00
statik add copyright notice back in 2021-12-10 11:01:04 -06:00
stats add copyright notice back in 2021-12-10 11:01:04 -06:00
statsd add copyright notice back in 2021-12-10 11:01:04 -06:00
storage rip out rowcache 2022-01-11 13:49:09 -06:00
syswrap add copyright notice back in 2021-12-10 11:01:04 -06:00
test add copyright notice back in 2021-12-10 11:01:04 -06:00
testdata Test cases for Store(Distinct) 2020-09-14 14:15:29 -05:00
testhook remove a bunch of commented print statements and unecessary prints 2022-01-11 10:42:44 -06:00
toml add copyright notice back in 2021-12-10 11:01:04 -06:00
topology add copyright notice back in 2021-12-10 11:01:04 -06:00
tracing add copyright notice back in 2021-12-10 11:01:04 -06: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 Add new Docker build process and continuous delivery 2021-02-26 14:34:14 -06:00
.gitignore have simulacradata tests clean up generated files 2022-01-17 09:39:28 -06:00
.golangci.yml fix govet and gofmt errors in existing code 2021-10-29 13:14:27 -05:00
api.go Stop blocking API called when cluster is DOWN or DEGRADED 2021-12-28 13:52:04 -06:00
api_test.go addresses multiple authn/z tickets 2022-01-14 12:31:32 -06:00
apimethod_string.go remove attributes 2021-05-14 10:28:08 -04:00
audit.go add copyright notice back in 2021-12-10 11:01:04 -06:00
audit_internal_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
audit_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
broadcast.go add copyright notice back in 2021-12-10 11:01:04 -06:00
bsi.go add copyright notice back in 2021-12-10 11:01:04 -06:00
bsi_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
cache.go rip out rowcache 2022-01-11 13:49:09 -06:00
cache_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
catcher.go add copyright notice back in 2021-12-10 11:01:04 -06:00
client.go use retryableHTTP in client, fix memory usage of restore 2021-12-22 10:56:16 -06:00
cluster.go add copyright notice back in 2021-12-10 11:01:04 -06:00
cluster_internal_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
cmd.go add copyright notice back in 2021-12-10 11:01:04 -06: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 add copyright notice back in 2021-12-10 11:01:04 -06:00
dbshard_internal_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
dbshard_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
delete_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
diagnostics.go add copyright notice back in 2021-12-10 11:01:04 -06:00
diagnostics_internal_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
doc.go add copyright notice back in 2021-12-10 11:01:04 -06:00
Dockerfile remove references to LICENSE and checks for it in source files 2021-11-19 10:38:06 -06:00
Dockerfile-clustertests remove references to LICENSE and checks for it in source files 2021-11-19 10:38:06 -06:00
event.go add copyright notice back in 2021-12-10 11:01:04 -06:00
executor.go distinct on timestamps can reduce now 2022-01-10 13:07:57 -06:00
executor_internal_test.go distinct on timestamps can reduce now 2022-01-10 13:07:57 -06:00
executor_test.go add multi-shard test for distinct(timestamp) 2022-01-10 15:41:30 -06:00
field.go track field directly in view to prevent deadlocks 2022-01-13 13:16:57 -06:00
field_internal_test.go explicitly test untested path of valcountize 2022-01-03 11:11:27 -06:00
field_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
filesystem.go add copyright notice back in 2021-12-10 11:01:04 -06:00
fragment.go rip out rowcache 2022-01-11 13:49:09 -06:00
fragment_internal_test.go rip out rowcache 2022-01-11 13:49:09 -06:00
gc.go add copyright notice back in 2021-12-10 11:01:04 -06:00
gendebug_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
generation.go add copyright notice back in 2021-12-10 11:01:04 -06:00
generation_debug.go add copyright notice back in 2021-12-10 11:01:04 -06:00
generation_nodebug.go add copyright notice back in 2021-12-10 11:01:04 -06:00
generation_test.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 addresses multiple authn/z tickets 2022-01-14 12:31:32 -06:00
go.sum addresses multiple authn/z tickets 2022-01-14 12:31:32 -06:00
hack.go add copyright notice back in 2021-12-10 11:01:04 -06:00
handler.go add copyright notice back in 2021-12-10 11:01:04 -06:00
holder.go rip out rowcache 2022-01-11 13:49:09 -06:00
holder_internal_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
holder_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
idalloc.go add copyright notice back in 2021-12-10 11:01:04 -06:00
idalloc_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
index.go add copyright notice back in 2021-12-10 11:01:04 -06:00
index_internal_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
index_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
ingest_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
iterator.go add copyright notice back in 2021-12-10 11:01:04 -06: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 add copyright notice back in 2021-12-10 11:01:04 -06:00
Makefile addresses multiple authn/z tickets 2022-01-14 12:31:32 -06:00
metrics.go add copyright notice back in 2021-12-10 11:01:04 -06:00
mmap_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
nfpm.yaml FB-904: Add deb/rpm packaging of FeatureBase binary 2021-11-04 10:32:59 -06:00
NOTICE add config files for release 2021-11-19 01:26:18 +03:00
pilosa.go add copyright notice back in 2021-12-10 11:01:04 -06:00
pilosa_internal_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
pilosa_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
planner.go add copyright notice back in 2021-12-10 11:01:04 -06:00
planner_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
pprof.go add copyright notice back in 2021-12-10 11:01:04 -06:00
rbf.go add copyright notice back in 2021-12-10 11:01:04 -06:00
README.md meaningless commit 2021-10-29 11:56:09 -05:00
row.go add copyright notice back in 2021-12-10 11:01:04 -06:00
row_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
rrtx.go add copyright notice back in 2021-12-10 11:01:04 -06:00
rrtx_internal_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
serializer.go add copyright notice back in 2021-12-10 11:01:04 -06:00
server.go adds logging to all network requests 2022-01-15 12:21:27 -06:00
server_internal_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
snapshotqueue.go add copyright notice back in 2021-12-10 11:01:04 -06:00
stattx.go add copyright notice back in 2021-12-10 11:01:04 -06:00
time.go add copyright notice back in 2021-12-10 11:01:04 -06:00
time_internal_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
tournament.sh remove instances of os.Getenv("PILOSA_TXSRC") 2021-01-21 21:18:46 -06: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 add copyright notice back in 2021-12-10 11:01:04 -06:00
transaction_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
translate.go another data race? fuck 2021-12-10 11:52:39 -06:00
translator_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
tx.go add copyright notice back in 2021-12-10 11:01:04 -06:00
tx_internal_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
tx_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
txfactory.go don't use write Tx even when we're using the expensive logic for write Tx 2021-12-17 17:57:33 -06:00
txfactory_internal_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
util.go add copyright notice back in 2021-12-10 11:01:04 -06:00
util_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
utils_internal_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00
version.go add copyright notice back in 2021-12-10 11:01:04 -06:00
view.go track field directly in view to prevent deadlocks 2022-01-13 13:16:57 -06:00
view_internal_test.go add copyright notice back in 2021-12-10 11:01:04 -06:00

FeatureBase, a distributed bitmap index

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.