Commit graph

5199 commits

Author SHA1 Message Date
Ben Johnson
320e9811d8 bulk importer
This commit adds the pilosactl binary with a single `import` command.
The import allows users to bulk import data from a CSV file.
2016-01-02 15:10:17 -07:00
tgruben
b377e6ac5c Merge pull request #28 from benbjohnson/intg
Integration testing
2015-12-22 17:55:07 -06:00
Ben Johnson
cf6e3cfcc7 integration testing
This commit adds integration testing for the `cmd/pilosa` package.
It uses randomly generated `set()` data and verifies the data using `get()`
both immediately after the insert and after restart.
2015-12-22 16:33:27 -07:00
Todd Gruben
8cbf77a11d added benchmark for assembly vs native popcount 2015-12-22 09:34:26 -06:00
tgruben
c62cda7d17 Merge pull request #27 from benbjohnson/storage
Storage
2015-12-18 10:05:16 -06:00
Ben Johnson
784beb074e roaring storage
This commit attaches the mmap-backed roaring bitmaps as storage
to the fragments. Currently snapshotting is not supported from
Pilosa so the WAL will grow indefinitely, however, it is not a
difficult change to make.
2015-12-17 20:35:33 -07:00
Ben Johnson
bc2e94a654 fix roaring bitmap mapping flag
This commit properly sets the `mapped` flag on a roaring bitmap
container so that it can be unmapped when it's changed.
2015-12-16 13:20:18 -07:00
tgruben
621b04ec47 Merge pull request #26 from benbjohnson/roaring
Delta roaring bitmap
2015-12-16 07:38:59 -06:00
Ben Johnson
be34c8d970 add delta roaring bitmap
This commit adds an implementation of roaring bitmaps that can be
used with mmap files and also allow for delta changes that are
appended to the end of the file as a write-head log.
2015-12-15 20:07:46 -07:00
Todd Gruben
eb4267d4ab updated the Count cache on set operations 2015-12-11 13:19:19 -06:00
Ben Johnson
1fb85fd0e3 main: merge host and addr 2015-12-04 15:38:13 -07:00
Ben Johnson
ef42e7e74f Merge pull request #23 from benbjohnson/set
Add set() execution
2015-12-04 12:11:52 -07:00
Ben Johnson
273ac22122 add set execution
This commit adds `set()` execution to the Executor. When a set is
issued and the replication factor is greater than 1 then the
query will be forwarded to all other nodes that own the partition.

Currently there is not a way to recover from a `set()` that only
succeeds on some nodes.
2015-12-03 20:13:17 -07:00
Ben Johnson
8e813b4989 Merge pull request #22 from benbjohnson/refactor
Refactor
2015-12-02 15:41:06 -07:00
Ben Johnson
a632d08629 refactor
This commit refactors the pilosa codebase. It makes several major
changes:

* Removes bitmap handles
* Removes dispatch/hold/transport
* Removes etcd dependency
* Adds consistent hash ring for slice placement
* Refactors parser/lexer
* Adds strong typing to PQL AST
* Flattens package hierarchy
2015-12-02 15:34:49 -07:00
Ben Johnson
467d51a3db Merge pull request #12 from benbjohnson/commands
Replace command queue with mutex
2015-09-10 17:30:38 -06:00
Ben Johnson
9b2b24f44b replace command queue with mutex
This commit simplifies Fragment by replacing the request/response channels
with a `sync.Mutex` to restrict access. This also simplifies the
`FragmentContainer` code which can largely be removed now since most of
the methods are simply wrappers around `GetFragment()` and `Fragment`.
2015-09-10 17:26:32 -06:00
Ben Johnson
8293416bd8 clean up ids 2015-09-03 15:50:08 -06:00
Ben Johnson
d89c2731de Merge pull request #11 from benbjohnson/vendor
Flatten util into pilosa
2015-09-03 14:45:55 -06:00
Ben Johnson
503e5c95be flatten util into pilosa
This commit moves ID-related types and functions to the top
level package and moves remaining statsd wrapper into a `statsd`
package.
2015-09-03 14:43:34 -06:00
Ben Johnson
fe63e4e11d Merge pull request #10 from benbjohnson/vendor
godep
2015-09-03 13:55:13 -06:00
Ben Johnson
f822215be9 godep
This commit moves dependency management to use godep and the
new experimental vendoring support in Go 1.5.

