Commit Graph

3359 Commits

Author SHA1 Message Date
Aaron Boodman
06bbabd29d Update README.md 2017-02-21 15:28:15 -08:00
Aaron Boodman
8a353cda95 Update README.md 2017-02-21 15:27:38 -08:00
Aaron Boodman
0f2291477c Update README.md 2017-02-21 15:27:07 -08:00
Aaron Boodman
3ef9dc2a75 Update README.md 2017-02-21 15:26:26 -08:00
Aaron Boodman
a496c53897 Update README.md 2017-02-21 15:25:24 -08:00
Ben Kalman
9617c5c12a Make AsyncIterator a type, upgrade flow to 0.39 (#3209) 2017-02-21 14:03:26 -08:00
Aaron Boodman
4ea3981ba6 Update README.md 2017-02-21 13:13:44 -08:00
Aaron Boodman
784ff847ff Update README.md 2017-02-21 13:12:02 -08:00
Aaron Boodman
6a5dc86714 Update README.md 2017-02-21 13:08:47 -08:00
Aaron Boodman
ba90efec1b Update README.md 2017-02-21 13:04:20 -08:00
Aaron Boodman
c1487cca25 Refresh of the Noms homepage (#3208) 2017-02-21 13:01:06 -08:00
Aaron Boodman
4eaa0ba353 Remove Spec.DatasetName and Spec.Spec (#3102)
Remove Spec.DatasetName and Spec.Spec.

They were duplicating state that already existed elsewhere and easily
got out of sync.
2017-02-21 11:26:12 -08:00
Erik Arvidsson
edb81e4d15 Fix NPE in GraphQL (#3201)
When we have a cyclic type we ended up getting the non complete type out
of the map.

Use graphql.FieldsThunk which is designed to allow recursive types.
2017-02-17 14:01:41 -08:00
Ben Kalman
a020555eaf Propagate not found as GQL errors (#3200) 2017-02-17 09:32:31 -08:00
cmasone-attic
8b284a7c1e Revert "Log when s3TableReader hits the rate limiter" (#3199) 2017-02-16 15:48:45 -08:00
cmasone-attic
3391a5549c Roll aws-sdk-go (#3198)
Pull in https://github.com/aws/aws-sdk-go at 2d3b3bc3aae6a09a9b194aa6eb71326fcbe2e918
2017-02-16 15:00:27 -08:00
cmasone-attic
0cbd4b3809 Revert "Drop s3 read rate limit to 768" (#3197) 2017-02-16 11:51:16 -08:00
cmasone-attic
4069dc2109 Drop s3 read rate limit to 768 (#3196) 2017-02-16 11:44:55 -08:00
cmasone-attic
9798d6aab5 Log when s3TableReader hits the rate limiter (#3195)
We're getting some TCP hangups when trying to talk to S3.
We have an S3 reading rate limiter that's supposed to
prevent issues like this, so the question is whether that's
set too high. Rather than just turning the knob and seeing
if things are OK, this patch adds some logging to verify
that we're actually hitting the rate limiter.
2017-02-16 10:32:13 -08:00
Erik Arvidsson
cb520e76fa Fix GraphQL to use unique type names (#3194)
The names of GraphQL types needs to be globally unique. We therefore
name struct types as NAME_HASH (where hash is the first 6 chars of
the noms hash).

Also, make sure that we always map the noms type to the same GraphQL
type, even if the boxedIfScalar is true.

Fixes #3161
2017-02-15 17:24:38 -08:00
Rafael Weinstein
83b657fe62 Remove LevelDBStore (#3193)
Remove LevelDBStore
2017-02-14 21:52:25 -08:00
Rafael Weinstein
9527907674 Nbs local store factory (#3191)
Add NBS LocalStoreFactory
2017-02-14 20:52:30 -08:00
cmasone-attic
5025a45b0b Remove usages of LevelDBStore (#3190)
NBS is stable enough that we've made it the default store for command
line tools, and the go-to store for tests that require temporary, but
persistent, storage.

We intend to remove support for LevelDB-backed chunk storage
completely ASAP. This patch removes all usage of LevelDBStore from
noms.git, but doesn't remove LevelDBStore _just_ yet as there are
still some dependencies on it elsewhere.

Toward #3127
2017-02-14 19:49:23 -08:00
cmasone-attic
53d343a546 NBS: tableSet.Flatten() must exclude empty tables (#3189)
I missed this in the compaction patch :-/ I caught it in another
test when the code panic'd while trying to write a manifest with
an empty table in it. So at least it got caught there?
2017-02-14 10:46:43 -08:00
zcstarr
1898f2a588 Fix graphql css reference (#3188) 2017-02-13 11:31:17 -08:00
Sungguk Lim
3e0056a5fa Fix nitty typo from counter sample README. (#3187)
Delimiter should be `::` instead of `:`.
2017-02-13 10:05:23 -08:00
zcstarr
3f973f593d Fix staging folder to correspond to build folder (#3185) 2017-02-13 09:33:57 -08:00
Rafael Weinstein
abfaf36ae7 fix typo (#3171) 2017-02-10 13:41:16 -08:00
cmasone-attic
e836e003c5 NBS: Store total uncompressed data size in NBS tables (#3170)
BUG 3156 is caused by the compaction code trying to estimate the
maximum possible table size for chunk data pulled from a bunch of
existing tables. The problem was that we only had _compressed_ data
lengths for the chunks in existing tables, so we were drastically
underestimating the worst-case space that we might need during
compaction.

The fix is to have tables store the total number of _uncompressed_
bytes that were inserted, so that the compaction code can use this to
get the right estimate when putting together a bunch of tables.

Fixes #3156
2017-02-10 12:12:38 -08:00
Erik Arvidsson
651c140472 Add missing content type header to writeValue (#3169)
When we do a writeValue we do a POST with a request body of some binary
data. Some clients (RN) do not set the content-type header which then
leads to failure on our server.
2017-02-10 11:29:47 -08:00
cmasone-attic
7289c851f3 Work around issue #3156 (#3168)
While I dig back in to figure out how to get the debugging
info we need, work around this problem to unblock others.
2017-02-10 09:10:47 -08:00
Rafael Weinstein
140de8081c Add config prompt to graphql ui (#3167) 2017-02-09 20:51:24 -08:00
cmasone-attic
83235c7965 NBS: Calculate maxTableSize precisely (#3165)
Though Raf and I can't figure out how, it's clear that the method we
initially used for calculating the max amount of space for
snappy-compressed chunk data was incorrect. That's the root cause of
of all the chunks to be written and summing the snappy.MaxEncodedLen()
for each.

Fixes #3156
2017-02-09 11:46:06 -08:00
Rafael Weinstein
9f9a6c9137 ensure types have a name (#3166) 2017-02-09 11:44:45 -08:00
cmasone-attic
e55632e1ea Always print Bug 3156 logging (#3164)
Apparently, there's some issue running demo-server with --verbose
in prod, so we don't do it. This means that the logging info I
added isn't showing up. Change the logging code to use fmt.Fprintf()

Also, add unit test for errata functionality.

Towards #3156
2017-02-09 09:16:17 -08:00
Rafael Weinstein
ccff2044c6 remove stray file (#3163) 2017-02-08 12:27:59 -08:00
Rafael Weinstein
128207786a fix auth header (#3162) 2017-02-08 12:24:40 -08:00
Rafael Weinstein
af29700f4d Union of scalar and empty struct (#3160)
Add support for unions containing scalar values by "boxing" those scalars in that context. Also add a hash field to Struct so that empty structs have at least one field
2017-02-08 12:17:02 -08:00
Ben Kalman
b0927d852c gofmt -s -w (#3159) 2017-02-08 09:37:15 -08:00
cmasone-attic
8cfc5e6512 Gather more info about Bug 3156 (#3158)
There's some case that causes chunks that compress to more than about
55k (we think these are quite big, chunks that are many hundreds of K
in size) not to wind up correctly inserted into tables. It looks like
the snappy library believes the buffer we've allocated may not be
large enough, so it allocates its own space and this screws us up.

This patch changes two things:
1) The CRC in the NBS format is now the CRC of the _compressed_ data
2) Such chunks will be manually copied into the table, so they won't
   be missing anymore

Also, when the code detects a case where the snappy library decided to
allocate its own storage, it saves the uncompressed data off to the
side, so that it can be pushed to durable storage. Such chunks are
stored on disk or in S3 named like "<chunk-hash>-errata", and logging
is dumped out so we can figure out which tables were supposed to
contain these chunks.

Towards #3156
2017-02-07 15:43:06 -08:00
Rafael Weinstein
5a8f81f6d0 Update README.md 2017-02-07 14:44:24 -08:00
Rafael Weinstein
3cea4e9216 Graphql empty collections and types (#3157)
We need to fully map the noms types into graphql even though the mapping isn't useful, otherwise the endpoint may die when attempting to create a schema for types that aren't mapped.
2017-02-07 13:30:48 -08:00
Rafael Weinstein
487e2c9b30 GraphQL cleanup (#3154) 2017-02-07 12:08:52 -08:00
Erik Arvidsson
27c539ebd4 Update to use eslint-config-noms@1.2.0 (#3151) 2017-02-07 09:57:27 -08:00
Rafael Weinstein
00d16999e0 Better naming for graphql fields (#3153) 2017-02-06 19:45:48 -08:00
Rafael Weinstein
fff532beb3 Add experimental graphql support (#3146)
Included README.md describes initial features.

This patch includes a simple graphiql ui which is preconfigured to explore a noms/graphql endpoint
2017-02-06 19:28:54 -08:00
Mike Gray
466cab880f Remove unused samples (#3150) 2017-02-06 18:55:29 -08:00
Erik Arvidsson
f40c941dc9 Update eslint-config-noms to enforce comma-spacing (#3149) 2017-02-06 17:08:58 -08:00
Erik Arvidsson
8378d4952e Jest (#3145)
This changes to use Jest. Benefits of jest is parallel tests and jest can run the minimal set of tests that are affected by a change (by looking at dependencies).

The main work was to disentangle our cyclic dependencies. To do this I had to remove some runtime assertions in encode value as well as expose the values of a struct without going through a struct mirror.
2017-02-06 15:13:53 -08:00
cmasone-attic
ffa6de50a5 Funnel extract failure back to main goroutine (#3147)
Panics on background goroutines take down the server. This patch
hacks in a mechanism to pipe failures during NBS tableReader.extract
back to the main goroutine so the server doesn't die on this failure
and I can diagnose it.
2017-02-06 11:53:57 -08:00