Commit graph

181 commits

Author SHA1 Message Date
Michael Baird
fb7e1091b5 field definitions require an action 2017-06-29 13:16:05 -05:00
Michael Baird
57a67f16ed error cleanup 2017-06-29 11:12:06 -05:00
Michael Baird
a80be54a60 validate missing frame from input data 2017-06-29 10:13:47 -05:00
Michael Baird
681c48fd12 add more tests for index and input-definition not found 2017-06-29 09:31:21 -05:00
Michael Baird
8e87969933 Input definition GET and DELETE handle the case when the definition does not exist 2017-06-29 08:52:18 -05:00
Michael Baird
6028b50b06 Validate incoming input definitions through the InputDefinitionInfo Validate rather than through Encode and piecemeal throughout the code. 2017-06-28 16:33:42 -05:00
Travis
e4c71ff1ed
refactor some of the input defintion logic to better utilize Encode() 2017-06-28 13:46:41 -05:00
Michael Baird
26469db490 The Input process must respect the Action Frame assignments 2017-06-27 16:30:59 -05:00
Michael Baird
9a7887fc21 remove prints 2017-06-27 16:30:59 -05:00
Linh Vo
8653154dee merge handleAction 2017-06-27 16:29:10 -05:00
Linh Vo
3a659c216d JSONparser tests 2017-06-27 16:28:42 -05:00
Linh Vo
1407a25008 fix reviews, more input definition tests 2017-06-27 12:36:02 -05:00
Travis
904552b289
adjusted some of the InputDefinition comments 2017-06-26 17:39:58 -05:00
Linh Vo
53c7e5946d validate columnID match primaryField 2017-06-23 14:39:52 -05:00
Cody Soyland
85b1a73b73 Refactor test utilities into importable package.
Remove duplicate instances of test utilities from pilosa.ctl.
Now subpackages such as pilosa.ctl may import test utilities.
2017-06-23 09:10:15 -05:00
Linh Vo
aa2cc13a9c change Action to InputDefinitionAction in proto 2017-06-22 14:55:29 -05:00
Linh Vo
9fd1de8f29 handle nil rowID 2017-06-21 14:38:04 -05:00
Michael Baird
64b51f3bc3 Use the internal.inputdefinition object for broadcasting to other nodes. Create encoding methods to translate the JSON request to create a definition. 2017-06-15 23:45:19 -05:00
Linh Vo
e72e3dc436 more handle tests 2017-06-15 00:39:21 -05:00
Michael Baird
00dec45e58 Input definition "Fields" parameter name is consistent throughout now. 2017-06-14 14:23:25 -05:00
Michael Baird
1db97b9312 CreateInputDefinitionMessage now contains the definition and not just the name. 2017-06-14 14:12:07 -05:00
Linh Vo
2d3f244a7b couple more tests 2017-06-13 13:56:08 -05:00
Michael Baird
f0c3fdcdda Merge remote-tracking branch 'origin/master' into metrics 2017-05-30 15:36:19 -05:00
Linh Vo
108c644938 #312 validate unkown query params 2017-05-24 13:57:47 -05:00
Michael Baird
c41f695e74 more metrics tests 2017-05-18 16:36:22 -05:00
Michael Baird
bd44949cb5 Merge remote-tracking branch 'origin/master' into metrics
Conflicts:
	config.go
	executor_test.go
	server/server.go
2017-05-09 11:31:14 -05:00
Michael Baird
bf6ed942f0 Merge pull request #8 from alanbernstein/stats
Stats
2017-05-09 11:15:23 -05:00
Travis
231cf683f0
Adjust tests to work with new DefaultPartitionN.
This mainly involved running `RecalculateCache()` on all fragments
in `TopN` tests. It seems these tests have been running as LRU
caches, and once we made `ranked` the default, they stopped working.
Some tests were affected by the change in partition number and
therefore the change in fragment to node mapping.
2017-05-01 23:07:41 -05:00
Cody Soyland
3996b56b88 Apply Apache License 2.0 2017-04-28 14:22:03 -05:00
Michael Baird
684a8afa23 missed these db to index changes in the merge conflicts 2017-04-25 11:48:20 -05:00
Michael Baird
e699c55700 fixed conflicts from the db index change
Conflicts:
	cluster.go
	executor_test.go
	handler_test.go
	server.go
