Commit graph

95 commits

Author SHA1 Message Date
Cody Soyland
7bb6fdffcb Add correct content type to query responses. Fixes #1873 2019-04-10 15:49:33 -05:00
Matt Jaffee
daa87d8e12
fix staticcheck warnings 2019-01-21 14:24:11 -06:00
Travis Turner
358c32a165
add test for translate store buffer growth logic. add max limit to buffer size. 2018-12-18 12:48:20 -06:00
Travis Turner
95f05ca4d0
WIP: allow translate log entry buffer to grow
In the case where a translate log entry contained
many key/id pairs, it was possible for the read
buffer (which was allocated at 65536 bytes) to
fail to handle it. This happened when the serialized
LogEntry was larger than 65536 bytes.

This PR adds logic which returns a custom error called
ErrTranslateReadTargetUndersized notifying the reader
to reallocate a larger read buffer and try the read
again.

TODO:
- [ ] Add a max buffer size check to prevent this from doubling the
buffer size with no limit.
- [ ] Add tests.
2018-12-18 09:26:26 -06:00
Travis Turner
84fddbc67f
Replace the /fragment/data endpoint to support cluster resizing 2018-12-18 08:34:47 -06:00
Matt Jaffee
2047ebe377
revert client Timeout addition
suspect that this is somehow causing "cannot assign requested address" bugs for
some users. removing since it wasn't a necessary part of the deadlock fix, but
just seemed like a prudent thing to have.
2018-12-14 11:31:23 -06:00
Matt Jaffee
4b786e1057
attempt to fix deadlock by releasing view lock before broadcasting CreateShard 2018-12-11 15:45:44 -06:00
Yuce Tekol
82a9ef2059 Added /internal/translate/keys endpoint 2018-12-07 16:11:15 -05:00
Yuce Tekol
eb9e609794
Merged with master 2018-11-26 17:03:38 +03:00
Ben Johnson
8e49332b25 Add distributed tracing. 2018-11-21 15:08:33 -06:00
Yuce Tekol
81354461a0
Merge branch 'master' into 1710-suppress-std-view-on-time-fields 2018-11-21 18:44:29 +03:00
Yuce Tekol
12112e0aef
Merged with master; check for empty roaring data 2018-11-21 18:22:40 +03:00
Yuce Tekol
ac91635628
Merged with master 2018-11-21 18:16:43 +03:00
Yuce Tekol
9c05155db4
Added /internal/translate/keys endpoint 2018-11-21 16:35:50 +03:00
Yuce Tekol
3d54f737cd
ditch OptFieldTypeTimeWithOptions 2018-11-20 23:21:09 +03:00
Seebs
a203313143 move Logger and Stats to their own packages
I'd like to add stat tracking to Roaring, which means it
has to be able to import the stats package, which means
stats has to be a package rather than part of the pilosa
package. If stats stops being in pilosa, it still needs
a way to import logger, so logger also has to leave the
pilosa package. Then everything using them needs to import
them and use package selectors on their names.

This doesn't actually add the stats support to roaring,
it just makes it so there's a way to import the stats
code from something in the roaring package.
2018-11-15 15:10:44 -06:00
Yuce Tekol
84c04900e1
Import roaring enpoint accepts a list of views 2018-11-12 18:43:59 +03:00
Yuce Tekol
7913a419ae
adds NoStandardView field option. Fixes #1710 2018-11-08 18:33:39 +03:00
Travis Turner
063caed8d1
forward imports to non-coordinator shards 2018-11-05 17:39:42 -06:00
Seebs
ce815471fe Drop now-superfluous methodNotAllowedHandler
Long ago, the maintainers of gorilla/mux concluded that
it was a "wontfix" to return StatusMethodNotAllowed instead
of StatusNotFound for a method mismatch. Pilosa had a
workaround for this for the most common case (GET requests
to /index/{index}/query), and a TODO to address the other
cases.

While browsing the go-pilosa client code, I noticed that there
is a test for roaring import support which relies on getting
StatusMethodNotAllowed.  But how can this work, if gorilla/mux
doesn't do that?

Answer: They started doing it in mid-2017, apparently:
	https://github.com/gorilla/mux/issues/271