NOTE: You must set `GO15VENDOREXPERIMENT` in your bash environment
for vendoring to work properly! See the updated `README` for details.
2015-09-03 13:52:45 -06:00
Ben Johnson
6b2b2672d7 Merge pull request #9 from benbjohnson/flatten
Move index package to root package
2015-08-31 16:56:58 -06:00
Ben Johnson
3c832591df move index package to root package
This commit moves the index package to the root. Because pilosa
is an index at its core, it's redundant to have an index
subpackage. It also provides better naming such as `pilosa.Bitmap`
instead of `index.Bitmap`.
2015-08-31 16:54:53 -06:00
Ben Johnson
9b6b43c9c3 Merge pull request #8 from benbjohnson/storage
refactor storage
2015-08-30 16:51:21 -06:00
Ben Johnson
306249c293 refactor storage
This commit moves individual storage engines to their own packages.
They can be registered and instantiated by a string name.
2015-08-30 16:49:32 -06:00
Ben Johnson
6c77b64756 Merge pull request #7 from benbjohnson/refactor-index
Refactor index package
2015-08-24 16:33:05 -06:00
Ben Johnson
c38d023cc1 refactor index package
This commit does clean up and minor refactoring of the
index package.
2015-08-24 16:31:39 -06:00
Ben Johnson
afbdebaac8 Merge pull request #6 from benbjohnson/vet
go vet
2015-08-20 15:10:42 -06:00
Ben Johnson
879fea53d2 remove interfaces pkg 2015-08-20 15:07:37 -06:00
Ben Johnson
73631de9e8 vet 2015-08-20 13:46:39 -06:00
Ben Johnson
6fdd32d5ce remove core.Service 2015-08-20 13:15:27 -06:00
Ben Johnson
5a00b2f7f4 Merge pull request #5 from benbjohnson/query-tests
Refactor query tests
2015-08-19 10:10:42 -06:00
Ben Johnson
894ae3598f Refactor query tests
This commit refactors the query package tests to use the
standard library testing package instead of goconvey. Goconvey
is now completely removed from the repository.
2015-08-19 10:09:18 -06:00
Ben Johnson
ad0b37d0f1 Merge pull request #4 from benbjohnson/tests
Convert tests to standard library testing.
2015-08-15 20:41:50 -06:00
Ben Johnson
802970bd80 Convert tests to standard library testing.
This commit converts the goconvey tests to use the
standard library testing format. The query pkg has
not be converted yet because it is more difficult
to convert.
2015-08-15 20:39:38 -06:00
Travis Turner
34b9f82d8f Merge pull request #3 from benbjohnson/service
Refactor config & service
2015-08-14 10:17:21 -05:00
Ben Johnson
2f1e3b6078 Refactor config & service
This commit refactors the config into a `main.Config` object instead
of a global singleton. The `core.Service` is also refactored into
the `main` package and individual pieces of the service are wired
together by the `pilosa` binary.

These two changes are required to begin to decouple packages from
one another and allow them to be individually unit tested. Previously
most top-level objects in the system could access any other top-level
object through the `core.Service` which effectively made `Service` a
singleton in the system. Each top-level object now has inline interfaces
for their dependencies so that can be set at runtime by the `main`
package or can be mocked by a test package.
2015-08-12 15:34:23 -06:00
Travis Turner
c5afd86ff2 Merge pull request #2 from umbel/cleanup
Remove commented code
2015-08-07 17:35:27 -05:00
travisturner
33dd34107a Remove commented code
Some commented test code was left in case these are tests that
need to be implemented.
2015-08-07 17:29:57 -05:00
Ben Johnson
e95d94414a Merge pull request #1 from benbjohnson/path
Update import path
2015-08-06 23:01:01 -06:00
Ben Johnson
b06ecf3320 Update import path
This commit updates the import path from:

```
pilosa/*
```

to:

```
github.com/umbel/pilosa/*
```

This follows standard Go convention and makes the project "go gettable".

The README was also updated to reflect the changes.
2015-08-05 22:50:38 -06:00
Todd Gruben
6822dd99b5 added default config file 2015-08-03 11:52:53 -05:00
Todd Gruben
892b9c6729 Merge branch 'master' of github.com:umbel/pilosa 2015-08-03 11:52:01 -05:00
Todd Gruben
de0ba3b4e5 removed out of date config file 2015-08-03 11:51:52 -05:00
tgruben
0d5ab8b30e Create README.md 2015-08-03 11:50:33 -05:00
Todd Gruben
3d87b3bfbe more balanced node creation 2015-07-23 14:58:39 +00:00
Todd Gruben
98f13fecd8 adjusted loading routines to match intel littleEndian 2015-06-30 16:24:20 +00:00
Todd Gruben
58247dabc5 removed debug in load; fixed etcd processid compare 2015-06-10 19:20:55 +00:00
Todd Gruben
6bd377ebe2 updated etcd client 2015-03-31 18:32:21 +00:00