2017-04-25 11:47:29 -05:00
Alan Bernstein
bbffc8f500 Add Clusters to Handlers in tests 2017-04-24 11:32:22 -05:00
Travis
1343979308
Fixes up a few overlooked d := Index() 2017-04-24 11:17:30 -05:00
Travis
2ad322c2c7
Rename DB to Index
Rename `db.go` to `index.go` and `db_test.go` to `index_test.go`
2017-04-23 21:49:27 -05:00
Travis
2cacff8e09
Rename Index to Holder
Rename `index.go` to `holder.go` and `index_test.go` to `holder_test.go`
2017-04-23 15:59:20 -05:00
Ben Johnson
d34687121f
Rename bitmap/profile to row/column. 2017-04-21 21:23:24 -06:00
Alan Bernstein
985c0b4cdf Update tests to work with handler stats 2017-04-21 10:11:19 -05:00
Travis
95bd4913c8
adjusted DBOptions/FrameOptions logic and removed some unused tests 2017-04-20 10:41:17 -05:00
Travis
dcaf7617de
changed some json tag names to Lower Camel Case to be consistent with the rest 2017-04-19 14:01:46 -05:00
Travis
b4a69be751 Add support for Node.InternalHost.
This was required for the HTTPBroadcaster to run locally on different InternalPorts.
2017-04-19 10:37:00 -05:00
Matt Jaffee
32d07fc9e1 rename MessageBroker -> Broadcaster 2017-04-19 10:34:52 -05:00
Matt Jaffee
5079ee7a22 remove messenger "wrapper" around messagebroker
all the functionality aside from the broker has been removed
2017-04-19 10:33:59 -05:00
Travis
b0f1fc7523 Makes Messenger a first-class object under Server (with pointers in Handler and Index).
Primary message interface is the MessageBroker which is an attribute of the Messenger.
MessageBroker implementations:
- Gossip (memberlist)
- Broadcast (uses HTTP, received by existing Handler)
- Static (no-ops)

Changes CacheSize from `int` to `uint32` for consistency with protobuf.
Removes unnecessary dependencies in glide:
- `github.com/aws/aws-sdk-go`
- `golang.org/x/net` (although this gets included by memberlist)

TODO:
- [ ] Add tests around the Messenger and MessageBroker objects.
- [ ] Refactor CreateSliceMessage to work with views.
- [ ] Support propogation of meta data on PATCH calls.

fixing some issues from last rebase
2017-04-19 10:33:26 -05:00
Travis
13e08ac3a5 add tests for HTTPNodeSet 2017-04-19 10:24:00 -05:00
Travis
95a546e138 adjust tests and client to comply with the new HTTP endpoints 2017-04-18 14:19:36 -05:00
Matt Jaffee
6f443f447a add signed int support
this affects the scanner/parser and makes it produce signed ints rather than
uints, and so it affects all code that is expecting unsighed ints to come out of
the parser.
2017-04-18 12:50:26 -05:00
Ben Johnson
306cc0b64e Opt-in to inverse storage. 2017-04-12 08:34:31 -06:00
Ben Johnson
2731311378 Refactor higher level view interface. 2017-04-05 17:00:31 -06:00
Ben Johnson
912fcb3464 Separate max slices for standard and inverse views.
Previously only the standard max slice was available. This commit
changes it so that the inverse max can be retrieved separately
through the `DB` and `Frame` types as well as through the
`HTTP` API and `Client`.
2017-03-28 13:01:04 -06:00
Ben Johnson
eff08af112 Separate physical data layout with views.
Previously, multiple frames with different prefixes were used to separate
different data layouts. This included separating standard row/column
layouts from inverted column/row layouts as well as storing aggregate
information for timestamp data.

Unfortunately, this caused frame meta data to be copied between multiple
frames and it made it difficult to keep these frames in sync.

This commit separates these different physical layouts into `Views`.
A `Frame` now has one or more views which represent each layout.
Fragments have been moved from under the `Frame` to be contained
within the `View`.

There are two primary views:

- `standard`
- `inverse`

If a frame has a time quantum, then views are generated for these
each of the standard/inverse views. For example a time quantum
of `YMDH` for the date `2000-01-02T00:00:00Z` would create the
following views:

- `standard_2000`
- `inverse_2000`
- `standard_200001`
- `inverse_200001`
- `standard_20000102`
- `inverse_20000102`

From the user's perspective, nothing should change in PQL. Different
PQL statements will handle the appropriate view automatically. For
example, `Bitmap()` and `Profile()` will fetch using the `standard`
view or the `inverse` view, respectively. The `Range()` statement
will lookup the appropriate time-based views automatically.
2017-03-24 13:57:02 -06:00