Dropping this code changes the exact text of the message
produced for that one case, but not the status code,
and makes the behavior less confusing.
2018-11-01 12:59:58 -05:00
Travis Turner
e69a8f3db4
handle clear flag on import roaring (http package) 2018-10-24 15:16:08 -05:00
Travis Turner
a7a15c64a2
support clear imports to int fields. fix bug in fragment.sum 2018-10-23 17:37:57 -05:00
Travis Turner
caf8e06712
add clear functional option for imports 2018-10-23 17:37:57 -05:00
Ben Johnson
f8608227d1
Add DeleteAvailableShard()
This commit adds the ability to remove an 'available shard'
from the shard cache. This does not affect shards known to be
available because of local data.
2018-10-17 08:50:06 -06:00
Yuce Tekol
b3efa25516
Merge branch 'master' into 1637-trackexistence-by-default 2018-10-04 21:47:22 +03:00
Yuce Tekol
f89b90306b
Merge branch 'master' into 1667-update-populateValidators 2018-10-04 20:53:43 +03:00
Yuce Tekol
3539b54835
Synced query validation for handlers 2018-10-02 13:58:01 +03:00
Yuce Tekol
f7f6ff743a
index trackExistence is true by default 2018-10-01 17:45:21 +03:00
Yuce Tekol
066c3a4853
Fixes #1660 2018-10-01 14:15:51 +03:00
Travis Turner
4f17dbdbf1
add support for Bool fields
prevent import of non-boolean row values to bool fields
2018-09-21 09:25:41 -05:00
Matt Jaffee
f943c17e0b
ImportRoaring, add remote arg, fix data copy bug
also, handle err properly in client method instead of discarding.
2018-09-13 15:05:05 -05:00
Matt Jaffee
7b0d4d75b4
remove validators on import-roaring and test handler
validators are for query args, not url vars. Also some misc cleanup and error
handling in the handler.
2018-09-13 13:14:35 -05:00
Matt Jaffee
fd655c998e
rename all instances of roaringbytes
function names now importRoaring and byte slice args are just called data. Also
renamed http endpoint from /importroaring to /import-roaring
2018-09-13 12:27:23 -05:00
Matt Jaffee
f006df7758
re-order ImportRoaringBytes args to be more consistent 2018-09-13 10:39:00 -05:00
Matt Jaffee
cf47950bd7
gofmt all 2018-09-12 10:06:03 -05:00
Todd Gruben
93e5767325 cleanup #1622 2018-09-06 16:27:10 -05:00
Todd Gruben
cc80e0b0e4
initial support for bulk importing standard roaring files per shard 2018-09-05 10:13:15 -05:00
Travis Turner
f1a460aca7
adds view parameter to sync logic for syncing time fields 2018-08-16 11:27:08 -05:00
Travis Turner
fd96d3a02e
This commit ensures that keyed imports are sent to the coordinator
node (as opposed to sending to shard0, which may or may not be the
coordinator). It adds a `Nodes()` method to the `InternalClient`
which is used by the importer to determine which node is the
coordinator.
2018-08-14 12:34:17 -05:00
Cody Soyland
dd7b5f517b
Merge branch 'master' into 1513-metalinter-megacheck 2018-08-02 10:29:47 -05:00
Travis Turner
3ffafaca4a
ignore remote translation 2018-07-30 11:45:34 -05:00
Cody Soyland
e9523063b5 Fix linter issues: unused 2018-07-20 10:33:29 -05:00
Travis Turner
a07ed360ab
add mutex field type 2018-07-19 14:01:29 -05:00
Cody Soyland
0a9e6bca7a Re-add return variable names removed in 2aa4d6b1. 2018-07-19 08:09:05 -05:00
Cody Soyland
2aa4d6b12f Fix linter issues: nakedret 2018-07-18 15:23:36 -05:00
Cody Soyland
a962a0c526 Fix linter issues: deadcode 2018-07-17 17:17:42 -05:00
Cody Soyland
486edbec43 Merge branch 'master' into 1511-metalinter-interfacer 2018-07-17 13:41:11 -05:00
Cody Soyland
573ec91fc2 Fix linter issues: interfacer 2018-07-17 12:36:02 -05:00
Cody Soyland
f9625ef4fa Fix linter issues: unparam 2018-07-17 12:05:07 -05:00
Matt Jaffee
c2c1910671
fix comment typos 2018-07-10 16:38:55 -05:00