-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
config: Add strict mode that forbids unknown params #45
Commits on Dec 13, 2019
-
github.com/grailbio: format Python code with black
Summary: Changes were generated by the formatter, except to fix a syntax error. Test Plan: Existing tests. Reviewers: jcharumilind, pgopal Reviewed By: jcharumilind Subscribers: smahadevan Maniphest Tasks: T29275 Differential Revision: https://phabricator.grailbio.com/D39547 fbshipit-source-id: 949fd43
Configuration menu - View commit details
-
Copy full SHA for a3c2d87 - Browse repository at this point
Copy the full SHA a3c2d87View commit details -
base: expose ETag outside s3file package
Summary: Exposes the ETag, which is a piece of data returned by S3 that contains a hash of information specific to a given version of a resource, outside of the s3file package. Test Plan: Tested in stacked diff D39535. Reviewers: rhuang, smahadevan Reviewed By: smahadevan Subscribers: smahadevan Maniphest Tasks: T29873 Differential Revision: https://phabricator.grailbio.com/D39665 fbshipit-source-id: 8078b9e
Adam Rinehouse authored and Prasad Gopal committedDec 13, 2019 Configuration menu - View commit details
-
Copy full SHA for 4ceeb5a - Browse repository at this point
Copy the full SHA 4ceeb5aView commit details -
grail-access: configurable do not refresh duration
Summary: We currently have a hard-coded duration before expiration in which credentials are not refreshed. Making this configurable via a flag helps some users who have `grail-access` in their .bashrc, etc. Test Plan: Manual testing. Reviewers: aeiser, afields Reviewed By: aeiser, afields Subscribers: smahadevan, afields Differential Revision: https://phabricator.grailbio.com/D39733 fbshipit-source-id: 38ed4f3
Siddhartha Bagaria authored and Prasad Gopal committedDec 13, 2019 Configuration menu - View commit details
-
Copy full SHA for c11b495 - Browse repository at this point
Copy the full SHA c11b495View commit details -
ticket-server: switch to simpler group.get api call to fetch cross ac…
…count Summary: T7463 switched the ticket-server to use HasMember API call that does lookups for neseted inheritence. T15539 switched the ticket-server to use cross account lookups, so a user with a @grailbio.com email could be in a group from summitstudies.co.uk and still be validated as a member. T29527 noticed that "sometimes" due to a Google API delays - the existing cross account lookup is slow. This diff reverts the cross account lookup to use the older group.get(member) API call which should avoide the API issues, and is a simplification over the old code. Test Plan: Verify in SBX staging, and create a test cross group lookup. Reviewers: #shared_infrastructure, trooney Reviewed By: trooney Subscribers: sbagaria, joshnewman, rhuang, smahadevan, mfoster Maniphest Tasks: T29527 Differential Revision: https://phabricator.grailbio.com/D39771 fbshipit-source-id: 335e2a8
Alex Eiser authored and Prasad Gopal committedDec 13, 2019 Configuration menu - View commit details
-
Copy full SHA for ce8d957 - Browse repository at this point
Copy the full SHA ce8d957View commit details -
conta-sample: use blacklist for filtering snps
Summary: blacklist must be a tsv containing columns: chr, pos, blacklist When using the --blacklist parameter, drop snps if their blacklist column contains TRUE. Ref T24754 Test Plan: Added unit test Reviewers: edamato, psingh Reviewed By: psingh Subscribers: smahadevan Maniphest Tasks: T24698, T24754 Differential Revision: https://phabricator.grailbio.com/D40257 fbshipit-source-id: 24b7f69
Alexander Yip authored and Prasad Gopal committedDec 13, 2019 Configuration menu - View commit details
-
Copy full SHA for 22e7d48 - Browse repository at this point
Copy the full SHA 22e7d48View commit details -
update go.mod to upgrade AWS SDK to v1.23.22
Summary: Upgrade AWS Go SDK version to v1.23.22 (primarily to make OSS and Grail Reflow versions compatible with each other) - Fix tests and code which otherwise breaks in the new version, specifically in the following files: `go/src/github.com/grailbio/base/file/s3file/s3file.go` `go/src/github.com/grailbio/reflow/blob/s3blob/s3blob.go` `go/src/github.com/grailbio/reflow/blob/s3blob/s3blob_test.go` - Regenerated mocks under SCRMS Test Plan: Unit tests Reviewers: pgopal, O3 third-party, O15 scrms, psteed, bbentson Reviewed By: pgopal, O3 third-party, O15 scrms, psteed, bbentson Subscribers: jcharumilind, dnicolaou, sbagaria Differential Revision: https://phabricator.grailbio.com/D40307 fbshipit-source-id: 596089e
Configuration menu - View commit details
-
Copy full SHA for 727dd69 - Browse repository at this point
Copy the full SHA 727dd69View commit details
Commits on Dec 16, 2019
-
base/admit: Refactor methods in admit package for easier policy imple…
…mentations Summary: Refactor the convenience methods in admit package in the following way: - `admit.Do` takes a `func () (bool, error)` where the `bool` is the direct feedback to the policy's `Release()` method. - `admit.Retry` takes a `func () (CapacityStatus, error)` where the `CapacityStatus` is one of `{Within, OverNeedRetry, OverNoRetry}` and gives feedback to both the policy's `Release()` method and on how the `admit.Retry` method should behave w.r.t retries. Test Plan: Unit tests. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: pgopal, dnicolaou Tags: PHID-PROJ-dtbui7u2vg2f25wzkosc Maniphest Tasks: T30447 Differential Revision: https://phabricator.grailbio.com/D40009 fbshipit-source-id: d8a3170
Configuration menu - View commit details
-
Copy full SHA for b78f30d - Browse repository at this point
Copy the full SHA b78f30dView commit details -
base/admit: Add an AIMD-based controller
Summary: Implement an AIMD-based controller as described in: https://docs.google.com/document/d/1Nl3UyQXTRusXDu8tIt_s9N6JxXu1vhuKeBYssyaKcGU Test Plan: Unit tests. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: pgopal, dnicolaou Tags: PHID-PROJ-dtbui7u2vg2f25wzkosc Maniphest Tasks: T30447 Differential Revision: https://phabricator.grailbio.com/D40054 fbshipit-source-id: 2aee1ca
Configuration menu - View commit details
-
Copy full SHA for c504fd7 - Browse repository at this point
Copy the full SHA c504fd7View commit details
Commits on Jan 23, 2020
-
base/s3file: Use AWS IsErrorRetryable for all error types
Summary: Instead of using the AWS SDK method `IsErrorRetryable` for AWS errors use it for all errors and fix the only test case which should be using AWS error types anyway. Test Plan: Unit tests Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: joshnewman Maniphest Tasks: T30700 Differential Revision: https://phabricator.grailbio.com/D40391 fbshipit-source-id: d9440ee
Configuration menu - View commit details
-
Copy full SHA for ea51627 - Browse repository at this point
Copy the full SHA ea51627View commit details -
base/file: Consider all RequestErrors as retryable regardless of cause
Summary: Since the move to AWS Go SDK v1.23.22, many of S3 transient errors are being considered as non-retryable which has been causing problems for users of bigslice particularly. This change makes us consider all AWS errors of type `RequestError`, regardless of underlying cause, as retryable, except in the case of context errors. Test Plan: Unit tests Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: joshnewman Maniphest Tasks: T30700, T30832 Differential Revision: https://phabricator.grailbio.com/D40560 fbshipit-source-id: b9933f9
Configuration menu - View commit details
-
Copy full SHA for ae2060d - Browse repository at this point
Copy the full SHA ae2060dView commit details -
embedbin: embed assets in binaries much faster, based on fatbin
Summary: Uses fatbin's mechanism for appending zip files to the end of executables. It's an alternative to [go_embed_data](https://github.com/bazelbuild/rules_go/blob/3762b89ad8b1d71007a4a07b194a48d505613c15/go/extras.rst#id3), which we've used (D39858), but this is faster: go_embed_data took ~1-2 minutes to embed the deepmm binary package (Pytorch is large) in a Go binary (classifier-evaluation-deepmm) whereas embedbin only takes ~10 s, making the development and testing experience much nicer. Perhaps more importantly, go_embed_data generates a ~3 GiB .go source file, which causes things like Bazel coverage measurement to OOM, whereas embedbin does no such thing. I prototyped reusing fatbin's internals (instead of copying), but I ended up copying because 1) they're not too complicated, 2) I think it's a good idea for embedbin binaries to use different magic because they're not interchangeable with fatbin binaries, 3) code and API reuse isn't too significant given that fatbins unify handling of the base executable and alternatives, whereas those are conceptually distinct in embedbin. Test Plan: Unit test suite adapted from fatbin's, as well as an end-to-end Bazel test that runs the gofat tool to embed files, then checks that the files are correctly embedded. This coverage would probably be useful in the Github version, but I don't know how to run it since the Github version does not use Bazel, so for now I've added this end-to-end test internally. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: jschellenberger, aeiser, sbagaria, bbentson, skrishnamurthy, mmaher, smahadevan Maniphest Tasks: T30452 Differential Revision: https://phabricator.grailbio.com/D40476 fbshipit-source-id: 69b2103
Configuration menu - View commit details
-
Copy full SHA for cf1680f - Browse repository at this point
Copy the full SHA cf1680fView commit details
Commits on Mar 26, 2020
-
Add eventlog, package for semi-structured event logging (grailbio#12)
Add the `eventlog` package which provides semi-structured event logging for convenient analytics. Example usage: ``` sess := session.NewSession() cw := cloudwatchlogs.New(sess) e := NewCloudWatchEventer(cw, "myLogGroup", "myLogStream") e.Event("rpcRetry", "org", "GRAIL", "retry", 0, "maxRetry", 10) e.Event("machineStopped", "addr", "192.168.1.1", "duration", 3600.0, "startTime": 1584140534) ``` These events will then be available in CloudWatch Logs (and therefore easily made available in Athena) for analysis.
Configuration menu - View commit details
-
Copy full SHA for 59f2288 - Browse repository at this point
Copy the full SHA 59f2288View commit details
Commits on Apr 17, 2020
-
grail-ticket: allow execution of sub commands
Summary: Allow grail-ticket to exec a command with the aws environment flags Test Plan: n/a Reviewers: #shared_infrastructure, joshnewman, aeiser Reviewed By: #shared_infrastructure, aeiser Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D41635 fbshipit-source-id: 087dcd2
Alex Eiser authored and Prasad Gopal committedApr 17, 2020 Configuration menu - View commit details
-
Copy full SHA for e95c12a - Browse repository at this point
Copy the full SHA e95c12aView commit details
Commits on Apr 30, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 223f7ea - Browse repository at this point
Copy the full SHA 223f7eaView commit details
Commits on May 2, 2020
-
Guard nil HeadObjectOutput fields (grailbio#17)
See grailbio#14 (comment) for context.
Configuration menu - View commit details
-
Copy full SHA for ec89c5f - Browse repository at this point
Copy the full SHA ec89c5fView commit details
Commits on May 28, 2020
-
Configuration menu - View commit details
-
Copy full SHA for d7adc54 - Browse repository at this point
Copy the full SHA d7adc54View commit details
Commits on Jun 24, 2020
-
Upgrade v.io to 0.1.8 (grailbio#19)
Co-authored-by: Alex Wissmann <awissmann@grailbio.com>
Configuration menu - View commit details
-
Copy full SHA for 8f01d47 - Browse repository at this point
Copy the full SHA 8f01d47View commit details
Commits on Aug 17, 2020
-
Summary: I'd like to make some changes to grail-access. I've wondered for a long time why it deletes an existing Vanadium principal before it starts an authentication flow instead of just updating the blessing. I partly think it's inelegant, but I've also seen multiple problems in #eng-help that were caused or exacerbated by running grail-access, canceling it, and not realizing that destroys the credentials. After a bit of code inspection recently, I think grail-access has quite a bit of historical cruft in its code (handling of the principal and its blessings is disorganized and redundant), and I think the patches to work around agent errors could be fixed in a more principled way. However, since we use it a lot and I'm learning as I go along, my first step is to introduce some tests. These all invoke grail-access as if from a shell and check its behavior and output to ensure user-visible behavior is unchanged. The connection of this to my actual work is rather distant: I am hoping this fixes a grail-fuse issue which will make it easier to do non-Go analysis work and otherwise streamline some dev environment tasks and then I'll be so much more productive (ha). I think it's worth giving grail-access some attention, since it is almost in its initial prototype state from three years ago, but it might just take some time, and I understand if it takes time to review. Test Plan: Tests the EC2 blesser. I don't know how to reasonably fake the Google oauth2 server, but that's also the more reasonable flow to test manually, so we may need to just rely on that. Tests pass with both Bazel and `go test`. Reviewers: aeiser Reviewed By: aeiser Subscribers: smahadevan, krestivo, afields, sbagaria Differential Revision: https://phabricator.grailbio.com/D44965 fbshipit-source-id: e2ff93d
Configuration menu - View commit details
-
Copy full SHA for bb620fe - Browse repository at this point
Copy the full SHA bb620feView commit details -
grail-access: add test for oauth2 flow
Summary: Mitch pointed me to some helpful references and I assembled a test for part of the Google authentication flow. I'm not bothering with anything browser-y, instead assuming the user used their browser to get a code (which is then ignored). While this test skips some of the flow, I think it's still useful, at least exercising the Vanadium bits. Test Plan: Yes. Reviewers: aeiser, mskinner Reviewed By: mskinner Subscribers: jcharumilind, smahadevan Differential Revision: https://phabricator.grailbio.com/D45052 fbshipit-source-id: bc48505
Configuration menu - View commit details
-
Copy full SHA for 4f415d3 - Browse repository at this point
Copy the full SHA 4f415d3View commit details -
ticket-server: support special characters in email and group addresses
Summary: Allow the ticket-server email and group regex to have special characets like `-`, `_`,`+`, and `.`. NOTE: this is not a complete regex of all supported email characters. e.g. Uppercase is not included since Google lowercases all addresses. Closes T36541 Test Plan: Verified as part of D45302 Reviewers: #shared_infrastructure, ender, bbentson Reviewed By: #shared_infrastructure, bbentson Subscribers: smahadevan Maniphest Tasks: T36541 Differential Revision: https://phabricator.grailbio.com/D45350 fbshipit-source-id: 2047926
Alex Eiser authored and Alexander Yip committedAug 17, 2020 Configuration menu - View commit details
-
Copy full SHA for 147f839 - Browse repository at this point
Copy the full SHA 147f839View commit details -
ticket-server: add ssh certificate support
Summary: Add support to the ticket-server to sign SSH Certificates for easier access to systems that are managed by teams. Add new grail-ssh command to simplify the use of the SSH Certificates. Design doc: https://docs.google.com/document/d/1_pKjirMinqm8UykFqEm5bqAqnwLOsV3qazio0pjE80I/edit Test Plan: Tested locally and in staging Reviewers: treaster, #shared_infrastructure Reviewed By: treaster Subscribers: sbagaria, smahadevan, treaster Maniphest Tasks: T36722 Differential Revision: https://phabricator.grailbio.com/D41472 fbshipit-source-id: a6cdc49
Alex Eiser authored and Alexander Yip committedAug 17, 2020 Configuration menu - View commit details
-
Copy full SHA for 4ef097c - Browse repository at this point
Copy the full SHA 4ef097cView commit details -
s3file: retry on InternalServerError
Summary: [We've started encountering this error](https://grailbio.slack.com/archives/CRRJ02JCQ/p1590079383265300) during S3 throttling. Test Plan: Unit tests. Reviewers: jcharumilind, smahadevan Reviewed By: jcharumilind Subscribers: soheil, jschellenberger Differential Revision: https://phabricator.grailbio.com/D45625 fbshipit-source-id: 4a15ddf
Configuration menu - View commit details
-
Copy full SHA for 9672514 - Browse repository at this point
Copy the full SHA 9672514View commit details -
grail-access: don't destroy credentials on cancellation
Summary: As mentioned in D44965, several people have asked in #eng-help about issues with grail-access where deleting credentials before starting a new authentication flow made things worse. In the process, I've made some other improvements: * Load principal with `agentlib` before calling `v23.Init`. This avoids some potentially confusing conflicts where `v23.Init` starts an agent and locks the principal so we can't load it. * Respect `$V23_CREDENTIALS` is present. I think we should just delete our `-dir` flag, but I want to preserve compatibility for now. * General cleanup: code deduplication, consistent logging, consistent contexts. Test Plan: Existing unit tests (from D44965), run on macOS and Linux with both Bazel and go test. Also, I wrote a test script for manually testing the Google flow and executed on macOS and Linux. Output on Linux (with redactions): $ cmd/grail-access/manual_google_test.bash Instructions: Running manual tests. If the script exits with a non-zero error code, the tests failed. You'll also be prompted to review output manually. If it doesn't look right, the tests failed. Using temporary directory for test: /tmp/tmp.PZSaBvnIrf Building grail-access for the test... Step 1/3: Starting grail-access Google authentication flow. Please complete it. ************************************************************************ 2020/05/28 06:08:37 INFO: Couldn't load principal from ./v23. Creating new one... I0528 06:08:37.176503 16864 google.go:67] listening: 127.0.0.1:35689 The attempt to automatically open a browser failed. Please open the following link: https://accounts.google.com/o/oauth2/v2/auth?... Paste the received code and then press enter: ... Successfully applied new blessing: Public key: 6c:c8:a6:22:01:83:b5:61:f4:0e:f9:f0:3c:ab:73:d8 ---------------- BlessingStore ---------------- Default Blessings v23.grail.com:google:joshnewman@grailbio.com Peer pattern Blessings ... v23.grail.com:google:joshnewman@grailbio.com ---------------- BlessingRoots ---------------- Public key Pattern 98:61:28:77:eb:5f:97:7f:2c:ef:4d:1b:f1:4d:fd:c0 [v23.grail.com] Expires on 2020-06-04 06:08:45.544893802 +0000 UTC (in 168h0m0.002995278s) ************************************************************************ Done with authentication flow. If it succeeded, you should lines like these above: Default Blessings v23.grail.com:google:YOUR_USERNAME@grailbio.com and ... v23.grail.com:google:YOUR_USERNAME@grailbio.com and an expiration date in the future. Continue with next test? [Y] Step 2/3: Next, running the same flow, but automatically canceling. ************************************************************************ I0528 06:08:49.313507 16964 google.go:67] listening: 127.0.0.1:38975 The attempt to automatically open a browser failed. Please open the following link: https://accounts.google.com/o/oauth2/v2/auth?... Paste the received code and then press enter: ERROR: failed to fetch blessings: EOF ************************************************************************ Step 3/3: Finally, make sure our Step 1 credentials survived. ************************************************************************ Public key: 6c:c8:a6:22:01:83:b5:61:f4:0e:f9:f0:3c:ab:73:d8 ---------------- BlessingStore ---------------- Default Blessings v23.grail.com:google:joshnewman@grailbio.com Peer pattern Blessings ... v23.grail.com:google:joshnewman@grailbio.com ---------------- BlessingRoots ---------------- Public key Pattern 98:61:28:77:eb:5f:97:7f:2c:ef:4d:1b:f1:4d:fd:c0 [v23.grail.com] Expires on 2020-06-04 06:08:45.544893802 +0000 UTC (in 167h59m56.20723528s) ************************************************************************ You should see the same blessing lines as in Step 1, and a consistent expiry time. If not, the tests failed. Cleaning up test directory: /tmp/tmp.PZSaBvnIrf Reviewers: aeiser Reviewed By: aeiser Subscribers: jcharumilind, krestivo, smahadevan Differential Revision: https://phabricator.grailbio.com/D45022 fbshipit-source-id: 76802df
Configuration menu - View commit details
-
Copy full SHA for 349e292 - Browse repository at this point
Copy the full SHA 349e292View commit details -
grail-ticket-ecr: Create an image repo and image for grail-ticket (en…
…g and prepostdev) Test Plan: Check that the image is produced via webconsole (It was been produced) Reviewers: O34 Pre/Post, treaster, fdegiuli Reviewed By: O34 Pre/Post, treaster Subscribers: #lab_testing, smahadevan Differential Revision: https://phabricator.grailbio.com/D45662 fbshipit-source-id: a47a020
Brian Bentson authored and Alexander Yip committedAug 17, 2020 Configuration menu - View commit details
-
Copy full SHA for 7b88ac7 - Browse repository at this point
Copy the full SHA 7b88ac7View commit details -
ticket-server: remove terms reflecting mniorities
Summary: Remove terms and references that are based in racial segregation. REF: T37372 Test Plan: unit tests related to allow/deny Reviewers: bbentson, skrishnamurthy, ender Reviewed By: skrishnamurthy Subscribers: smahadevan Maniphest Tasks: T37372 Differential Revision: https://phabricator.grailbio.com/D46020 fbshipit-source-id: ca05c4c
Alex Eiser authored and Alexander Yip committedAug 17, 2020 Configuration menu - View commit details
-
Copy full SHA for 8aee9a5 - Browse repository at this point
Copy the full SHA 8aee9a5View commit details -
grail-ticket: Include grail-access in the grail-ticket docker image
Summary: We want one image with both grail-access and grail-ticket so dumping grail-access binary into grail-ticket image. Test Plan: apply it to the trs server. ``` ******************************************************* * WARNING: $V23_CREDENTIALS is not defined! * ******************************************************* How to fix this in bash: export V23_CREDENTIALS=/root/.v23 2020/06/11 17:39:01 INFO: Couldn't load principal from /root/.v23. Creating new one... ERROR: failed to fetch blessings: grail-access:<rpc.Client>"/ticket-server.eng.grail.com:8102/blesser/ec2".BlessEc2: Error: launch time is too old: 2020-06-05 17:32:11 +0000 UTC should be within 1h0m0s ``` Returns the proper failure mode Reviewers: fdegiuli, treaster Reviewed By: fdegiuli Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D46068 fbshipit-source-id: 117bea8
Brian Bentson authored and Alexander Yip committedAug 17, 2020 Configuration menu - View commit details
-
Copy full SHA for a190761 - Browse repository at this point
Copy the full SHA a190761View commit details -
base/file: refactor: split s3file.go into a few pieces
Summary: It accumulated many types and functions over the years and they were sometimes interleaved in ways that didn't promote readability. I've split out a few files mostly centered around particular operations. This should be a pure refactoring. Almost all changes are just moving things between files, with a few documentation changes and converting an unexported function to a method (with a receiver). I expect no behavior changes. Test Plan: Existing builds and tests. The test code was smaller and I didn't refactor it. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D46285 fbshipit-source-id: 53ac2a7
Configuration menu - View commit details
-
Copy full SHA for ac1136d - Browse repository at this point
Copy the full SHA ac1136dView commit details -
base/file: basic s3file metrics logging
Summary: I considered doing more sophisticated things (Cloudwatch, Prometheus push, etc.), but I don't think it's clear yet how we want to use these (and how long they'll stick around), so simple counting and logging seems like the best short-term approach. It'll be easy to revert and replace later, or extend to cover more S3 request types. Test Plan: Ran an S3-heavy program and observed logging like 2020/06/22 23:40:07 s3file metrics: op:stat n:996 r:996/0/0/0 t:0/0/864/132/0/0/0 mib:0 [/min] 2020/06/22 23:40:07 s3file metrics: op:read n:181692 r:3462/0/0/0 t:172248/5850/2562/1032/0/0/0 mib:10154 [/min] 2020/06/22 23:40:17 s3file metrics: op:read n:13458 r:0/0/0/0 t:3234/10182/42/0/0/0/0 mib:13458 [/min] 2020/06/22 23:40:27 s3file metrics: op:read n:13422 r:0/0/0/0 t:2442/10932/42/0/0/0/0 mib:13416 [/min] Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan, jschellenberger Differential Revision: https://phabricator.grailbio.com/D46329 fbshipit-source-id: f0ed231
Configuration menu - View commit details
-
Copy full SHA for 1760b99 - Browse repository at this point
Copy the full SHA 1760b99View commit details -
fragments: allow optional larger field read buffers
Summary: Experiments suggest this greatly reduces S3 request rate for sequential access patterns. Test Plan: Read fragments files (which go through recordio magic checking, etc.) using a few programs. New simple unit tests as well as more extensive randomized operation generation and comparison to `bytes.Buffer` (as a golden reference). File reading benchmarks (that are quick and run on SSD, not S3, and thus are unaffected by the original issue) are unchanged, which is good. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan, jschellenberger Differential Revision: https://phabricator.grailbio.com/D46330 fbshipit-source-id: 2acf8f3
Configuration menu - View commit details
-
Copy full SHA for 7005aae - Browse repository at this point
Copy the full SHA 7005aaeView commit details -
ticket-server: allow multiple email domains from different google acc…
…ounts to be validated as ticket-server users Summary: Allow the ticket-server to support multiple google domains when performing user verification and blessing. Allow the ticket-server to support multiple google domains when performing google group lookups Correct incorrect regex that did not escape special characters `.\([`. FIXES T37864 Test Plan: Run local ticket-server Perform several calls to create a user, and use tickets ``` GB-C02YR4M9LVCG:sandbox.grail aeiser$ grail-access -blesser-google=/@6@wsh@:9002@@35741be6d925abac81c7878ff24e7dfa@s@v23.grail.com@@/blesser/google I0618 22:23:21.863538 40060 google.go:67] listening: 127.0.0.1:53322 Opening "https://accounts.google.com/o/oauth2/v2/auth?access_type=online&client_id=27162366543-edih9cqc3t8p5hn9ord1k1n7h4oajfhm.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A53322&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&state=3f9d3f4f2bec9c70f6c7bd371593e0b1"... Successfully applied new blessing: Public key: cc:e5:97:7d:a8:f9:19:b1:fe:60:7d:5d:b3:98:29:26 ---------------- BlessingStore ---------------- Default Blessings v23.grail.com:google:aeiser@contractors.grail.com Peer pattern Blessings ... v23.grail.com:google:aeiser@contractors.grail.com ---------------- BlessingRoots ---------------- Public key Pattern 98:61:28:77:eb:5f:97:7f:2c:ef:4d:1b:f1:4d:fd:c0 [v23.grail.com] Expires on 2020-06-25 22:24:42.691220945 -0700 PDT (in 167h59m59.981234945s) ``` ``` GB-C02YR4M9LVCG:sandbox.grail aeiser$ grail-access -blesser-google=/@6@wsh@:9002@@35741be6d925abac81c7878ff24e7dfa@s@v23.grail.com@@/blesser/google I0618 22:24:50.558327 40198 google.go:67] listening: 127.0.0.1:53714 Opening "https://accounts.google.com/o/oauth2/v2/auth?access_type=online&client_id=27162366543-edih9cqc3t8p5hn9ord1k1n7h4oajfhm.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A53714&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&state=c09ce502d5980d70a84d227579c9b209"... ERROR: failed to fetch blessings: grail-access:<rpc.Client>"/@6@wsh@:9002@@35741be6d925abac81c7878ff24e7dfa@s@v23.grail.com@@/blesser/google".BlessGoogle: Error: ID token has a wrong hosted domain: got "sandbox.grail.com", want "grailbio.com,contractors.grail.com" ``` ``` GB-C02YR4M9LVCG:sandbox.grail aeiser$ grail-access -blesser-google=/@6@wsh@:9002@@35741be6d925abac81c7878ff24e7dfa@s@v23.grail.com@@/blesser/google I0618 22:24:58.766576 40203 google.go:67] listening: 127.0.0.1:53723 Opening "https://accounts.google.com/o/oauth2/v2/auth?access_type=online&client_id=27162366543-edih9cqc3t8p5hn9ord1k1n7h4oajfhm.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Flocalhost%3A53723&response_type=code&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&state=a34a4e69355f5f0a77e20c5d2df46722"... Successfully applied new blessing: Public key: cc:e5:97:7d:a8:f9:19:b1:fe:60:7d:5d:b3:98:29:26 ---------------- BlessingStore ---------------- Default Blessings v23.grail.com:google:aeiser@grailbio.com Peer pattern Blessings ... v23.grail.com:google:aeiser@grailbio.com ---------------- BlessingRoots ---------------- Public key Pattern 98:61:28:77:eb:5f:97:7f:2c:ef:4d:1b:f1:4d:fd:c0 [v23.grail.com] Expires on 2020-06-25 22:25:02.026613997 -0700 PDT (in 167h59m59.992090997s) ``` Before aeiser@contractors.grail.com added to eng/dev ``` GB-C02YR4M9LVCG:sandbox.grail aeiser$ grail-access -blesser-google=/@6@wsh@:9002@@f085cdc756039daeccdb46a54cb2ac2a@s@v23.grail.com@@/blesser/google Successfully applied new blessing: Public key: cc:e5:97:7d:a8:f9:19:b1:fe:60:7d:5d:b3:98:29:26 ---------------- BlessingStore ---------------- Default Blessings v23.grail.com:google:aeiser@contractors.grail.com Peer pattern Blessings ... v23.grail.com:google:aeiser@contractors.grail.com ---------------- BlessingRoots ---------------- Public key Pattern 98:61:28:77:eb:5f:97:7f:2c:ef:4d:1b:f1:4d:fd:c0 [v23.grail.com] Expires on 2020-06-25 22:41:20.033580147 -0700 PDT (in 167h59m59.993922147s) GB-C02YR4M9LVCG:sandbox.grail aeiser$ grail-aws //@6@wsh@:9002@@f085cdc756039daeccdb46a54cb2ac2a@s@v23.grail.com@@/eng/dev/admin no subcommand specified, inferring 'credentials' based on other args E0618 22:41:33.777187 40932 conncache.go:319] Failed to resolve (wsh, :9002): lookup : no such host ticket-server:"eng/dev/admin".Get: Access denied: ticket-server:"eng/dev/admin".Get: not authorized to call eng/dev/admin.Get: ticket-server:"eng/dev/admin".Get: [v23.grail.com:google:aeiser@contractors.grail.com] does not have Read access (rejected blessings: []) ``` After adding to eng/dev ``` GB-C02YR4M9LVCG:sandbox.grail aeiser$ grail-aws /@6@wsh@:9002@@e10baa5fa1ae90e431e077e2ab7531af@s@v23.grail.com@@/eng/dev/admin no subcommand specified, inferring 'credentials' based on other args E0618 22:34:08.812232 40729 conncache.go:319] Failed to resolve (wsh, :9002): lookup : no such host export AWS_ACCESS_KEY_ID=ASIAZAUXVPWNLVEPKWOU export AWS_SECRET_ACCESS_KEY=XXXX export AWS_SESSION_TOKEN=YYYY ``` Reviewers: #shared_infrastructure, btoledo Reviewed By: #shared_infrastructure, btoledo Subscribers: joshnewman, contractor-aeiser, btoledo, smahadevan Maniphest Tasks: T37864 Differential Revision: https://phabricator.grailbio.com/D46325 fbshipit-source-id: c6a773e
Alex Eiser authored and Alexander Yip committedAug 17, 2020 Configuration menu - View commit details
-
Copy full SHA for e67502a - Browse repository at this point
Copy the full SHA e67502aView commit details -
base/file: DNS resolution metrics
Summary: The [S3 performance guide](http://web.archive.org/web/20200624062712/https://docs.aws.amazon.com/AmazonS3/latest/dev/optimizing-performance-design-patterns.html) recommends using diverse S3 IPs (to distribute load and reduce throttling). This revision adds a metric to count unique remote IPs used by s3file's underlying HTTP clients. In one example program, I see no diversity: 2020/06/24 06:35:38 s3file metrics: op:stat n:120 r:120/0/0/0 t:0/0/120/0/0/0/0 mib:0 [/min] 2020/06/24 06:35:38 s3file metrics: op:read n:10020 r:552/0/0/0 t:9420/48/540/12/0/0/0 mib:309 [/min] 2020/06/24 06:35:38 s3file metrics: op:dial 94/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0 Sometimes it's a little better: 2020/06/24 06:35:10 s3file metrics: op:stat n:120 r:120/0/0/0 t:0/0/84/36/0/0/0 mib:0 [/min] 2020/06/24 06:35:10 s3file metrics: op:read n:9168 r:552/0/0/0 t:8598/12/372/186/0/0/0 mib:282 [/min] 2020/06/24 06:35:10 s3file metrics: op:dial 51/23/1/0/0/0/0/0/0/0/0/0/0/0/0/0 I plan to check on a few more important, often-throttled ones and then look into fixing this. A simple experiment program (resolvetest) suggests that we often get the same result for a few seconds at a time, perhaps due to caching (in Go or Ubuntu or AWS or elsewhere?), which may be useful if we try to fix this later: 0.000000: 52.218.193.106 0.027276: 52.218.193.106 0.002374: 52.218.193.106 0.004290: 52.218.193.106 0.008292: 52.218.193.106 0.016247: 52.218.193.106 0.032277: 52.218.193.106 0.064325: 52.218.193.106 0.128351: 52.218.193.106 0.256322: 52.218.193.106 0.512338: 52.218.193.106 1.024396: 52.218.193.106 1.025318: 52.218.193.106 1.024379: 52.218.192.194 1.031849: 52.218.192.194 1.024471: 52.218.246.131 1.044295: 52.218.246.131 1.024388: 52.218.246.131 1.024385: 52.218.246.131 1.024385: 52.218.216.186 1.025139: 52.218.180.227 1.025214: 52.218.180.227 1.024409: 52.218.180.227 1.024383: 52.218.180.227 1.024413: 52.218.180.227 1.024368: 52.218.246.211 1.025224: 52.218.248.50 1.025222: 52.218.222.27 1.025249: 52.218.222.27 1.024392: 52.218.176.163 1.025139: 52.218.193.50 Test Plan: Ran programs with the `-s3file.metric_http_addr` flag. Ran resolvetest. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Maniphest Tasks: T38104 Differential Revision: https://phabricator.grailbio.com/D46444 fbshipit-source-id: 067b1c6
Configuration menu - View commit details
-
Copy full SHA for dac1b72 - Browse repository at this point
Copy the full SHA dac1b72View commit details -
bio/pileup: fixit: LoadFa update
Summary: This updates bio/pileup and everything depending on it to use bio/encoding/fasta, now that D46599 has made it painless. Test Plan: Existing tests pass. end_to_end_model_training_contasource.sh ran to completion on my adhoc. Reviewers: sbagaria, ayip Reviewed By: sbagaria Subscribers: escott, cyakym, sbanville, cchang, smahadevan Maniphest Tasks: T32685 Differential Revision: https://phabricator.grailbio.com/D46681 fbshipit-source-id: ea6bf9e
Christopher Chang authored and Alexander Yip committedAug 17, 2020 Configuration menu - View commit details
-
Copy full SHA for 614bee7 - Browse repository at this point
Copy the full SHA 614bee7View commit details -
bigslice/sliceflags: move ticket-based AWS configuration to cloud/aws…
…session Summary: Move ticket-based AWS configuration to common function in `cloud/awssession`, as discussed in D46367. Test Plan: Run bigslice-demo example program. Reviewers: joshnewman Reviewed By: joshnewman Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D46792 fbshipit-source-id: a9745c7
Configuration menu - View commit details
-
Copy full SHA for fa8efdf - Browse repository at this point
Copy the full SHA fa8efdfView commit details -
Summary: Adding a DeepSize() method which can compute the size of a complex struct. Included also is an IntervalSet struct which could use some work. Test Plan: extensive unit testing Reviewers: joshnewman, jcharumilind Reviewed By: joshnewman Subscribers: smahadevan Maniphest Tasks: T38940 Differential Revision: https://phabricator.grailbio.com/D47011 fbshipit-source-id: ebf03ed
Jan Schellenberger authored and Alexander Yip committedAug 17, 2020 Configuration menu - View commit details
-
Copy full SHA for 3eddff7 - Browse repository at this point
Copy the full SHA 3eddff7View commit details -
s3file: list buckets with all clients rather than any
Test Plan: Existing tests, and some queries with grail-file and grail-fuse. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Maniphest Tasks: T30452 Differential Revision: https://phabricator.grailbio.com/D46790 fbshipit-source-id: 3441fff
Configuration menu - View commit details
-
Copy full SHA for 18b8fd6 - Browse repository at this point
Copy the full SHA 18b8fd6View commit details -
grail-fuse: handle directory markers
Test Plan: I used to see nothing from `ls /mnt/s3/.../dir_with_dir_marker`. Now I see the correct contents. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Maniphest Tasks: T30452 Differential Revision: https://phabricator.grailbio.com/D47379 fbshipit-source-id: afbb9ae
Configuration menu - View commit details
-
Copy full SHA for c4bfcca - Browse repository at this point
Copy the full SHA c4bfccaView commit details -
grail-ticket: convert raw ticket to JSON only when necessary
Summary: Converting large tickets to JSON is an expensive operation and in some cases, causes grail-ticket to hang. Only convert raw ticket data to JSON when the output is going to be in JSON format. Test Plan: Ran `grail-ticket tickets/aws-grail-edc-dev/global/secrets/summitRandomizationSchedule` (without the changes), grail-ticket hangs. Ran `bazel run //go/src/github.com/grailbio/base/cmd/grail-ticket -- tickets/aws-grail-edc-dev/global/secrets/summitRandomizationSchedule` (with the changes), the ticket is pulled down successfully. Reviewers: noah, aeiser Reviewed By: aeiser Subscribers: dgustafson, smahadevan, bbentson Maniphest Tasks: T39843 Differential Revision: https://phabricator.grailbio.com/D47898 fbshipit-source-id: dee3c42
Ani Jonnavithula authored and Alexander Yip committedAug 17, 2020 Configuration menu - View commit details
-
Copy full SHA for dc4ab51 - Browse repository at this point
Copy the full SHA dc4ab51View commit details -
bio/demuxbcl: allow 256+ samples
Summary: The first version of demuxbcl was limited to 255 samples, since it was convenient to use the "bytes" package and gunsafe.ExtendBytes() for a few operations. However, since we now know we need to demux larger numbers of samples at a time, this revision changes the sampleId type to uint16, which raises the limit to 65535 samples. bytes.IndexByte() was actually moderately important for performance, so I've added the analogous simd.IndexU16() function. Test Plan: Existing tests pass, and unit test and benchmark have been added for simd.IndexU16(). Reran bio-demux-bcl on the dataset mentioned in T34299, and verified results were unchanged. Reviewers: ayip, ghorrell Reviewed By: ayip Subscribers: smahadevan, escott, sramani, nshojaee, cchang Maniphest Tasks: T39842 Differential Revision: https://phabricator.grailbio.com/D48010 fbshipit-source-id: d47d8ab
Christopher Chang authored and Alexander Yip committedAug 17, 2020 Configuration menu - View commit details
-
Copy full SHA for 8e5f8ec - Browse repository at this point
Copy the full SHA 8e5f8ecView commit details
Commits on Oct 1, 2020
-
Remove Go 1.12 from CI (grailbio#23)
As of grailbio@349e292, we are no longer Go 1.12-compatible. Go 1.12 is 3 versions out of date now, so we are fully dropping support. This fixes part of the current build failures introduced by the last push from the GRAIL internal repository.
Configuration menu - View commit details
-
Copy full SHA for b2189c7 - Browse repository at this point
Copy the full SHA b2189c7View commit details -
When we synced grailbio@4ef097c#diff-8b7b38c62b815a44970c5332bcadd718R64-R72 from our internal repository, we introduced a dependence on `ssh-keygen` support of the `-` argument to read from standard input. The version of `ssh-keygen` shipped on trusty does not support it. Upgrade our build to use xenial. (We may consider upgrading further, but I am trying to make the minimal changes to make our CI build succeed again).
Configuration menu - View commit details
-
Copy full SHA for 1ee4ef0 - Browse repository at this point
Copy the full SHA 1ee4ef0View commit details
Commits on Oct 8, 2020
-
Upgrade dependencies to fix build errors with recent versions (grailb…
…io#22) Co-authored-by: Jaran Charumilind <jcharumilind@grailbio.com>
Configuration menu - View commit details
-
Copy full SHA for 39a424c - Browse repository at this point
Copy the full SHA 39a424cView commit details
Commits on Jan 8, 2021
-
ticket-server: grant v23 identity for kubernetes pods
Summary: Allow ticket-server to grant Kubernetes pods a v23 identity. Given a request with a `ca.crt`, `namespace`, and service account `token`, query the Kubernetes cluster API server to verify the token. Verify that the request `ca.crt` is in the allow list of clusters. Request times: 28 AWS accounts across 3 regions -> 23.89s 28 AWS accounts across 1 region (closest to what we will run in prod)-> 4.4s 5 AWS accounts across 3 regions -> 8.93s Design Doc: https://docs.google.com/document/d/1-MxDlRT5JPucktIzjNfRFFmPjjXNjdmi5xjpjGQ2KU8/edit# Closes T39592 Test Plan: Verify flow locally by granting a v23 identity from a local ticket-server using a Kubernetes cluster in the dev environment to authenticate the token. Reviewers: O9 ticket-server, aeiser, O3 third-party, joshnewman, bbentson Reviewed By: O9 ticket-server, O3 third-party, joshnewman, bbentson Subscribers: joshnewman, bbentson, aeiser, jcharumilind, pgopal, dnicolaou, pboyapalli Maniphest Tasks: T39579, T39592 Differential Revision: https://phabricator.grailbio.com/D47646 fbshipit-source-id: 3513e59
Configuration menu - View commit details
-
Copy full SHA for b2372dc - Browse repository at this point
Copy the full SHA b2372dcView commit details -
grail-access: support k8s flag to request v23 identity
Summary: This command will be run from a Kubernetes pod. It will request a v23 identity from the ticket-server using the /blesser/k8s endpoint and pass in caCrt, namespace, and service account token. Design Doc: https://docs.google.com/document/d/1-MxDlRT5JPuckitIzjNfRFFmPjjXNjdmi5xjpjGQ2KU8/edit# Closes T39590 Test Plan: Verify flow locally. Grant a v23 identity from a local ticket-server using a Kubernetes cluster in the dev environment to authenticate the token. Subscribers Reviewers: #security, aeiser, O9 ticket-server, joshnewman, bbentson Reviewed By: #security, O9 ticket-server, joshnewman, bbentson Subscribers: bbentson, joshnewman, smahadevan Maniphest Tasks: T39590 Differential Revision: https://phabricator.grailbio.com/D47876 fbshipit-source-id: e77e5a8
Configuration menu - View commit details
-
Copy full SHA for 2626aca - Browse repository at this point
Copy the full SHA 2626acaView commit details -
base/bitset: SetInterval, ClearInterval
Summary: This adds SetInterval and ClearInterval functions which efficiently set/clear a block of bits, along with NewSetBits()/NewClearBits() convenience functions. Test Plan: Unit test added. Reviewers: ayip Reviewed By: ayip Subscribers: cchang, smahadevan Maniphest Tasks: T20121 Differential Revision: https://phabricator.grailbio.com/D48407 fbshipit-source-id: 7aad6f4
Configuration menu - View commit details
-
Copy full SHA for 0a93b91 - Browse repository at this point
Copy the full SHA 0a93b91View commit details -
grail-access: remove usage of agentlib
Summary: agentlib is deprecated in the newest versions of vanadium. This diff will make upgrading our vanadium version easier. Test Plan: Ran `grail-access` locally and updated unit tests. Reviewers: #security, aeiser Reviewed By: #security, aeiser Subscribers: joshnewman, smahadevan Differential Revision: https://phabricator.grailbio.com/D50485 fbshipit-source-id: 8e017ed
Configuration menu - View commit details
-
Copy full SHA for 7f84850 - Browse repository at this point
Copy the full SHA 7f84850View commit details -
traverse: update comment to warn about deadlock
Summary: Update the method comment on `Each` to warn developers about a potential deadlock state when panics occur in concurrent goroutines. Ref T43383 Test Plan: Verify that the code still compiles and bazel build passes. Reviewers: arinehouse, ecarrel Reviewed By: ecarrel Subscribers: smahadevan Tags: #software-only_change_control, #platform-wide Maniphest Tasks: T43383 Differential Revision: https://phabricator.grailbio.com/D50868 fbshipit-source-id: f8d8ada
Configuration menu - View commit details
-
Copy full SHA for bff8627 - Browse repository at this point
Copy the full SHA bff8627View commit details -
Revert "grail-access: remove usage of agentlib"
Summary: This reverts commit 8e017ede14a0ea4fe00b428eee8fbae20a27306c. This change is causing issues because we removed the v23agent without upgrading Vanadium. This change will be included in the diff where we upgrade the Vanadium version. Test Plan: Unit tests. Reviewers: aeiser Reviewed By: aeiser Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D50927 fbshipit-source-id: dea4e06
Configuration menu - View commit details
-
Copy full SHA for f014afa - Browse repository at this point
Copy the full SHA f014afaView commit details -
Summary: A new alternative to D46489 and D48243. This takes a different approach of more explicitly managing transports tuned for S3 access. Test Plan: New unit tests. Enabled new transport in (manually-run) integration tests, and ran them. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: aeiser, jschellenberger, smahadevan Maniphest Tasks: T38104 Differential Revision: https://phabricator.grailbio.com/D48772 fbshipit-source-id: 6329221
Configuration menu - View commit details
-
Copy full SHA for 3ef907c - Browse repository at this point
Copy the full SHA 3ef907cView commit details -
memsize: bug fix, add compaction to reduce memory usage
Summary: There was a bug where memory usage could be under counted. Adds compaction to the intervalset. At certain strategic times, adjacent intervals in the interval set will be merged and de-duplicated. Test Plan: updated unit tests Reviewers: joshnewman Reviewed By: joshnewman Subscribers: anandi, jcharumilind, smahadevan Maniphest Tasks: T38940 Differential Revision: https://phabricator.grailbio.com/D51318 fbshipit-source-id: abdd8ac
Configuration menu - View commit details
-
Copy full SHA for d15bf68 - Browse repository at this point
Copy the full SHA d15bf68View commit details -
log: refactor into github.com directory
Summary: Open Sourcing the common logging library so it can be used by services in github.com directory, such as ticket-server. Closes T43907. Test Plan: Make sure builds pass. Reviewers: O50 galleri/communications, O56 Ensemble backend, O15 scrms, #security, treaster, jgalilee, tule Reviewed By: O50 galleri/communications, O56 Ensemble backend, O15 scrms, #security, jgalilee, tule Subscribers: aeiser, jcharumilind, dnicolaou, pboyapalli, smahadevan Maniphest Tasks: T43907 Differential Revision: https://phabricator.grailbio.com/D51322 fbshipit-source-id: d62074e
Configuration menu - View commit details
-
Copy full SHA for 1a3b681 - Browse repository at this point
Copy the full SHA 1a3b681View commit details -
ticket-server: use common logger and improve logging
Summary: Switch ticket-server logger from vlog to our common, structured logger. Once we upgrade v.io, we should be able to include `requestID` in each log message that is unique to each server request. This will greatly improve ticket-server logging as it will allow us to corroborate multiple and simultaneous log messages. Test Plan: Instantiate local ticket-server, make requests against it, and verify logs and functionality. Improved logging messages: https://phabricator.grailbio.com/P1133 Reviewers: O9 ticket-server, aeiser Reviewed By: O9 ticket-server, aeiser Subscribers: jcharumilind, dnicolaou, pboyapalli, smahadevan Maniphest Tasks: T43900 Differential Revision: https://phabricator.grailbio.com/D51308 fbshipit-source-id: 289ed44
Configuration menu - View commit details
-
Copy full SHA for e923305 - Browse repository at this point
Copy the full SHA e923305View commit details -
common/log: add debug logging and improve godoc documentation
Summary: Add debug level logging, improve godoc documentation. These changes were requested by Fed. Also add unit test for nil ctx. Closes T44568 Test Plan: Update unit tests. Reviewers: fdegiuli, treaster, adharwadkar Reviewed By: fdegiuli Subscribers: #security, smahadevan Maniphest Tasks: T44568 Differential Revision: https://phabricator.grailbio.com/D51994 fbshipit-source-id: 45024c8
Configuration menu - View commit details
-
Copy full SHA for 6b58bbb - Browse repository at this point
Copy the full SHA 6b58bbbView commit details -
classifier/chiron: configure tfwrap from classifier evaluation
Summary: Configure `tfwrap` with a profile specified in the classifier evaluation binary. We previously used configuration from `$HOME/grail/profile`, however this had at least two problems: # It wasn't captured anywhere for reproducibility. # It was a second place to deal with for configuration, in addition to `trainer_params`. Since D51112, Chiron itself uses a `base/config` profile for configuration. In this revision, add `tfexec` things to that profile default, and now pass it as a command line argument via `tfwrap` for use by `tfexec`. This means that all profile configuration happens in `trainer_params`, and `$HOME/grail/profile` is defunct. Profiles are only included if you specify `chiron_eval_binary(..., pass_profile = True, ...)`. In practice, you probably want to set this if and only if you are specifying a binary built with `tfexec_binary` as your trainer. `tfwrap` no longer reads from `$HOME/grail/profile` to prevent accidental inclusion of configuration that prevents reproduction, however you can still invoke it directly with a `--profile your-profile` argument. Test Plan: Run unit tests. Run with different configurations of the `sexandage` trainer. Reviewers: O52 chiron infrastructure, joshnewman, soheil Reviewed By: O52 chiron infrastructure, joshnewman Subscribers: smahadevan Tags: #chiron Maniphest Tasks: T42162, T40897 Differential Revision: https://phabricator.grailbio.com/D51908 fbshipit-source-id: 72662d5
Configuration menu - View commit details
-
Copy full SHA for a7a9158 - Browse repository at this point
Copy the full SHA a7a9158View commit details -
grail-ticket: improve long description and update doc.go
Summary: Update the long description of grail-ticket to use `grail-ticket` instead of `grail ticket` and use the `tickets/eng/dev/aws`, which every engineer should have access to. Also re-generate doc.go to update. Closes T44662 Test Plan: Careful eyes. Reviewers: #security, aeiser Reviewed By: #security, aeiser Subscribers: smahadevan Maniphest Tasks: T44662 Differential Revision: https://phabricator.grailbio.com/D52004 fbshipit-source-id: ac90ed7
Configuration menu - View commit details
-
Copy full SHA for cc26545 - Browse repository at this point
Copy the full SHA cc26545View commit details -
log: add no context logger functions
Summary: Create logging functions without a `ctx` to support logging in situations without a context. Closes T44734 Test Plan: Update unit tests. Reviewers: fdegiuli, treaster, adharwadkar Reviewed By: fdegiuli Subscribers: adharwadkar, smahadevan Maniphest Tasks: T44734 Differential Revision: https://phabricator.grailbio.com/D52138 fbshipit-source-id: 4daca99
Configuration menu - View commit details
-
Copy full SHA for d864921 - Browse repository at this point
Copy the full SHA d864921View commit details -
Summary: Changed vlog to common logger Where ever the context was not available in "main" like function, context.Background() context was used. In the NoCtx variations of the logger, the context.Background() is used (suggested by @treaster) Test Plan: This should be printing the same message as original message. No change in functionality is expected. Reviewers: noah, O56 Ensemble backend, fdegiuli Reviewed By: O56 Ensemble backend, fdegiuli Subscribers: noah, treaster, smahadevan, fdegiuli Differential Revision: https://phabricator.grailbio.com/D51822 fbshipit-source-id: 776f0ce
Configuration menu - View commit details
-
Copy full SHA for 99ed85d - Browse repository at this point
Copy the full SHA 99ed85dView commit details -
Summary: Upgrade from Vanadium v0.1.6 to v0.1.14. Closes T42157. Test Plan: Verify Vanadium upgraade on local instances of ticket-server (Noah), LIMS (Richard), and Pipeline (Phillip). https://docs.google.com/document/d/12ySNMFTUCY4F3rCmp2pJn2LzsgxZgn-JMbmijHycjCU/edit# Testing done by @rhuang T43601 Reviewers: O9 ticket-server, O17 Instruments Service, O28 Grailbook Infra, O5 pipeline, O34 Pre/Post, O10 LIMS Server, O6 EDC, O3 third-party, O56 Ensemble backend, O57 Patient Service Backend, O50 galleri/communications, aeiser, tule, rhuang, O58 Shipment Service owner, pbohannon, byang, ajonnavithula Reviewed By: O9 ticket-server, O17 Instruments Service, O28 Grailbook Infra, O5 pipeline, O34 Pre/Post, O10 LIMS Server, O6 EDC, O3 third-party, O56 Ensemble backend, O57 Patient Service Backend, O50 galleri/communications, aeiser, tule, rhuang, O58 Shipment Service owner, pbohannon, byang, ajonnavithula Subscribers: fdegiuli, aahn, rhuang, krestivo, aeiser, pbohannon, jcharumilind, pgopal, smahadevan, dnicolaou, pboyapalli, #lab_testing Maniphest Tasks: T42157 Differential Revision: https://phabricator.grailbio.com/D50466 fbshipit-source-id: 404e476
Configuration menu - View commit details
-
Copy full SHA for ec13350 - Browse repository at this point
Copy the full SHA ec13350View commit details -
revert: v.io: update to v0.1.14
Summary: I do not plan on landing this diff. It is simply here so we have a revert diff ready in case the Vanadium update diff D50466 causes unexpected issues. Revert "v.io: update to v0.1.14" This reverts commit e48affa9ec12d8152370e745be8c381acfd7651a. Reviewers: O9 ticket-server, O17 Instruments Service, O50 galleri/communications!, O28 Grailbook Infra, O58 Shipment Service owner, O5 pipeline, O56 Ensemble backend, O34 Pre/Post, O57 Patient Service Backend, O10 LIMS Server, O6 EDC, O3 third-party, aeiser, rhuang, pbohannon, ajonnavithula, ecarrel Reviewed By: O9 ticket-server, O17 Instruments Service, O28 Grailbook Infra, O58 Shipment Service owner, O5 pipeline, O56 Ensemble backend, O34 Pre/Post, O57 Patient Service Backend, O10 LIMS Server, O6 EDC, O3 third-party, aeiser, rhuang, pbohannon, ajonnavithula, ecarrel Subscribers: aeiser, jcharumilind, smahadevan, dnicolaou, pboyapalli, #lab_testing Differential Revision: https://phabricator.grailbio.com/D52269 fbshipit-source-id: 3d0d90c
Configuration menu - View commit details
-
Copy full SHA for 9470a04 - Browse repository at this point
Copy the full SHA 9470a04View commit details -
Summary: Upgrade from Vanadium to v0.1.15. This diff is based on D50466. D50466 was reverted by D52269. D50466 upgraded Vanadium to v0.1.14. There are no significant changes between v0.1.14 and v0.1.15, except the bugfix for an issue we discovered in the Vanadium source code: the `dir.lock` file in the credentials directory is not generated during the runtime factory initialization, even when the read-only flag is not set. This diff will include the commit that fixes that bug so that the `dir.lock` file is properly created. ``` $ git diff D52508 D50466 --name-only go/src/github.com/grailbio/base/go.mod go/src/github.com/grailbio/base/go.sum go/src/github.com/grailbio/bigmachine/go.sum go/src/github.com/grailbio/bigslice/go.sum go/src/github.com/grailbio/bio/go.sum go/src/github.com/grailbio/diviner/go.sum go/src/github.com/grailbio/doppelmark/go.sum go/src/github.com/grailbio/gql/go.sum go/src/github.com/grailbio/grit/go.sum go/src/github.com/grailbio/hts/go.sum go/src/github.com/grailbio/infra/go.sum go/src/github.com/grailbio/ml/go.sum go/src/github.com/grailbio/reflow/go.sum go/src/github.com/grailbio/v23/factories/grail/go.mod go/src/github.com/grailbio/v23/factories/grail/go.sum go/src/grail.com/bigslice/sliceflags/v23.go go/src/grail.com/billing/server/vanadium/vdl/account/account.vdl.go go/src/grail.com/go.mod go/src/grail.com/go.sum go/src/grail.com/pipeline/director/services/release_test.go go/src/grail.com/pipeline/director/services/worker_test.go go/src/grail.com/pipeline/ifc/ifc.vdl.go go/src/vendor/v.io/x/ref/lib/security/util.go third-party/go/repositories.bzl ``` Full paste of diff D52508 D50466: https://phabricator.grailbio.com/P1247 Test Plan: There was already significant testing done for D50466 with Noah verifying the ticket-server behavior in staging environment, Richard on LIMS, and Philip on Pipeline. Testing done by @rhuang T43601 The additional test for this diff is to verify that old credentials (geneated with old grail-access) is compatible with new grail-ticket. This was verified by Noah. Closes T42157. Reviewers: O9 ticket-server, O17 Instruments Service, O50 galleri/communications, O28 Grailbook Infra, O58 Shipment Service owner, O5 pipeline, O56 Ensemble backend, O34 Pre/Post, O57 Patient Service Backend, O10 LIMS Server, O6 EDC, O3 third-party, rhuang, aeiser, jgalilee, pbohannon, fdegiuli, lkong, ajonnavithula Reviewed By: O9 ticket-server, O17 Instruments Service, O50 galleri/communications, O28 Grailbook Infra, O58 Shipment Service owner, O5 pipeline, O56 Ensemble backend, O34 Pre/Post, O57 Patient Service Backend, O10 LIMS Server, O6 EDC, O3 third-party, rhuang, aeiser, jgalilee, pbohannon, fdegiuli, lkong, ajonnavithula Subscribers: joshnewman, jcharumilind, smahadevan, dnicolaou, pboyapalli, rhuang, #lab_testing Maniphest Tasks: T42157 Differential Revision: https://phabricator.grailbio.com/D52508 fbshipit-source-id: a445ca1
Configuration menu - View commit details
-
Copy full SHA for 41f1f6b - Browse repository at this point
Copy the full SHA 41f1f6bView commit details -
Summary: With the v23 update to v0.1.15, the vcontext should now include a request id per v23 request. Test Plan: Verified in local instantiation of ticket-server's logs. Reviewers: fdegiuli, treaster, aeiser Reviewed By: aeiser Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D52769 fbshipit-source-id: 2952ca9
Configuration menu - View commit details
-
Copy full SHA for dbbb546 - Browse repository at this point
Copy the full SHA dbbb546View commit details -
grail-ticket: add ability to query for all accessible tickets
Summary: Update the `grail-ticket` to support a flag, `-list`, that lists all the tickets accessible to the user. To support this on the ticket-server side, a new function, `List()`, was added. `List()` iterates over all tickets and queries Google Groups API to see if the user has access. It then returns a sorted list of accessible tickets. Example: ``` $ grail-ticket -list tickets aws-grail-eng-sandbox/admin/aws aws-grail-eng-sandbox/test/aws eng/dev/admin eng/dev/aws eng/go-testing/aws eng/go-testing/aws.perm security/admin/aws security/veeva/sbx-svc-logging-password security/veeva/sbx-svc-logging-user ti-apps/admin/aws ti-apps/ticket-server/aws ``` From my local testing, the command takes 55-60s. Test Plan: Instantiated ticket-server locally and ran `grail-ticket -list` against it. Reviewers: O9 ticket-server, #security, aeiser Reviewed By: O9 ticket-server, #security, aeiser Subscribers: aeiser, smahadevan Differential Revision: https://phabricator.grailbio.com/D52062 fbshipit-source-id: 6afaffc
Configuration menu - View commit details
-
Copy full SHA for efe7f6b - Browse repository at this point
Copy the full SHA efe7f6bView commit details -
grailbio/base/stringintern: a module for automatic string interning
Summary: Automatically find identical strings and save memory by using the same underlying memory. Does not work on unexported fields, which is a fairly big loophole. For exampleSet, string interning saves 6% of memory as measured by DeepSize() Test Plan: unit tests for string interning method. tested on exampleSet showing 6% memory savings Reviewers: joshnewman Reviewed By: joshnewman Subscribers: afields, sbagaria, kdavydov, jcharumilind, smahadevan Differential Revision: https://phabricator.grailbio.com/D52589 fbshipit-source-id: 97679c1
Configuration menu - View commit details
-
Copy full SHA for b64c591 - Browse repository at this point
Copy the full SHA b64c591View commit details -
grail-ticket,ticket-server: fix empty string glob issue
Summary: Previously, registering the empty string "" endpoint was causing glob to fail. So, we will change the endpoint to be "list" and append "list" to the path. Test Plan: Deployed locally and to staging tickets-testing ticket-server and verified flow with: ``` grail-ticket -list tickets-testing ``` Also verified that the glob functionality still works: ``` namespace glob tickets-testing/... ``` Reviewers: O9 ticket-server, bbentson Reviewed By: O9 ticket-server, bbentson Subscribers: aeiser, bbentson, smahadevan Differential Revision: https://phabricator.grailbio.com/D53226 fbshipit-source-id: 85c3615
Configuration menu - View commit details
-
Copy full SHA for ef0d259 - Browse repository at this point
Copy the full SHA ef0d259View commit details
Commits on Jan 26, 2021
-
base/tsv: export empty-file-when-header-expected error string
Summary: D53169 introduces a check for this error condition. I'm exporting the error string to make it less likely the check will unexpectedly stop working. Test Plan: Existing tests pass. Reviewers: osakarya Reviewed By: osakarya Subscribers: cchang, smahadevan Differential Revision: https://phabricator.grailbio.com/D53533 fbshipit-source-id: cf99570
Configuration menu - View commit details
-
Copy full SHA for f799d14 - Browse repository at this point
Copy the full SHA f799d14View commit details -
log: caller field should only be file name and line
Summary: Change the automatically logged `caller` field from full file path to only file name. The impetus for this change is that the caller root will be different depending on the system. For example, the tests will pass with `bazel test`, but fail with `go test`. We could possibly configure the full file path to be an option in the future. Github Issue: grailbio#28 Test Plan: Update unit tests. Reviewers: fdegiuli, msabherwal Reviewed By: fdegiuli Subscribers: jcharumilind, smahadevan Differential Revision: https://phabricator.grailbio.com/D53636 fbshipit-source-id: 0a74d6d
Configuration menu - View commit details
-
Copy full SHA for bcc3a55 - Browse repository at this point
Copy the full SHA bcc3a55View commit details -
Summary: This diff refactors the logging system to support an interface. This gives more flexibility to users, specifically the ability to mock the logger. With this refactor, we now support two logging flows. The first is the current flow with global, structless functions. The second is a flow that requires instantiation of the logger via `NewLogger()`. Test Plan: Update unit tests and include tests for both flows. Reviewers: msabherwal, fdegiuli Reviewed By: msabherwal, fdegiuli Subscribers: aeiser, jcharumilind, smahadevan Differential Revision: https://phabricator.grailbio.com/D53655 fbshipit-source-id: 0a27a40
Configuration menu - View commit details
-
Copy full SHA for 90ad874 - Browse repository at this point
Copy the full SHA 90ad874View commit details -
bigslice: reduce dump-related logging noise
Summary: Reduce dump-related logging noise by: * Making the shortened CPU-profile message a `debug` level log, as it's generally not a very big deal. * Eliminating the message about missing bigmachine profiles when no machines exist yet. It's not an error for there to be no machines, so we no longer log about it. Test Plan: Run `bazel run //go/src/grail.com/cmd/bigslice-demo -- fragments -bigslice-system=ec2:instance=m5.xlarge -bigslice-load-factor=1.0 -bigslice-parallelism=96`, and see quieter logs. Reviewers: joshnewman Reviewed By: joshnewman Subscribers: smahadevan Maniphest Tasks: T45889 Differential Revision: https://phabricator.grailbio.com/D53850 fbshipit-source-id: db620b4
Configuration menu - View commit details
-
Copy full SHA for d321a53 - Browse repository at this point
Copy the full SHA d321a53View commit details
Commits on Jan 27, 2021
-
Fix go.{mod,sum} post-sync with internal repo (grailbio#27)
After syncing with the GRAIL internal repo, there were build failures due to stale `go.mod` entries. I have updated them with internal changes to fix those build failures and run `go mod tidy` to eliminate any unused entries. Unit tests succeed.
Configuration menu - View commit details
-
Copy full SHA for 33d6a70 - Browse repository at this point
Copy the full SHA 33d6a70View commit details -
Configuration menu - View commit details
-
Copy full SHA for 701cb17 - Browse repository at this point
Copy the full SHA 701cb17View commit details
Commits on Feb 10, 2021
-
diagnostic/memsize: variable rename to avoid clashing with bytes package
Summary: Renaming a variable from "bytes" to "numBytes" to avoid any potential confusion Test Plan: existing unit tests are sufficient. Reviewers: kdavydov Reviewed By: kdavydov Subscribers: smahadevan Maniphest Tasks: T46101 Differential Revision: https://phabricator.grailbio.com/D53971 fbshipit-source-id: ed29f55
Configuration menu - View commit details
-
Copy full SHA for 98cb01c - Browse repository at this point
Copy the full SHA 98cb01cView commit details -
bigslice: kill eventlog logs on worker machines
Summary: Kill `eventlog` logs written by workers, e.g. ``` https://ec2-18-237-227-158.us-west-2.compute.amazonaws.com/i-0bd5f973615fde562/: 2021/01/27 22:03:37 eventlog: CloudWatch Logs group/stream: bigslice-event/543000147~unknown@grailbio.com~20210127T220337.087+0000 ``` This happens because we logged before the call to `github.com/grailbio/bigmachine.Start`. This now happens after that call, so it only executes on the driver. Test Plan: Run the `/cmd/bigslice-demo -- fragments -max-samples=50 -bigslice-system=ec2:instance=m5.xlarge -bigslice-load-factor=1.0 -bigslice-parallelism=8` and see that there are no confusing `eventlog` log messages in the output. Reviewers: joshnewman Reviewed By: joshnewman Subscribers: smahadevan Maniphest Tasks: T45889 Differential Revision: https://phabricator.grailbio.com/D54048 fbshipit-source-id: 923fde6
Configuration menu - View commit details
-
Copy full SHA for a298e9e - Browse repository at this point
Copy the full SHA a298e9eView commit details -
Summary: To allow reusing this package elsewhere. Test Plan: Existing unit and integration tests: $ go test . -s3-bucket grail-joshnewman-test -s3-dir s3test ok github.com/grailbio/base/file/s3file 23.392s Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D54414 fbshipit-source-id: 4c59c8c
Configuration menu - View commit details
-
Copy full SHA for ca83164 - Browse repository at this point
Copy the full SHA ca83164View commit details -
grail-aws: open new window with new profile if AWS_ENV set
Summary: This will open a new window in a new profile in Google Chrome when AWS_ENV is set Test Plan: `bazel build :grail-aws` then `AWS_ENV=mrd $(bazel info bazel-bin)/go/src/grail.com/cmd/grail-aws/grail-aws tickets/grail-prod-mrd/admin/aws webconsole` Reviewers: spolakh, aeiser Reviewed By: aeiser Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D54579 fbshipit-source-id: 418081e
Configuration menu - View commit details
-
Copy full SHA for f53b490 - Browse repository at this point
Copy the full SHA f53b490View commit details
Commits on Sep 9, 2021
-
recordio: fix a minor issue in the README
Summary: Fix header spec. Test Plan: - NA Reviewers: pbohannon Reviewed By: pbohannon Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D54768 fbshipit-source-id: c76e5a5
Configuration menu - View commit details
-
Copy full SHA for e43f3e9 - Browse repository at this point
Copy the full SHA e43f3e9View commit details -
reflow/various: Reuse timers as appropriate
Summary: Re-use a single timer for efficiency in various places. Test Plan: Unit tests Reviewers: pboyapalli Reviewed By: pboyapalli Subscribers: dnicolaou Differential Revision: https://phabricator.grailbio.com/D55028 fbshipit-source-id: b55cd37
Configuration menu - View commit details
-
Copy full SHA for 7538fe9 - Browse repository at this point
Copy the full SHA 7538fe9View commit details -
retry: add BackoffWithTimeout policy
Summary: Currently, the exponential backoff policy will loop indefinitely. This diff adds an exponential backoff policy that will timeout after the max duration. Test Plan: Add unit tests for `BackoffWithTimeout` policy. Reviewers: jhughes Reviewed By: jhughes Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D55184 fbshipit-source-id: f680d31
Configuration menu - View commit details
-
Copy full SHA for 058a14e - Browse repository at this point
Copy the full SHA 058a14eView commit details -
base/tsv: fmt option in struct tag
Summary: This option can provide a formatting directive. One use case is to print floating point numbers with a specified precision. Test Plan: See included testable example. Reviewers: jcharumilind, cchang Reviewed By: jcharumilind, cchang Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D55258 fbshipit-source-id: bf058c4
Configuration menu - View commit details
-
Copy full SHA for 155ece0 - Browse repository at this point
Copy the full SHA 155ece0View commit details -
Summary: Currently, due to output being piped to both stderr and stdout, the logger package duplicates logs when run within a Kubernetes pod. The logger package does not duplicate logs when run within an EC2 instance because only stderr is captured. This diff will fix the issue of logs being duplicated when run within a Kubernetes pod by adding the ability to configure the output path. This diff also lays the foundation of customizing the logger. In a separate diff, I will add the ability to set the log level, which currently defaults to `Debug`. Test Plan: Update unit tests. Reviewers: fdegiuli Reviewed By: fdegiuli Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D55332 fbshipit-source-id: c75cb96
Configuration menu - View commit details
-
Copy full SHA for 88105df - Browse repository at this point
Copy the full SHA 88105dfView commit details -
recordio: add an estimator for upper bound on space required for payload
Summary: Applications based on recordio can benefit from knowing an estimate of an upper bound on the space required to store the records for a given payload. We add an estimator to serve this. Test Plan: Add new unit tests. Reviewers: smahadevan, tcho Reviewed By: smahadevan Subscribers: smahadevan Maniphest Tasks: T47160 Differential Revision: https://phabricator.grailbio.com/D55219 fbshipit-source-id: 5fd3e9a
Configuration menu - View commit details
-
Copy full SHA for 6e68cd1 - Browse repository at this point
Copy the full SHA 6e68cd1View commit details -
retry: refactor BackoffWithTimeout to reuse code
Summary: We can refactor BackoffWithTimeout to reuse Backoff and MaxTries. Test Plan: Unit tests. Reviewers: smahadevan Reviewed By: smahadevan Subscribers: jhughes, ajonnavithula, smahadevan Differential Revision: https://phabricator.grailbio.com/D55260 fbshipit-source-id: 7b673c8
Configuration menu - View commit details
-
Copy full SHA for ebe83c2 - Browse repository at this point
Copy the full SHA ebe83c2View commit details -
log: add logging level to config
Summary: Add logging level to logger config. This will set the logging level of the logger. We will also change the default logging level from `Debug` to `Info`. For example, setting the logging level to `Warn` will ignore all `Debug` and `Info` messages. Test Plan: Add unit test. Reviewers: fdegiuli Reviewed By: fdegiuli Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D55383 fbshipit-source-id: 0bd4a5c
Configuration menu - View commit details
-
Copy full SHA for 53ba30a - Browse repository at this point
Copy the full SHA 53ba30aView commit details -
recordio: Add SkipHeader and KeyTrailer to WriterOpts
Summary: This change adds a `SkipHeader` option that allows for users to create a writer that skips writing a header and begins in the `wStateWritingBody` state. This can be used to continue writing from where a previous writer may have left off. This change also adds a `KeyTrailer` option that is needed when the recordio file contains a trailer. Previously the only way to set this was by explicitly adding this as a header. Test Plan: Unit tests have been added for the normal write then read functionality as well as testing functioning with transformers. Reviewers: kshashidhar, smahadevan Reviewed By: kshashidhar, smahadevan Subscribers: pbohannon Maniphest Tasks: T47010 Differential Revision: https://phabricator.grailbio.com/D54947 fbshipit-source-id: be5a000
Configuration menu - View commit details
-
Copy full SHA for cd5a1ba - Browse repository at this point
Copy the full SHA cd5a1baView commit details -
base/diagnostic: convert dump from tar to zip
Summary: To allow more efficient single-entry reads, like from S3. Test Plan: Updated existing unit tests. Generated autolog dump outputs with `bigslice-demo wait`, and they were valid files. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: jschellenberger, smahadevan Differential Revision: https://phabricator.grailbio.com/D55521 fbshipit-source-id: 3a0a94a
Configuration menu - View commit details
-
Copy full SHA for 0cc219d - Browse repository at this point
Copy the full SHA 0cc219dView commit details -
bazel/generated: rule for managing checked-in generated code
Summary: Use new rule to manage generation of fragments code. I think this will be helpful for maintainability (for non-github.com code). If this works well, future changes can expand it to the rest of the generated fragments code, protobuf stubs (so we don't need to handle those separately in Arcanist), SQL schemas, VDL, cmdline doc.go, etc. Test Plan: "Accidentally" modified a generated file, got a prompt to regenerate it, and then fixed it. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: noah, smahadevan, sbagaria Differential Revision: https://phabricator.grailbio.com/D55482 fbshipit-source-id: 7e1908a
Configuration menu - View commit details
-
Copy full SHA for 45775e3 - Browse repository at this point
Copy the full SHA 45775e3View commit details -
patient: CPP-1140 - Added Retry Logic into Patient Service
Summary: Add Retry Logic like lockbox in Patient Service Jira Task: CPP-1140 Test Plan: All existing unit tests pass. Added a new unit test. Reviewers: ajonnavithula, atao, adevarmanai, jhughes, O57 Patient Service Backend Reviewed By: adevarmanai, O57 Patient Service Backend Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D55841 fbshipit-source-id: cc9a59a
Configuration menu - View commit details
-
Copy full SHA for 90a3748 - Browse repository at this point
Copy the full SHA 90a3748View commit details -
CPP-1566 update lockbox to use new pattern, fix a typo, and add retry…
… for hash Summary: Update Lockbox to use new pattern for retry Test Plan: Same test cases passed, also update hash to retry slower Reviewers: ajonnavithula, atao, adevarmanai, jhughes, ehu Reviewed By: adevarmanai Subscribers: smahadevan, O59 lockbox Differential Revision: https://phabricator.grailbio.com/D56350 fbshipit-source-id: 7832ef1
Configuration menu - View commit details
-
Copy full SHA for 00aff6c - Browse repository at this point
Copy the full SHA 00aff6cView commit details -
common/log: ensure same request ID set in go ctx and gin ctx
Test Plan: CI totally has our backs, brah Reviewers: noah, fdegiuli Reviewed By: noah, fdegiuli Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D56340 fbshipit-source-id: 42c6b9d
Configuration menu - View commit details
-
Copy full SHA for ba5b4a8 - Browse repository at this point
Copy the full SHA ba5b4a8View commit details -
common/log: support setting log level using env var
Summary: Enable setting the log level using an environment variable, `LOG_LEVEL`. The supported values will be "debug", "DEBUG", "info", "INFO", "warn", "WARN", "error", and "ERROR". Setting the environment variable LOG_LEVEL will override Config.Level. Test Plan: Unit test. Reviewers: O63 logger, jkimmel Reviewed By: jkimmel Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D56405 fbshipit-source-id: 170a37b
Configuration menu - View commit details
-
Copy full SHA for 7ebd4dd - Browse repository at this point
Copy the full SHA 7ebd4ddView commit details -
ticket-server: improve logging
Summary: * Change log lines that should be debug level to debug level. * Standardize logging across ticket-server requests Test Plan: Spun up local ticket-server and made requests against it. Reviewers: O9 ticket-server, aeiser Reviewed By: O9 ticket-server, aeiser Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D56364 fbshipit-source-id: 698e00b
Configuration menu - View commit details
-
Copy full SHA for d9ad9b5 - Browse repository at this point
Copy the full SHA d9ad9b5View commit details -
ticket-server: add list endpoint logging
Summary: Add logging to ticket-server list endpoint. Test Plan: Spun up ticket-server locally and sent request to list endpoint. ``` { "level": "info", "msg": "list request", "caller": "list.go:19", "ts": "2021-03-18T23:15:21.061095800Z", "v23RequestID": "cf80131c-883f-11eb-bde0-0242ac110003", "endpoint": "list", "blessing": "v23.grail.com:google:ntseng@grailbio.com", "ticket": "list" } ``` Note: the "ticket" k/v pair field name is a little funky because of how we implemented the list functionality. Reviewers: O9 ticket-server, aeiser Reviewed By: O9 ticket-server, aeiser Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D56359 fbshipit-source-id: 1cd1290
Configuration menu - View commit details
-
Copy full SHA for 47475ed - Browse repository at this point
Copy the full SHA 47475edView commit details -
common/log: set default log level to debug
Summary: Currently, the default log level is `Info`. This is because the Zap library sets the default to `Info` and an empty level corresponds to `Info`. Any instantiation of `Config` will have `Level` as `Info` instead of `Debug`. This is a messy problem and I think this is the best solution. If you can think of a better one, please let me know! Test Plan: . Reviewers: fdegiuli, jkimmel Reviewed By: jkimmel Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D56367 fbshipit-source-id: 3ba967e
Configuration menu - View commit details
-
Copy full SHA for e59d056 - Browse repository at this point
Copy the full SHA e59d056View commit details -
cloudkey,grail-aws,grail-ticket,ticket-server: add ticket controls an…
…d rationale flag cli flag Summary: Add additional controls to ticket-server tickets, specifically Rationale, PagerDutyId, and TicketId. This will leverage a new endpoint, GetWithArgs. The commands used to interface with ticket-server, cloudkey, grail-aws, and grail-ticket, have been updated with a flag to set Rationale. More support for other Controls will come in the future. Design Doc: https://docs.google.com/document/d/1dHroVUa52yJrJZGlb_jdEN8j3HGQttjQEPRFffxdEKk/edit#heading=h.a28np8vdza4 Test Plan: Spun up ticket-server locally and tested fetching tickets with and without a rationale using all three commands. Reviewers: O9 ticket-server, aeiser Reviewed By: O9 ticket-server, aeiser Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D54875 fbshipit-source-id: f7a92fd
Configuration menu - View commit details
-
Copy full SHA for f695f42 - Browse repository at this point
Copy the full SHA f695f42View commit details -
common/log: log.Error*() should return an error
Summary: Return an `error` with `log.Error*()` for convenience. This change should be backwards compatible and not cause any lint issues. Users can optionally use or ignore the returned `error`. Test Plan: . Reviewers: O63 logger, fdegiuli Reviewed By: O63 logger, fdegiuli Subscribers: fdegiuli, smahadevan Differential Revision: https://phabricator.grailbio.com/D56516 fbshipit-source-id: 8015af8
Configuration menu - View commit details
-
Copy full SHA for 9643ee2 - Browse repository at this point
Copy the full SHA 9643ee2View commit details -
CPP-1697 Fix bug which lets us use variable length outputs for WaitFn
Summary: Let WaitForFn take in multiple output length Test Plan: New unit test testing multiple output length Reviewers: jaliu Reviewed By: jaliu Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D56586 fbshipit-source-id: a44f802
Configuration menu - View commit details
-
Copy full SHA for cd1ef08 - Browse repository at this point
Copy the full SHA cd1ef08View commit details -
common/log: update logging README
Summary: to include a section about `Error` family of functions returning an `error`. Test Plan: . Reviewers: fdegiuli, O63 logger, jkimmel Reviewed By: jkimmel Subscribers: jkimmel, smahadevan Differential Revision: https://phabricator.grailbio.com/D56753 fbshipit-source-id: 29c91f5
Configuration menu - View commit details
-
Copy full SHA for 31cb264 - Browse repository at this point
Copy the full SHA 31cb264View commit details -
common/log: improve logger godoc
Summary: include more details about the returned error (missed comment from previous diff) Test Plan: . Reviewers: O63 logger, fdegiuli, jkimmel Reviewed By: O63 logger, fdegiuli, jkimmel Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D56769 fbshipit-source-id: db46756
Configuration menu - View commit details
-
Copy full SHA for b961f59 - Browse repository at this point
Copy the full SHA b961f59View commit details -
Add Error*AndReturn functions and revert Error* interface change
Summary: This reverts commit 8015af8220d1fb068934a6ad77e53879fc795508. They will be replaced with a new family of functions, `Error*AndReturn`, that return the log message (without keys and values) as a string. Test Plan: Update unit tests. Reviewers: O63 logger, O56 Ensemble backend, fdegiuli, jkimmel Reviewed By: O63 logger, O56 Ensemble backend, fdegiuli Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D56965 fbshipit-source-id: a283619
Configuration menu - View commit details
-
Copy full SHA for 1da05ce - Browse repository at this point
Copy the full SHA 1da05ceView commit details -
common/middleware : Introduces consensus-driven middleware folders an…
…d Introduces Debug logs for v23 calls Summary: Middleware approach allows this invoker to wrap existing invokers. full V23 input args and results/errors are reported to logs. This approach allows us to turn on/off highly verbose logging, including of sensitive information, by toggling to Debug log-level. If there comes a day when we still want the option to run in Debug in production but exclude these logs we can either add a feature-flag / env var check, or remove this component entirely. This change also shows how the logger is added to the notifier service. adding this logger to other services can be done in separate diffs. [CPP-1695] Test Plan: Manually tested by deploying notifier to dev and observing the logs Reviewers: psteed, fdegiuli, O50 galleri/communications, lkong, akshay.subram, noah, nyap, O63 logger Reviewed By: fdegiuli, O50 galleri/communications, lkong, O63 logger Subscribers: smahadevan, O59 lockbox, noah, ccoakley Differential Revision: https://phabricator.grailbio.com/D56577 fbshipit-source-id: 7bc46a9
Configuration menu - View commit details
-
Copy full SHA for b3edbfa - Browse repository at this point
Copy the full SHA b3edbfaView commit details -
retry: MaxTries renamed to MaxRetries to reflect its actual purpose
Summary: When MaxTries as set to 1, the function was being called twice indicating it was misappropriately named. Test Plan: Unit tests. Reviewers: bzhang, fdegiuli, O52 chiron infrastructure, O5 pipeline, O15 scrms, pbohannon, rlowe Reviewed By: fdegiuli, O52 chiron infrastructure, O5 pipeline, O15 scrms, pbohannon, rlowe Subscribers: pbohannon, jcharumilind, dnicolaou, pboyapalli, smahadevan Differential Revision: https://phabricator.grailbio.com/D57253 fbshipit-source-id: 693ffa7
Configuration menu - View commit details
-
Copy full SHA for d1a9498 - Browse repository at this point
Copy the full SHA d1a9498View commit details -
base/iofmt: add LineWriter to call Write with whole lines
Summary: `PrefixWriter` makes separate calls to the underlying writer's `Write` for the prefix and line contents. This makes it more likely for lines to become interleaved when there are multiple writers to the same underlying writer, e.g. `os.Stdout`. This adds a `LineWriter` that uses a (unbounded) buffer to only call `Write` with full lines. This can be composed with a `PrefixWriter` to reduce interleaving. We can still get interleaving, as the call to `Write` is not atomic, however this is a practical improvement (without coordination like locking). Test Plan: Run this test program and see that there is less (zero) interleaving. ``` package main import ( "fmt" "os" "sync" "github.com/grailbio/base/iofmt" ) func main() { const ( Nwriters = 20 Nlines = 100 ) var wg sync.WaitGroup wg.Add(Nwriters) for i := 0; i < Nwriters; i++ { i := i go func() { defer wg.Done() pfx := fmt.Sprintf("writer-%02d: ", i) w := iofmt.PrefixWriter(iofmt.LineWriter(os.Stdout), pfx) // w := iofmt.PrefixWriter(os.Stdout, pfx) // Interleaves! for j := 0; j < Nlines; j++ { line := fmt.Sprintf("line %03d\n", j) if _, err := w.Write([]byte(line)); err != nil { fmt.Fprintf(os.Stderr, "writer-%02d error: %v\n", i, err) return } } }() } wg.Wait() } ``` Reviewers: joshnewman Reviewed By: joshnewman Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D57169 fbshipit-source-id: 7091742
Configuration menu - View commit details
-
Copy full SHA for 1141dc7 - Browse repository at this point
Copy the full SHA 1141dc7View commit details -
[DOPS-1819] Add fatal log levels to github.com/grailbio/base/common/log
Summary: Saw that we were missing Fatal log levels so I thought I would add them. Not a great way to test as zap calls os.exit under the hood. https://github.com/uber-go/zap/blob/c23abee72d197be00f17816e336aca5c72c6f26a/logger_test.go#L145-L169 They do some work under the hood to stub out the exit and do some assertions. Unsure about repeating it here. Reviewers: O63 logger, noah Reviewed By: O63 logger, noah Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D57785 fbshipit-source-id: 8b84ae0
Configuration menu - View commit details
-
Copy full SHA for 51cc667 - Browse repository at this point
Copy the full SHA 51cc667View commit details -
reflow/log: Remove dependency onto this target from non-reflow packages
Summary: Various non-reflow packages seem to depend on `reflow/log`. Add `log.Errorf` to `grailbio/base/log` and migrate to it instead. Test Plan: Unit tests Reviewers: O17 Instruments Service, byang Reviewed By: O17 Instruments Service, byang Differential Revision: https://phabricator.grailbio.com/D58262 fbshipit-source-id: 625bd91
Configuration menu - View commit details
-
Copy full SHA for a129973 - Browse repository at this point
Copy the full SHA a129973View commit details -
base/cloud/ec2util: Add a reliable way to get EC2 instance identity d…
…ocument Summary: Add a utility to retrieve EC2 instance identity document reliably and once per process. This addresses errors like the ones seen in SYSINFRA-172 in all the places where we make this call. Test Plan: Unit tests. All bazel tests passed: ``` (21:12:20) INFO: Elapsed time: 2105.840s, Critical Path: 1484.53s (21:12:20) INFO: 6318 processes: 1182 remote cache hit, 5136 processwrapper-sandbox. (21:12:20) INFO: Build completed successfully, 6138 total actions //R/grailbiostat:check (cached) PASSED in 28.8s //R/grailbiostat:test (cached) PASSED in 2.4s //R/graillookupr:check (cached) PASSED in 24.0s //R/graillookupr:test (cached) PASSED in 1.6s //R/grailtumorbiologyr:check (cached) PASSED in 31.7s ... //go/src/grail.com/pipeline/analyse:go_default_test PASSED in 8.8s Stats over 6 runs: max = 8.8s, min = 6.5s, avg = 7.4s, dev = 0.8s //go/src/grail.com/pipeline/labagent:go_default_test PASSED in 75.7s Stats over 6 runs: max = 75.7s, min = 12.5s, avg = 36.5s, dev = 20.7s Executed 612 out of 1498 tests: 1498 tests pass. (21:12:20) INFO: Build completed successfully, 6138 total actions ``` The `bazel` buildkite pipeline is not able to complete despite passing tests and keeps failing, possibly due to: https://jira.ti-apps.aws.grail.com/browse/DOPS-1763 Reviewers: ghorrell, joshnewman Reviewed By: ghorrell, joshnewman Subscribers: jcharumilind, dnicolaou, pboyapalli Differential Revision: https://phabricator.grailbio.com/D58036 fbshipit-source-id: 84447e0
Configuration menu - View commit details
-
Copy full SHA for 2f27eb8 - Browse repository at this point
Copy the full SHA 2f27eb8View commit details -
base/s3util: Refactor S3 to S3 object copying code to a common utility
Summary: Move the code in reflow which does direct S3 object transfer (ie, without streaming data). The new `s3util` package supports the ability to copy objects across buckets in S3 and handle the copying either as a single call or as a multi-part copy depending on the size of the source object (passed by the caller). The package also has utilities to help interpret AWS S3 errors for appropriate handling. Test Plan: Unit and integration tests Reviewers: sbagaria Reviewed By: sbagaria Subscribers: pboyapalli, ghorrell, sbanville, dnicolaou Differential Revision: https://phabricator.grailbio.com/D58750 fbshipit-source-id: 4d90b37
Configuration menu - View commit details
-
Copy full SHA for 509ccf9 - Browse repository at this point
Copy the full SHA 509ccf9View commit details -
Summary: Data validation is still a bit slower than we'd like. This adds an assembly function which takes advantage of the bitwise representation of float64s to check 16 float64s at a time, by looking at just the two exponent-containing bytes of each float64. The combination of the microbenchmark and ValidateMulticlassInputs benchmark results suggest that further improvements in this function (e.g. AVX-512) won't make much of a difference to the latter. [BXDS-405] Test Plan: Unit test and microbenchmark added. Microbenchmark speedup is ~6-8x with AVX2. grail.com/learning tests pass. ValidateMulticlassInputs before: BenchmarkValidateMulticlassInputs/10_10-64 5604034 214 ns/op BenchmarkValidateMulticlassInputs/20000_10000-64 3 373117073 ns/op after: BenchmarkValidateMulticlassInputs/10_10-64 7297417 164 ns/op BenchmarkValidateMulticlassInputs/20000_10000-64 8 133477407 ns/op Reviewers: jschellenberger, kdavydov Reviewed By: jschellenberger, kdavydov Subscribers: joshnewman, afields, cchang, smahadevan Differential Revision: https://phabricator.grailbio.com/D59653 fbshipit-source-id: 3cda06f
Configuration menu - View commit details
-
Copy full SHA for 6d4fd1a - Browse repository at this point
Copy the full SHA 6d4fd1aView commit details -
[SYSINFRA-367,SYSINFRA-185] base/limiter: Add a batch limiter
Summary: Add the ability to apply limits on a "batch" API call which allows the user to make individual API calls across multiple goroutines. This implementation will batch calls together and limit the number of outgoing (batch) calls based on the `rate.Limiter` provided by the user. Note: This refers to a Jira tasks pointing to throttled AWS API calls like `DescribeInstances` and `DescribeSpotInstanceRequests` and it is not straightforward to simply batch the calls together. Test Plan: Unit tests. The log of unit tests show that the (approximate) ordering is maintained: ``` === RUN TestSubmit --- PASS: TestSubmit (1.05s) batch_test.go:191: batch 0 (after 0s): [0] batch_test.go:191: batch 1 (after 101ms): [5 9 1 2 3 4 6 7 8] batch_test.go:191: batch 2 (after 100ms): [15 16 18 20 10 11 13 19 12 14 17] batch_test.go:191: batch 3 (after 109ms): [21 22 24 25 29 30 31 23 26 27 28] batch_test.go:191: batch 4 (after 100ms): [37 39 32 35 36 40 33 34 38] batch_test.go:191: batch 5 (after 102ms): [43 44 46 47 50 41 42 45 48 49] batch_test.go:191: batch 6 (after 100ms): [51 53 60 61 58 59 52 54 55 56 57] batch_test.go:191: batch 7 (after 110ms): [62 65 66 67 68 69 70 71 63 64] batch_test.go:191: batch 8 (after 106ms): [75 79 80 72 73 77 78 81 82 74 76] batch_test.go:191: batch 9 (after 103ms): [91 93 83 89 90 87 88 92 84 85 86] batch_test.go:191: batch 10 (after 100ms): [99 94 95 96 97 98] === RUN TestWithMax5 --- PASS: TestWithMax5 (2.03s) batch_test.go:191: batch 0 (after 0s): [0] batch_test.go:191: batch 1 (after 100ms): [2 3 4 5 1] batch_test.go:191: batch 2 (after 100ms): [9 10 6 7 8] batch_test.go:191: batch 3 (after 101ms): [11 12 13 14 15] batch_test.go:191: batch 4 (after 100ms): [16 17 18 19 20] batch_test.go:191: batch 5 (after 100ms): [21 22 23 24 25] batch_test.go:191: batch 6 (after 102ms): [26 27 28 29 30] batch_test.go:191: batch 7 (after 100ms): [34 35 31 32 33] batch_test.go:191: batch 8 (after 102ms): [36 37 38 39 40] batch_test.go:191: batch 9 (after 102ms): [42 43 44 45 41] batch_test.go:191: batch 10 (after 102ms): [46 47 48 49 50] batch_test.go:191: batch 11 (after 101ms): [53 54 55 51 52] batch_test.go:191: batch 12 (after 101ms): [57 58 59 60 56] batch_test.go:191: batch 13 (after 101ms): [61 62 63 64 65] batch_test.go:191: batch 14 (after 100ms): [66 67 68 69 70] batch_test.go:191: batch 15 (after 102ms): [73 74 75 71 72] batch_test.go:191: batch 16 (after 101ms): [77 78 79 80 76] batch_test.go:191: batch 17 (after 101ms): [82 83 84 85 81] batch_test.go:191: batch 18 (after 108ms): [86 87 88 89 90] batch_test.go:191: batch 19 (after 106ms): [91 92 93 94 95] batch_test.go:191: batch 20 (after 104ms): [96 97 98 99] === RUN TestWithMax8 --- PASS: TestWithMax8 (1.33s) batch_test.go:191: batch 0 (after 0s): [0] batch_test.go:191: batch 1 (after 103ms): [6 7 8 1 2 3 4 5] batch_test.go:191: batch 2 (after 101ms): [15 16 9 10 11 12 13 14] batch_test.go:191: batch 3 (after 103ms): [17 18 19 20 21 22 23 24] batch_test.go:191: batch 4 (after 107ms): [29 30 31 32 25 26 27 28] batch_test.go:191: batch 5 (after 101ms): [36 37 38 39 40 33 34 35] batch_test.go:191: batch 6 (after 102ms): [41 42 43 44 45 46 47 48] batch_test.go:191: batch 7 (after 104ms): [51 52 53 54 55 56 49 50] batch_test.go:191: batch 8 (after 102ms): [62 63 64 57 58 59 60 61] batch_test.go:191: batch 9 (after 100ms): [69 70 71 72 65 66 67 68] batch_test.go:191: batch 10 (after 101ms): [78 79 80 73 74 75 76 77] batch_test.go:191: batch 11 (after 102ms): [82 83 84 85 86 87 88 81] batch_test.go:191: batch 12 (after 100ms): [95 96 89 90 91 92 93 94] batch_test.go:191: batch 13 (after 100ms): [97 98 99] ``` Reviewers: jcharumilind, ghorrell Reviewed By: ghorrell Differential Revision: https://phabricator.grailbio.com/D59811 fbshipit-source-id: f06cbc9
Configuration menu - View commit details
-
Copy full SHA for 59ff810 - Browse repository at this point
Copy the full SHA 59ff810View commit details -
[SYSINFRA-367,SYSINFRA-185] base/limiter: Prevent panics if there are…
… no ids to claim Summary: Remove a panic when there are no ids to claim. This can happen with a liberal limiter, as one of the goroutines can claim the ID, and the other ones won't find anything to claim (since the limiter allowed them to make calls). @jirgon found this in the nightly tests: ``` 2021/06/05 14:04:34 ec2cluster: [i-0600e7eeccbe97b54]: terminating: pending -> shutting-down panic: Do(i-0600e7eeccbe97b54): this is a bug - no ids for batch call ``` Test Plan: Unit tests. With just the changes to `batch_test.go`, the unit test fails: ``` > go test -run SometimesDedup panic: Do(test): this is a bug - no ids for batch call ``` With the changes to `batch.go`, the unit tests pass: ``` > go test -race -test.count 10000 -run SometimesDedup PASS ok github.com/grailbio/base/limiter 7.475s ``` Reviewers: ghorrell Reviewed By: ghorrell Subscribers: jirgon Differential Revision: https://phabricator.grailbio.com/D60074 fbshipit-source-id: d0d9e5f
Configuration menu - View commit details
-
Copy full SHA for e0a902c - Browse repository at this point
Copy the full SHA e0a902cView commit details -
log: add ability to set default fields
Summary: Add ability to set logger default fields, which is a list of key-value pairs to be included in every log message. Test Plan: Add unit test. Reviewers: rhyun Reviewed By: rhyun Subscribers: O63 logger, nyap, rhyun, jkimmel, smahadevan Differential Revision: https://phabricator.grailbio.com/D59945 fbshipit-source-id: 81c7cea
Configuration menu - View commit details
-
Copy full SHA for 5050078 - Browse repository at this point
Copy the full SHA 5050078View commit details -
grail-fuse: remove the userspace directory cache
Summary: Makes more use of the kernel's filesystem caching by using the kernel's entry and attribute cache times during both listing and individual lookup. Removing the cache fill and piece-wise invalidation simplifies gfs code. It also may be better-behaved in memory usage because the kernel can choose to drop caches under memory pressure (though this hasn't been a practical problem so far). To avoid O(n) separate lookup requests when n entries are returned from readdir, we implement readdirplus to return stat information during listing. This requires [a small but significant (public API change) patch](hanwen/go-fuse@v2.0.2...josh-newman:v2.0.2-grail.0) to the upstream go-fuse library. I've modified go.mod to use a fork for now and we can update if/when our changes are landed upstream. Background: Previously, gfs populated a cache with directory entries listed from S3. This cache was in the "critical path" of both readdir and lookup requests, even though the latter may only need one child. For large directories (100k+ children) listing could take many minutes, basically blocking usage of subdirectories (and also hanging the user's process, since it blocked on the file operation and gfs ignored interrupts). D60071 changed the lookup path on cache miss to directly query S3, allowing the user to make progress in huge directories (for example, `cd` directly to a known child). However, this introduced potential cache inconsistency issues because a lookup followed by a listing may not match (this is allowed, but may be confusing). Rather than try to address the inconsistencies, adding complexity and subtle concurrency, this revision changes philosophy a bit to try to make things bearably fast reading directly from S3. We can never guarantee consistency with S3 itself, and that inconsistency may end up being more confusing for users and harder to work around in applications (than latency). D60112 fixed the interruption problem relatively easily and is included here. Test Plan: Ran existing integration-style tests that set up a FUSE mount and run various operations: github.com/grailbio/base/cmd/grail-fuse/gfs. Also mounted the S3 filesystem on an EC2 instance (Linux 4.15) and manually ran and timed various operations (`ls` at root, in huge directories, in small children under those huge directories, etc.) and watched the debug logs. Listing huge directories seems considerably faster than before (in the first, uncached case) presumably because of readdirplus. Outside of huge directories, normal UX (`cd` tab-complete, `ls`, `ls -l`, git PS1, etc.) are noticeably slower than on local SSD (of course), but mostly take a couple of seconds (often < 1) for first operation and very fast (kernel caching) after that. It can already work very well for many use cases. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D60203 fbshipit-source-id: 37e6950
Configuration menu - View commit details
-
Copy full SHA for 42c6f59 - Browse repository at this point
Copy the full SHA 42c6f59View commit details -
Summary: Previously, `grep` detected gfs files as binary, seemingly due to lack of seek support (suggested by `strace`). Test Plan: Searched an S3 file successfully with `grep`. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D60270 fbshipit-source-id: c3dfa72
Configuration menu - View commit details
-
Copy full SHA for 9f24874 - Browse repository at this point
Copy the full SHA 9f24874View commit details -
base/grail: fix call depth passed to vlog
Summary: Fix off-by-one error in call depth passed to `vlog` log functions. The existing code caused us to log the file/line one level too far up the stack, i.e. the caller of the caller of the logging function. Given this program in `main.go`: ```lang=go package main import ( "github.com/grailbio/base/grail" "github.com/grailbio/base/log" ) func main() { grail.Init() log.Print("hello world") } ``` Output before: ``` I0611 00:51:39.351070 100712 proc.go:203] hello world ``` Output after: ``` I0611 00:51:45.433548 101316 main.go:10] hello world ``` Test Plan: Run the test program in the summary, and see the correct output. Reviewers: joshnewman Reviewed By: joshnewman Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D60347 fbshipit-source-id: e501624
Configuration menu - View commit details
-
Copy full SHA for fddb7b9 - Browse repository at this point
Copy the full SHA fddb7b9View commit details -
ensemble: [CPP-2420] added logging for order.Create(), order.Accessio…
…n(), and update.Update() Summary: Added logging and updated existing logs for the Create() and Accession() functions in ensemble/server/service/order/order.go and the Update() function in ensemble/server/service/order/update.go. Test Plan: All unit tests pass. Reviewers: fdegiuli, adharwadkar, ssoria, O56 Ensemble backend, achandra, achew, O63 logger Reviewed By: fdegiuli, O56 Ensemble backend, achew, O63 logger Subscribers: noah, smahadevan, achew Differential Revision: https://phabricator.grailbio.com/D59599 fbshipit-source-id: 4d9216f
Configuration menu - View commit details
-
Copy full SHA for 6b034e4 - Browse repository at this point
Copy the full SHA 6b034e4View commit details -
base/must: add call depth argument to must.Func
Summary: Add call depth argument to `must.Func`. The default implementation passes a depth to `log.Output` that will indicate the caller of the `must.{Nil,Nilf,True,etc.}` function. Test Plan: Run added unit test. Run this trivial program, and see that the logged message attributes my source file: ```lang=go package main import ( "github.com/grailbio/base/log" "github.com/grailbio/base/must" ) func main() { log.SetFlags(log.LstdFlags | log.Llongfile) must.True(false, "show me my file") } ``` Reviewers: joshnewman Reviewed By: joshnewman Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D60735 fbshipit-source-id: f1262e6
Configuration menu - View commit details
-
Copy full SHA for 488a57c - Browse repository at this point
Copy the full SHA 488a57cView commit details -
s3file/s3transport: check for nil before cleaning up request body
Summary: Per AWS docs, on the client side body may be nil (for example, for GET). Test Plan: Perhaps Joe can verify the fix. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: jmarcus, smahadevan Differential Revision: https://phabricator.grailbio.com/D60870 fbshipit-source-id: 2a65942
Configuration menu - View commit details
-
Copy full SHA for 27580ae - Browse repository at this point
Copy the full SHA 27580aeView commit details -
[SYSINFRA-478] move spotfeed to grailbio/base
Summary: Move the cloud/spotfeed package to grailbio/base. The spotfeed package is used to query for and parse spot feed data files that describe EC2 spot instance usage over some time period. Test Plan: Refactor, ensure all unit tests pass. Reviewers: smahadevan Reviewed By: smahadevan Differential Revision: https://phabricator.grailbio.com/D60885 fbshipit-source-id: 00a8065
Configuration menu - View commit details
-
Copy full SHA for 8fa363c - Browse repository at this point
Copy the full SHA 8fa363cView commit details -
Summary: Upgrade v.io to v0.1.17 to include RPC AWS X-Ray Tracing changes. After this diff lands, all Vanadium services will be able to have their RPC calls traced with AWS X-Ray. We will run an X-Ray daemon on each Kubernetes node to forward the traces to AWS. This is an example of how a service would onboard to RPC AWS X-Ray traces: D60760. Test Plan: Deploy to sandbox Lockbox, Ensemble, and ESignature and verify Galleri test order flow and X-Ray Traces. Reviewers: O5 pipeline, O50 galleri/communications, O56 Ensemble backend, O10 LIMS Server, O6 EDC, O3 third-party, O9 ticket-server, O28 Grailbook Infra, #security, nyap, rhuang, ecarrel, lkong, mrosen, kshashidhar, bbentson Reviewed By: O5 pipeline, O50 galleri/communications, O56 Ensemble backend, O10 LIMS Server, O6 EDC, O3 third-party, O9 ticket-server, O28 Grailbook Infra, nyap, rhuang, ecarrel, lkong, mrosen, kshashidhar, bbentson Subscribers: lkong, nyap, aeiser, joshnewman, jcharumilind, smahadevan, dnicolaou, pboyapalli, #lab_testing Differential Revision: https://phabricator.grailbio.com/D60278 fbshipit-source-id: ede3db9
Configuration menu - View commit details
-
Copy full SHA for 4092c24 - Browse repository at this point
Copy the full SHA 4092c24View commit details -
[SYSINFRA-478] spotfeed: De-dup entries across versions
Summary: Since spot feed data returns costs for multiple `Version`s, we simply de-dup across multiple versions for the same hour by using max. Test Plan: Unit tests. Reviewers: ghorrell Reviewed By: ghorrell Differential Revision: https://phabricator.grailbio.com/D61151 fbshipit-source-id: 1293f65
Configuration menu - View commit details
-
Copy full SHA for c5908b1 - Browse repository at this point
Copy the full SHA c5908b1View commit details -
[SCRMS-349]fix islington poller logging
Summary: The poller was passed a logger of an incorect type. Test Plan: Added unit tests for new logging method Poller logging now works correctly: `{"level":"error","msg":"poller mailing-metrics-updater received an error (retry 0): bind failed to execute query: Error 1053: Server shutdown in progress\n","caller":"poller.go:93","ts":"2021-07-21T13:05:06.733193000+01:00"}` Previously: `{"level":"error","msg":"poller %s received an error (retry %d): %v\n","caller":"poller.go:93","ts":"2021-07-15T11:16:58.393824359Z","tracking-sent-mailing":0}` Reviewers: O63 logger, tule Reviewed By: tule Subscribers: tule, smahadevan Differential Revision: https://phabricator.grailbio.com/D62043 fbshipit-source-id: 16c2597
Configuration menu - View commit details
-
Copy full SHA for 09e1632 - Browse repository at this point
Copy the full SHA 09e1632View commit details -
traverse: Run worker on local thread when Limit == 1 or n == 1
Summary: [BXDS-649] When T.Each() is called on single thread or with a single work unit, run that item locally. This makes debugging easier and may be marginally faster. Test Plan: existing unit tests cover this case already Reviewers: joshnewman Reviewed By: joshnewman Subscribers: kdavydov, jcharumilind, smahadevan Differential Revision: https://phabricator.grailbio.com/D62395 fbshipit-source-id: 25a0eb3
Configuration menu - View commit details
-
Copy full SHA for dee63e8 - Browse repository at this point
Copy the full SHA dee63e8View commit details -
ticket-server: switch from using rsa-sha to rsa-sha2-256
Summary: With openssh 8.2 rsa-sha is no longer accepted by default. Switch the SSH signing alg used to sha-256. DOPS-2228 Test Plan: Verified via ssh-keygen -L Verified by deploying the ticket-server to SBX env, and running grail-ssh against that service. The generated cert from the above call included the `(using rsa-sha2-256)` flag Reviewers: #shared_infrastructure, joshnewman, akshay.subram Reviewed By: #shared_infrastructure, joshnewman, akshay.subram Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D62507 fbshipit-source-id: a575b4a
Configuration menu - View commit details
-
Copy full SHA for e2f65be - Browse repository at this point
Copy the full SHA e2f65beView commit details -
[BXDS-652] classifier-evaluation: use vlog outputter with base/log
Summary: Use a `github.com/grailbio/base/log.Outputter` that is backed by `vlog`. This has two effects: - Makes log line formats more consistent, as `classifier-evaluator` generally uses `vlog`. - Exposes the ability to configure debug logging. Previously, there was no way to enable `github.com/grailbio/base/log` debug logging. Test Plan: Run a Chiron classifier with debug logging enabled, e.g.: ``` bazel run //python/classifier/chiron/examples/sexandage:classifier-evaluation-chiron-tfexec -- evalTrailer --v=1 ... ``` See debug logs. Reviewers: O52 chiron infrastructure, joshnewman Reviewed By: O52 chiron infrastructure, joshnewman Subscribers: soheil, smahadevan Differential Revision: https://phabricator.grailbio.com/D62473 fbshipit-source-id: f70fc5f
Configuration menu - View commit details
-
Copy full SHA for 441a684 - Browse repository at this point
Copy the full SHA 441a684View commit details -
base/tsv: support embedded structs
Summary: Embedded structs can help compose different "table" types while reading and writing. The current workaround is to copy all the fields into a new flattened struct. Test Plan: Unit tests included for reading and writing. Reviewers: joshnewman, jcharumilind Reviewed By: joshnewman Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D62961 fbshipit-source-id: a1f6926
Configuration menu - View commit details
-
Copy full SHA for c4986aa - Browse repository at this point
Copy the full SHA c4986aaView commit details -
[SYSINFRA-574] pipeline/rds: fixes to increase db-reader role ttl
Summary: This diff is a follow up to D62608 and fixes an oversight from that diff: we need to update the `max_session_duration` value of `reader_role` in the terraform config for the updated TTL to be allowed. Without this, we were seeing this error: ``` ValidationError: The requested DurationSeconds exceeds the MaxSessionDuration set for this role. status code: 400, request id: 208130ba-469d-4601-b126-f5ded356e83a ``` Furthermore, in D62608, I didn't realize that there were separte ticket configs for `users` and `engusers`, this diff also updates the configs in `engusers` to match what was done in D62608. Test Plan: Ran `bazel run :terraform init && bazel run :terraform plan` in: $GRAIL/ops/terraform/pipeline/grail-sysinfra-eng/rds/access {P2063} $GRAIL/ops/terraform/pipeline/msk/rds/access {P2064} Reviewers: jirgon, pbohannon, tcho, O9 ticket-server Reviewed By: jirgon, tcho, O9 ticket-server Differential Revision: https://phabricator.grailbio.com/D62995 fbshipit-source-id: 79d31b7
Configuration menu - View commit details
-
Copy full SHA for ea4b4f4 - Browse repository at this point
Copy the full SHA ea4b4f4View commit details -
Revert "[SYSINFRA-574] pipeline/rds: fixes to increase db-reader role…
… ttl" Summary: This reverts commit 79d31b7ce5eaca3291ee9cc9cd993b724caab000. As noted in [this thread](https://grailbio.slack.com/archives/CAA39NK7Y/p1628541490082300), when D62995 was landed with `arc land`, it somehow included a revert of a lot of previous commits. It seems like some problem occurred during the merge phase of `arc land`, but it didn't display any error messages. I’ve added the authors of all affected diffs as reviewers to the revert diff. {F1455817} Test Plan: N/A Reviewers: O9 ticket-server, O58 Shipment Service owner, O60 Accounts Service Backend, O61 Portal, apaniagua, amitchell, cdonohoe, smahadevan, chsu, sbagaria, asoni, jirgon, adharwadkar Reviewed By: O9 ticket-server, O58 Shipment Service owner, O60 Accounts Service Backend, O61 Portal, apaniagua, amitchell, cdonohoe, smahadevan, chsu, sbagaria, asoni, jirgon, adharwadkar Subscribers: asoni, smahadevan, dnicolaou Differential Revision: https://phabricator.grailbio.com/D63004 fbshipit-source-id: 347d7f7
Configuration menu - View commit details
-
Copy full SHA for 9334ee7 - Browse repository at this point
Copy the full SHA 9334ee7View commit details -
log: add SetLoggerConfig and SetLoggerLevel
Summary: Add SetLoggerConfig and SetLoggerLevel to allow users to configure logger settings. Test Plan: Update unit tests. Reviewers: O63 logger, gbiddison Reviewed By: gbiddison Subscribers: #security, smahadevan Differential Revision: https://phabricator.grailbio.com/D63292 fbshipit-source-id: 995a291
Configuration menu - View commit details
-
Copy full SHA for 3abe13f - Browse repository at this point
Copy the full SHA 3abe13fView commit details -
ticket-server: Add type-safe helpers
Summary: This adds helpers for all of the ticket types exposed by `github.com/grailbio/base/security/ticket` plus byte slices and strings (which are normally accessed via `GenericTicket`). In addition to taking care of casting the `ticket.Ticket` interface to the appropriate type (and handling errors when this fails), the API is designed to work with a pattern observed in the ticket paths for microservices deployed in multiple Kubernetes clusters. It seems that a common pattern for ticket paths is `tickets/aws-grail-eng-$env/$service/$key` where the same $service will access one or more tickets which share a prefix that varies by environment / cluster name. As it stands, the entire path must be specified for each ticket as an environment variable in the Helm charts (and is usually passed in as a flag). Instead, it should be possible to pass in just the shared prefix `tickets/aws-grail-eng-$env/service` and allow the service (or this library) to construct the rest of the key. Both approaches are handled by the helpers by using a variadic argument for the ticket path. This pattern seems to be broken by the new `preprod` tickets, however, so perhaps this will not be used in practice. The new API looks like ``` myTicketString, err := ticket.Client.GetString(v23context, "path/to/ticket") return myTicketString, err ``` instead of ``` tsClient := ticket.TicketServiceClient("path/to/ticket") tick, err := tsClient.Get(ctx) if err != nil { return "", err } generic, ok := tick.(ticket.TicketGenericTicket) if !ok { return "", fmt.Errorf("uh oh") } return string(generic.Value.Data), nil ``` Test Plan: - Unit tests cover type casting and some of the error handling. - Integrated into the `accesshope` service and was able to get tickets. This will come in a follow up diff if this is accepted. Reviewers: bbentson, zpallin, noah Reviewed By: noah Differential Revision: https://phabricator.grailbio.com/D62369 fbshipit-source-id: 3881f3c
Configuration menu - View commit details
-
Copy full SHA for fcfdee7 - Browse repository at this point
Copy the full SHA fcfdee7View commit details -
base/spotadvisor: new library to provide AWS Spot Advisor data
Summary: This diff introduces a new `spotadvisor` library which fetches AWS Spot Advisor data and provides an interface to interact with the data. Fix [SYSINFRA-621](https://jira.ti-apps.aws.grail.com/browse/SYSINFRA-621) Test Plan: Unit tests Reviewers: smahadevan, ghorrell Reviewed By: smahadevan, ghorrell Subscribers: joshnewman, jcharumilind Differential Revision: https://phabricator.grailbio.com/D63711 fbshipit-source-id: 52ddbfd
Configuration menu - View commit details
-
Copy full SHA for e726e19 - Browse repository at this point
Copy the full SHA e726e19View commit details -
base/file: file.Create with dir path should error
Summary: Currently, when writing to a path on a local filesystem that is an existing directory, the implementation fails at the f.Close() step trying to rename the tmp file to the given path. Test Plan: Tested manually with a small program. Reviewers: jcharumilind, joshnewman Reviewed By: jcharumilind Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D63880 fbshipit-source-id: 62c0cb6
Configuration menu - View commit details
-
Copy full SHA for f0c1f7a - Browse repository at this point
Copy the full SHA f0c1f7aView commit details -
fix error message for opening namespace and token files
Summary: When running `grail-access` with either `-namespace=unknownfile` or `-token=unknownfile` the error provided referenced "opening ca.crt". This could lead to confusion that the flags are not being correctly parsed. This change fixes the error messages. Test Plan: Ran `grail-access` with the above commands and confirmed that the appropriate error message is shown Reviewers: O68 security, noah Reviewed By: O68 security, noah Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D63956 fbshipit-source-id: a6a22d8
Configuration menu - View commit details
-
Copy full SHA for b58bbb9 - Browse repository at this point
Copy the full SHA b58bbb9View commit details -
base/file: improved documentation for Create
Summary: Following up on a comment in D63880. Test Plan: No tests needed. Reviewers: joshnewman Reviewed By: joshnewman Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D63933 fbshipit-source-id: 59e8237
Configuration menu - View commit details
-
Copy full SHA for dde5e30 - Browse repository at this point
Copy the full SHA dde5e30View commit details -
reflow/tool: add interrupt probabilities to ec2instances tool
Summary: Uses the recently added `base/spotadvisor` library to provide spot instance interrupt probabilities in the output of the `reflow ec2instances` tool. Fix [SYSINFRA-621] Test Plan: Built a reflow binary and ran `reflow ec2instances`: ``` type mem cpu ebs_max price interrupt prob cpu features flags c5n.4xlarge 42.00 16 593.75 0.86 > 20% {intel_avx,intel_avx2,intel_avx512} {ebs} c5n.9xlarge 96.00 36 1187.50 1.94 5-10% {intel_avx,intel_avx2,intel_avx512} {ebs} c5n.large 5.25 2 593.75 0.11 10-15% {intel_avx,intel_avx2,intel_avx512} {ebs} c5n.xlarge 10.50 4 593.75 0.22 O-5% {intel_avx,intel_avx2,intel_avx512} {ebs} cc2.8xlarge 60.50 32 0.00 2.00 N/A {} {old} cr1.8xlarge 244.00 32 0.00 3.50 N/A {} {old} d2.2xlarge 61.00 8 125.00 1.38 > 20% {intel_avx,intel_avx2} {ebs} d2.4xlarge 122.00 16 250.00 2.76 > 20% {intel_avx,intel_avx2} {ebs} ... ``` Reviewers: smahadevan Reviewed By: smahadevan Subscribers: dnicolaou Differential Revision: https://phabricator.grailbio.com/D63866 fbshipit-source-id: 44739e1
Configuration menu - View commit details
-
Copy full SHA for 66da27c - Browse repository at this point
Copy the full SHA 66da27cView commit details
Commits on Jun 2, 2022
-
base/spotadvisor: added new logger interface and GetMaxInterruptProba…
…bility helper Summary: This diff adds a new `SimpleLogger` interface which makes it easier to use `SpotAdvisor` with a wide variety of logger implementations. The default `log.Logger`, `grailbio/base/log.Logger` and `grailbio/relfow/log.Logger` already implement `SimpleLogger`. Also, a new `GetMaxInterruptProbability` function was added to complement the pre-existing `GetInterruptRange`. Fix [SYSINFRA-621] Test Plan: Unit tests. Reviewers: smahadevan, ghorrell Reviewed By: smahadevan Differential Revision: https://phabricator.grailbio.com/D64549 fbshipit-source-id: 82af4b3
Configuration menu - View commit details
-
Copy full SHA for 8449a86 - Browse repository at this point
Copy the full SHA 8449a86View commit details -
Summary: Improve error message for `NewLoggerWithDefaultFields()`. Make it different from the dangling key error message. Test Plan: Unit tests. Reviewers: O63 logger, fdegiuli Reviewed By: O63 logger, fdegiuli Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D64478 fbshipit-source-id: 9f735e1
Configuration menu - View commit details
-
Copy full SHA for 68f6927 - Browse repository at this point
Copy the full SHA 68f6927View commit details -
Test Plan: Before: $ go run . /tmp/s3 & [1] 6084 $ grail-file ls -R s3://grail-joshnewman-test/test3/ s3://grail-joshnewman-test/test3/parentd/childd/empty $ ls /tmp/s3/grail-joshnewman-test/test3/ ls: cannot access '/tmp/s3/grail-joshnewman-test/test3/': No such file or directory $ ls /tmp/s3/ >/dev/null; ls /tmp/s3/grail-joshnewman-test/ >/dev/null; ls /tmp/s3/grail-joshnewman-test/test3/ parentd The first `ls` fails because s3://grail-joshnewman-test had a variety of other content (besides test3/), so the loop takes the first `break`. The second `ls` series benefits from kernel inode caching (I think); I probably tab-completed through my manual tests (like D60203) so I didn't notice this (broad, serious) bug. After: $ go run . /tmp/s3 & [1] 7557 $ ls /tmp/s3/grail-joshnewman-test/test3/ parentd Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D61247 fbshipit-source-id: 2a58bdc
Configuration menu - View commit details
-
Copy full SHA for 99c16dd - Browse repository at this point
Copy the full SHA 99c16ddView commit details -
base/ioctx: add context-ful stdlib analogues
Test Plan: Inspect interfaces for stdlib likeness. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D65820 fbshipit-source-id: 806613a
Configuration menu - View commit details
-
Copy full SHA for 175371a - Browse repository at this point
Copy the full SHA 175371aView commit details -
Test Plan: New unit tests. Reviewers: jcharumilind, smahadevan Reviewed By: jcharumilind, smahadevan Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D65810 fbshipit-source-id: 18a1d6f
Configuration menu - View commit details
-
Copy full SHA for b6d6aca - Browse repository at this point
Copy the full SHA b6d6acaView commit details -
Test Plan: Some new unit tests. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D65834 fbshipit-source-id: 8e544af
Configuration menu - View commit details
-
Copy full SHA for df74e52 - Browse repository at this point
Copy the full SHA df74e52View commit details -
Test Plan: Only manually using experimental binaries. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D65836 fbshipit-source-id: e9493d6
Configuration menu - View commit details
-
Copy full SHA for cbad2ce - Browse repository at this point
Copy the full SHA cbad2ceView commit details -
cmd/biofs: add with initial tidy data source
Test Plan: Ran on Linux, browsed directories, queried sqlite DB. Ran on macOS, saw error. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D65861 fbshipit-source-id: fa32f0f
Configuration menu - View commit details
-
Copy full SHA for 2e37a7a - Browse repository at this point
Copy the full SHA 2e37a7aView commit details -
Summary: Typo from D58262, I think. Test Plan: None. Reviewers: smahadevan Reviewed By: smahadevan Subscribers: byang Differential Revision: https://phabricator.grailbio.com/D65882 fbshipit-source-id: d48838e
Configuration menu - View commit details
-
Copy full SHA for 9a1d59f - Browse repository at this point
Copy the full SHA 9a1d59fView commit details -
[BENG-41] grail-access: use factory in test
Summary: Post Go and dependency upgrades, there's an issue when no factory is specified. Apply the change before in a compatible way to minimize upgrade disruptions. Test Plan: - Run test with Go 1.13 and 1.17 and make sure it passes Reviewers: dborcherding, anguyen, sdunn, gvitta, bbentson Reviewed By: bbentson Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D66079 fbshipit-source-id: a13c896
Configuration menu - View commit details
-
Copy full SHA for 3f7469c - Browse repository at this point
Copy the full SHA 3f7469cView commit details -
base/file: fsnode testing tools
Summary: First used in D66026. Test Plan: Ran that revision's tests. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D66078 fbshipit-source-id: f119a67
Configuration menu - View commit details
-
Copy full SHA for 53b3d93 - Browse repository at this point
Copy the full SHA 53b3d93View commit details -
base/file/addfs: per-node transformations
Summary: Complementing D65999's whole-directory ones. Test Plan: New unit tests. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D66026 fbshipit-source-id: 1235d5f
Configuration menu - View commit details
-
Copy full SHA for 2a979ca - Browse repository at this point
Copy the full SHA 2a979caView commit details -
[BENG-34] security/ticket: add CN to SAN
Summary: Newer versions of Go have deprecated and removed CN and advise: `x509: certificate relies on legacy Common Name field, use SANs instead` so follow that advice and add CN to SAN in generic case. Reviewers: dborcherding, sdunn, bbentson, anguyen, gvitta, pboyapalli, aeiser, O9 ticket-server, smahadevan Reviewed By: bbentson, aeiser, O9 ticket-server Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D66398 fbshipit-source-id: 6609f98
Configuration menu - View commit details
-
Copy full SHA for 038b391 - Browse repository at this point
Copy the full SHA 038b391View commit details -
[BENG-40] ec2util: future-proof aws identitiy document verify
Summary: AWS Identity Documents are signed with DSA-with-SHA1 signatures, and DSA is removed from x509/crypto as of Go 1.16. This follows an approach done by hashicorp/vault#12340, by forking in https://github.com/mozilla-services/pkcs7 and applying the DSA fix mozilla-services/pkcs7#50. Test Plan: - Tested Bazel build and go build from within the folder Reviewers: aeiser, dborcherding, sdunn, anguyen, gvitta, bbentson Reviewed By: dborcherding, sdunn Subscribers: jcharumilind, dnicolaou, pboyapalli, smahadevan Differential Revision: https://phabricator.grailbio.com/D66326 fbshipit-source-id: cafa39b
Configuration menu - View commit details
-
Copy full SHA for 53676e2 - Browse repository at this point
Copy the full SHA 53676e2View commit details -
DOPS-2523 : support cluster a/b for eks clusters using GRAIL custom c…
…luster a/b logic Summary: I have developed a cluster a/b paradigm that essentially allows us to launch eks clusters in parallel using the same VPC, however the permissions are still treated separately in vanadium, meaning vdlconfigs must reference unique blessings for each cluster. With this logic provided as well as the tests to support it, I can generate unique blessings for cluster a/b enabled EKS clusters and the existing vdlconfig permissions should be able to remain the same. That is because when there is a cluster with a blessing extension "*:test:service", and we switch to using cluster "*:test-a:service", the blessing will now be written with the extension "*test:service:a". Ultimately, this means a ticket vdlconfig can reference just "*:test:service" and a principal with either of the aforementioned blessing extensions will be able to access the ticket. Which also means that I can launch the new a/b clusters and not have to worry about making a mess with permissions or creating human-error-prone instructions on how to add multiple blessing extensions to your vdlconfigs to provide access for your k8s serviceAccounts... I have somewhat lazily mocked out the more complicated aws api client portions of the work, which could later be fleshed out if need be, especially if an *urgent* discovery is made that these changes don't work for some reason. I borrowed specifically from existing code and other than moving it around to better mock it is unchanged, except for how the cluster extensions are determined, which has been outsourced to a function conveniently named for that purpose. I have also borrowed some test logic from grail-access and moved it into a testutil directory inside of ticket-server. This way the tests, which seem entirely relevant to ticketserver, live with the ticketserver. Both grail-access and ticket-server tests can use them from here. I put them in a unique directory to hopefully decrease load time when importing the test utilities. I did not opt to put them in our grailbio/testutil package because it was not clear this would be a good place to add a number of specific v23 dependencies when these utilities probably are intended to be lightweight. Test Plan: The following has already been done, but here were the steps I took: 1. Launch new ticket server "testing" from local branch 2. Launch a `grail-k8s-access` container in cpp `dev` cluster 3. Obtain blessings from ticket-server-testing endpoint to guarantee blessings are generated normally 4. Launch a new `grail-k8s-access` container, this time from cpp `dev-a` cluster 5. Obtain new blessings and show that they have obtained the cluster a/b blessings format (just tacks on a `:a` to the end of the standard blessings) Output from test: ``` ➜ grail git:(scratch/zpallin/DOPS-2523-refactor-ticket-server-k8s) bazel run //example:kubectl-dev-a -- run -i --tty test-grail-k8s-zpallin --image="434335521375.dkr.ecr.us-west-2.amazonaws.com/grail-ticket:2021-10-21.zpallin-152142.584006e5ee9-dev-dirty-6" --overrides="'{ \"spec\": { \"serviceAccount\": \"example\" } }'" --rm -- sh INFO: Analyzed target //example:kubectl-dev-a (0 packages loaded, 0 targets configured). INFO: Found 1 target... Target //example:kubectl-dev-a up-to-date: bazel-bin/example/kubectl-dev-a INFO: Elapsed time: 5.927s, Critical Path: 5.24s INFO: 1 process: 1 internal. INFO: Build completed successfully, 1 total action INFO: Running command line: bazel-bin/example/kubectl-dev-a run -i --tty test-grail-k8s-zpallin '--image=434335521375.dkr.ecr.us-west-2.amazonaws.com/grail-ticket:2021-10-21.zpallin-152142.584006e5ee9-dev-dirty-6' '--overrides='\''{ "spec": { "serviceAccount": INFO: Build completed successfully, 1 total action If you don't see a command prompt, try pressing enter. / # grail-access -k8s -blesser=/ticket-server-testing.eng.grail.com:8102/blesser/k8s 2021/10/25 16:17:16 INFO: Couldn't load principal from /.v23. Creating new one... Successfully applied new blessing: Public key: 98:1f:f9:8e:2b:11:10:55:85:e0:38:14:71:03:0f:8e ---------------- BlessingStore ---------------- Default Blessings v23.grail.com:k8s:438588635244:dev:example:a Peer pattern Blessings ... v23.grail.com:k8s:438588635244:dev:example:a ---------------- BlessingRoots ---------------- Public key Pattern 98:61:28:77:eb:5f:97:7f:2c:ef:4d:1b:f1:4d:fd:c0 [v23.grail.com] Expires on 2022-10-25 16:17:16.754883338 +0000 UTC (in 8759h59m51.565344027s) ``` Launching a new test ticket-server, for the record, requires building a new ticket server image and then using terraform to create the test cluster instances, networking, and backend permissions. Reviewers: #devops-tools, noah, O64 Thundercats, O51 Devops-tools, bbentson Reviewed By: #devops-tools, O64 Thundercats, O51 Devops-tools, bbentson Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D66365 fbshipit-source-id: 2fb6b45
Configuration menu - View commit details
-
Copy full SHA for 41f0ab3 - Browse repository at this point
Copy the full SHA 41f0ab3View commit details -
biofs/gfilefs: stop doing a
List
on parent to handle LOOKUPSummary: When servicing a LOOKUP for `(inode, name)`, we end up doing a `List` operation on the directory represented by `inode`. This can be very slow (minutes) if the directory is large, e.g. `s3://grail-clinical-results/`. Stop doing this `List` and instead `List` the file/directory of the named child directly. Doing this with no other changes would make servicing READDIRPLUS slow, as `go-fuse` issues interleaving LOOKUP calls as it handles each directory entry returned during iteration, so we'd make O(n) `List` calls. Modify `fsnodefuse` to reuse the data retrieved in the directory iteration by adding an inode that can later be used by LOOKUPs. Test Plan: Manual test by using `biofs` and navigating the `gfilefs` directory. Run added unit tests which verify that no added LOOKUPs are performed. Reviewers: joshnewman Reviewed By: joshnewman Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D66480 fbshipit-source-id: b4371a5
Configuration menu - View commit details
-
Copy full SHA for 4596de2 - Browse repository at this point
Copy the full SHA 4596de2View commit details -
Summary: Upgrade includes the fix for bug [ARROW-7777](https://issues.apache.org/jira/browse/ARROW-7777) which caused panics in D66587. Test Plan: Tested D66587. Reviewers: jcharumilind, smahadevan Reviewed By: jcharumilind Subscribers: smahadevan, dnicolaou, pboyapalli Differential Revision: https://phabricator.grailbio.com/D66588 fbshipit-source-id: 5f82050
Configuration menu - View commit details
-
Copy full SHA for d538a16 - Browse repository at this point
Copy the full SHA d538a16View commit details -
DOPS-2523 : remove blessing tails from eks cluster blessing extensions
Summary: Cluster specific tails to the blessing extensions were a good idea, but causing issues with grailbook authentication. They may not be necessary, so we are removing them for now. Test Plan: Tests passing Reviewers: #devops-tools, mskinner, pfialho, bbentson Reviewed By: #devops-tools, bbentson Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D66682 fbshipit-source-id: 0839b3c
Configuration menu - View commit details
-
Copy full SHA for 2e98b6d - Browse repository at this point
Copy the full SHA 2e98b6dView commit details -
Summary: Also simplifies error interpretation and more robustly identifies cancellation errors. Test Plan: New unit tests (ran manually). Also tested manually: initiated a slow FUSE operation and cancelled it which used to leave that part of the mount broken (subsequent attempts said not supported). Now, subsequent attempts work. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D66781 fbshipit-source-id: 6c7a14f
Configuration menu - View commit details
-
Copy full SHA for 0f057d9 - Browse repository at this point
Copy the full SHA 0f057d9View commit details -
[BXDS-1054] fsnodefuse: refresh fsnode.T references in inode embedders
Summary: `go-fuse` may (and often does) reuse `*fs.Inode`s. Calling `(*fs.Inode).NewInode` may return an existing inode with the existing inode's (immutable) operations (`fs.InodeEmbedder`). This can lead to staleness from a sequence like (pseudocode): ``` var p fsnode.Parent = ... child := p.Child(name) embed := ®Inode{n: child} childInode := parentInode.NewInode(name, embed) child2 := p.Child("foo") // Returns a different child, e.b. a different ConstLeaf(...). embed2 := ®Inode{n: child} childInode2 := parentInode.NewInode(name, embed2) // childInode2 might be the node created in the first NewInode call // and have stale behavior, as embed2 is orphaned/lost. ``` We fix this by refreshing the `fs.Node` fields held by our embedders. This fact also makes for a bug in our child inode reuse for READDIRPLUS LOOKUP servicing. If we always use the existing inode child to service LOOKUP, we may get stale results. We instead only allow reuse if the child inode is part of an active directory stream, reusing to avoid excessive `(fsnode.Parent).Child` calls. Test Plan: Pass existing and new unit tests. Manually traverse biofs, and see no regressions. Run `bio/biofs/install_and_tour` and see no regressions. Reviewers: joshnewman Reviewed By: joshnewman Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D66746 fbshipit-source-id: dc21234
Configuration menu - View commit details
-
Copy full SHA for c37618f - Browse repository at this point
Copy the full SHA c37618fView commit details -
base/simd: 1.17 go vet cleanup
Summary: After updating to Go 1.17, "go vet" complained about some possible violations of the unsafe.Pointer rules in base/simd and bio/biosimd, and brought up a few other minor issues. This diff makes the code "go vet" clean without any change in behavior. [BENG-11] Test Plan: Existing tests pass, and "go vet" no longer brings up any issues in these directories. Reviewers: joshnewman, dnicolaou Reviewed By: joshnewman, dnicolaou Subscribers: cchang, smahadevan Differential Revision: https://phabricator.grailbio.com/D67046 fbshipit-source-id: d998bb8
Configuration menu - View commit details
-
Copy full SHA for 462de12 - Browse repository at this point
Copy the full SHA 462de12View commit details -
Summary: This hid the credentials error in D67119. Test Plan: Run existing tests. Currently `TestReaddirplusConcurrent` is failing on my machine on master and here, but after that's resolved we'll have more confidence this isn't breaking anything. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D67123 fbshipit-source-id: e701d1c
Configuration menu - View commit details
-
Copy full SHA for 38a46f8 - Browse repository at this point
Copy the full SHA 38a46f8View commit details -
biofs: set blocks so
du
works [BXDS-1023]Summary: I also set block size since it was nearby. I'm seeing Arrow regularly use large reads [BXDS-1045], but I don't really think it's due to this change; I branched off of D67047 and I think that's likely responsible. Either way, we can verify that issue later since it's not the main purpose. Test Plan: Ran `du` on an S3 directory and saw it work (where it previously said 0). Reviewers: jcharumilind, sbanville Reviewed By: jcharumilind, sbanville Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D67125 fbshipit-source-id: 1f75c6b
Configuration menu - View commit details
-
Copy full SHA for 73699fd - Browse repository at this point
Copy the full SHA 73699fdView commit details -
[BXDS-1071] grail-fuse: kill DirPlusStream
Summary: We have our own fork of `go-fuse` which adds a `DirPlusStream` interface used to make LOOKUP FUSE operations during READDIRPLUS more performant. (Without some mitigation, we make O(n) calls to S3 when listing a directory: one for each LOOKUP for which there is one for every directory entry.) We started the process to upstream it, but the `go-fuse` maintainer pointed out some issues, and we eventually abandoned the change/effort. See more context in the [[ https://review.gerrithub.io/c/hanwen/go-fuse/+/524431 | code review ]]. Kill our use of this fork/patch to avoid the noted problems, and allow the previously returned dirstream entry/inode to be reused to make LOOKUPs fast. One of the uses of the patched version was our internal `grail-fuse` tool which has now been superseded by `biofs`. Kill it too so that we do not have to upgrade it. Test Plan: Run with debug logging. Use `ls` and observe that LOOKUP reuses nodes and does not trigger API calls. Reviewers: smahadevan, joshnewman Reviewed By: joshnewman Subscribers: smahadevan, dnicolaou, pboyapalli Differential Revision: https://phabricator.grailbio.com/D67249 fbshipit-source-id: ac84bf6
Configuration menu - View commit details
-
Copy full SHA for f4a37dd - Browse repository at this point
Copy the full SHA f4a37ddView commit details -
github.com/grailbio/base: go vet cleanup
Summary: This revision addresses all "go vet" complaints under github.com/grailbio/base, except a pair of unsatisfied standard interfaces (Seek() in recordio/internal/chunk.go is expected by go vet to satisfy io.Seeker, etc.). One complaint corresponded to a cosmetic bug in traverse.simpleReporter which I had noticed a few years ago. (I was originally going to just address some subdirectories of base/, but so many base/ packages use e.g. sync.Mutex that I concluded it was simpler to just address everything here.) [BXDS-1093] Test Plan: Existing tests pass. "go vet ./..." under github.com/grailbio/base now yields the expected results. Reviewers: joshnewman, sbagaria Reviewed By: joshnewman Subscribers: jcharumilind, cchang, smahadevan Differential Revision: https://phabricator.grailbio.com/D67354 fbshipit-source-id: 587b65b
Configuration menu - View commit details
-
Copy full SHA for 83d4255 - Browse repository at this point
Copy the full SHA 83d4255View commit details -
base/errors: improve interop with stdlib errors
Summary: Lets base/errors recognize more stdlib error types and vice versa. Test Plan: New unit tests. If this generally seems ok, it may be worthwhile to make test coverage more complete. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: jclune, smahadevan Differential Revision: https://phabricator.grailbio.com/D65766 fbshipit-source-id: 099c8c7
Configuration menu - View commit details
-
Copy full SHA for cde7f56 - Browse repository at this point
Copy the full SHA cde7f56View commit details -
biofs: upgrade go-fuse to 2.1.0
Summary: Upgrade `go-fuse` to 2.10 which fixes [BXDS-1069] and [BXDS-1095]. The upgrade triggers some changes to `fsnodefuse`. 2.1.0 is more prone to not return an/the existing inode from `(*fs.Inode).NewInode`, which we assumed in our implementation. We now explicitly look for an existing child inode instead of relying on `NewInode` to return the existing child/inode. We also update `fsnodefuse.TestReaddirplusConcurrent` to try different numbers of children to more reliably detect page size issues to prevent recurrence of [BXDS-1095]. Test Plan: Run unit tests. Run tour and see each step succeed. Reviewers: smahadevan, joshnewman Reviewed By: joshnewman Subscribers: smahadevan, dnicolaou, pboyapalli Differential Revision: https://phabricator.grailbio.com/D67326 fbshipit-source-id: 6444c14
Configuration menu - View commit details
-
Copy full SHA for 62dded6 - Browse repository at this point
Copy the full SHA 62dded6View commit details -
base/tsv: allow reading from TSVs with missing columns
Summary: The current code assumes that all struct fields must be populated by the TSV, but in practice we may add new fields to a struct definition and want to read TSVs written prior to the addition of these fields. Test Plan: New unit tests have been added. Reviewers: cchang, joshnewman Reviewed By: cchang Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D67863 fbshipit-source-id: eade205
Configuration menu - View commit details
-
Copy full SHA for 72b91bc - Browse repository at this point
Copy the full SHA 72b91bcView commit details -
chiron/evalframework: kill featurizer construction in init()
Summary: Kill featurizer construction in `init()`, as featurizer construction may do significant work, e.g. read from S3, that should be deferred until needed. Reading from S3 is especially problematic because it may require credentials that are not set up yet, e.g. Vanadium blessings. For example, if `bigslice` is used, no blessings will have been transferred by the time `init` runs, so any S3 accesses will use the default client which may not be authorized. This change triggers an addition to the `github.com/grailbio/base/config.Profile` API. We want to fail fast if the featurizer instance named in the `chiron_eval_binary` target does not exist, instead of waiting until the trainer is instantiated. Checking for the name used to require instantiation. Instead, we add an `InstanceNames` method and use that to fast fail if a nonexistent featurizer instance name is provided. Test Plan: - Run added unit tests. - Run integration tests. - `bazel test //go/src/grail.com/classifier/chiron/integrationtest/endtoend` - `bazel test //go/src/grail.com/classifier/chiron/tfexec/test/integration` Reviewers: O52 chiron infrastructure, joshnewman Reviewed By: O52 chiron infrastructure, joshnewman Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D67716 fbshipit-source-id: bf8ed90
Configuration menu - View commit details
-
Copy full SHA for 30dad88 - Browse repository at this point
Copy the full SHA 30dad88View commit details -
base/unsafe: remove ExtendBytes
Summary: The ExtendBytes function only exists because of a misunderstanding: I did not realize until a few months ago that s = s[:newLen] was valid Go for newLen in [len(s)+1, cap(s)]. Test Plan: Existing tests pass. Reviewers: joshnewman, jcharumilind Reviewed By: joshnewman Subscribers: cchang, smahadevan Differential Revision: https://phabricator.grailbio.com/D68270 fbshipit-source-id: 9df1181
Configuration menu - View commit details
-
Copy full SHA for b28c4f0 - Browse repository at this point
Copy the full SHA b28c4f0View commit details -
Summary: For D68138. Test Plan: New unit tests. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D68223 fbshipit-source-id: fb0dec1
Configuration menu - View commit details
-
Copy full SHA for 6e1b3f8 - Browse repository at this point
Copy the full SHA 6e1b3f8View commit details -
fsnodefuse: support kernel readahead with an in-memory buffer [BXDS-1…
…016] [BXDS-1045] Summary: Alternative to D67047. Like D67047, this improves read performance through the FUSE mount significantly, likely due to kernel readahead causing some i/o and syscall latency to be interleaved (parallelized and overlapping with the user process, I think). But this doesn't require buffering on local disk which is nice for avoiding disk space issues for some usage patterns. Test Plan: Added D67047's concurrency case to the integration test script. Updated benchmarks. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D67471 fbshipit-source-id: c31e075
Configuration menu - View commit details
-
Copy full SHA for cd1a519 - Browse repository at this point
Copy the full SHA cd1a519View commit details -
biofs: add unzip support [BXDS-1025]
Test Plan: New unit test (based on in-memory zip file). Manually tested listing contents of /mnt/biofs/s3/grail-build-artifacts/buildkite/entrypoint-grail/179518/bazel/.../testlogs.zip/unzip/ Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: jxiang, smahadevan Differential Revision: https://phabricator.grailbio.com/D68138 fbshipit-source-id: c1d30bb
Configuration menu - View commit details
-
Copy full SHA for ce42e81 - Browse repository at this point
Copy the full SHA ce42e81View commit details -
addfs: fix erroneous conflict logging [BXDS-1028]
Summary: Fix `addfs` logging of added node name conflicts: - Log at `Info` level instead of debug, as it shows that a node is being shadowed and made inaccessible. - Only log if there is a conflict instead of logging every added node as a conflict. - Replace the logging of the `perNodeImpl` name (which is always `...` in our case) with the name of the `original` node for which adds are being computed, e.g. `classifier.bin`, as that name is more informative. Test Plan: Run `biofs`. Run: ``` $ ls /mnt/biofs/s3/grail-ccga2-evaluation-runs/v2_9_galleri_training.994/workdir/full_classifier/classifier/.../classifier.bin # See that there are no more log messages saying there is a conflict for `regionfrags`. ``` Reviewers: joshnewman Reviewed By: joshnewman Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D68605 fbshipit-source-id: 1aa190b
Configuration menu - View commit details
-
Copy full SHA for bf88b89 - Browse repository at this point
Copy the full SHA bf88b89View commit details -
bio/pileup/indel: first working version
Summary: This fills in the remaining pieces (shard-processing and TSV-output logic) for the indel-supporting pileup. (In the meantime, yet another bit of code that was suppressing PerRead output for N-supporting reads has been removed. This finally broke the bio-pileup and bio-spamtools tests in the expected manner; those test fixtures have been updated.) [BXDS-942] Test Plan: Unit tests added for full pileup workflow. Ran this on a 2.3 GB test BAM with and without -cols=+dpalt, and with and without -per-strand=true, and verified that results looked sane. Also ran this on s3://grail-results/611183/cfDNA1_10_B9_GPSL_25pM_24Plex/bam/dupmarked.merged.bam ; this resulted in a cryptic panic due to the presence of irregular CIGAR strings (e.g. there are reads where the CIGAR ends in an insertion rather than a soft-clip). If others are likely to try this, we should either make bio-pileup crash with a more informative error message, or just permit irregular CIGARs. Reviewers: dnicolaou, ckuo Reviewed By: dnicolaou, ckuo Subscribers: sbagaria, escott, cchang, smahadevan Differential Revision: https://phabricator.grailbio.com/D68533 fbshipit-source-id: 07d91e1
Configuration menu - View commit details
-
Copy full SHA for daec4e1 - Browse repository at this point
Copy the full SHA daec4e1View commit details -
ensemble: fix auth bug for external user file download
Summary: Fix subtle bug where grailbook user would override accounts auth for download. Also make sure that auth errors are logged by the gin router. Also also inject the request id into the context earlier, so that it's there when the auth middleware runs. Also also also modernize the functions to extract users from context. [CPP-4357] #done Test Plan: Updated unit tests to reflect reality. Deployed to sandbox and successfully downloaded files from provider portal. Reviewers: O56 Ensemble backend, ysalmasi, achandra, achew, O63 logger, O60 Accounts Service Backend, atao Reviewed By: O56 Ensemble backend, ysalmasi, achandra, O60 Accounts Service Backend, atao Subscribers: atao, smahadevan Differential Revision: https://phabricator.grailbio.com/D68692 fbshipit-source-id: a8094f6
Configuration menu - View commit details
-
Copy full SHA for 5e70577 - Browse repository at this point
Copy the full SHA 5e70577View commit details -
[SYSINFRA-1230] ticket-server: Use region from the instance identity …
…document to find it Summary: When `ticket-server` is used to bless an EC2 instance, the `region` of that instance should be used to find the instance. Otherwise, we get a `InvalidInstanceID.NotFound` error. Test Plan: Unit tests. Reviewers: O9 ticket-server, jirgon Reviewed By: O9 ticket-server, jirgon Subscribers: zpallin, bbentson Differential Revision: https://phabricator.grailbio.com/D69210 fbshipit-source-id: 2995e29
Configuration menu - View commit details
-
Copy full SHA for 21a88c7 - Browse repository at this point
Copy the full SHA 21a88c7View commit details -
base/traverse: add sequential mode
Summary: traverse did not have a mode that was suitable for streaming workflows, where tasks are assigned in numerical order. This adds a simple implementation. [BXDS-1217] Test Plan: Unit test has been extended to cover the new mode. Reviewers: jschellenberger, smahadevan Reviewed By: smahadevan Subscribers: dnicolaou, cchang Differential Revision: https://phabricator.grailbio.com/D69361 fbshipit-source-id: 5d94639
Configuration menu - View commit details
-
Copy full SHA for eb8bd03 - Browse repository at this point
Copy the full SHA eb8bd03View commit details -
[SYSINFRA-1216] base/sync: Add support to reset once.Task
Summary: Support the ability to reset a `once.Task` which enables the task to be run again, but yet only once. Test Plan: Unit tests Reviewers: pboyapalli Reviewed By: pboyapalli Subscribers: ghorrell Differential Revision: https://phabricator.grailbio.com/D69633 fbshipit-source-id: 6e0bb7b
Configuration menu - View commit details
-
Copy full SHA for ce5a723 - Browse repository at this point
Copy the full SHA ce5a723View commit details -
[DOPS-2806] ticket-server/ec2: add us-east-1 to k8s regions list
Summary: This will hopefully unblock pods in the sysdev-east-a cluster from running into: ```/ # grail-access -k8s=true -region="us-east-1" ERROR: failed to fetch blessings: CA certificate does not match any cluster ``` Test Plan: Tested with ticket-server-testing server, running this from grail-ticket container shell: `/ # grail-access -k8s -region=us-east-1 -blesser=/ticket-server-testing.eng.grail.com:8102/blesser/k8s` Reviewers: zpallin, bbentson Reviewed By: zpallin Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D69838 fbshipit-source-id: c6da6f1
Configuration menu - View commit details
-
Copy full SHA for e74874b - Browse repository at this point
Copy the full SHA e74874bView commit details -
base/sync/multierror: clarify builder name
Summary: The previous name violated [Effective Go's advice](https://go.dev/doc/effective_go#package-names). It also suggested that users make a mistake and treat the builder object itself as an error which leads to incorrect `nil` comparisons. The new name suggests correct usage, I think. Test Plan: Existing builds and tests. Reviewers: jcharumilind, O65 nhs, O5 pipeline, pboyapalli Reviewed By: jcharumilind, O65 nhs, O5 pipeline, pboyapalli Subscribers: pboyapalli, smahadevan Differential Revision: https://phabricator.grailbio.com/D70344 fbshipit-source-id: 303983e
Configuration menu - View commit details
-
Copy full SHA for 476a016 - Browse repository at this point
Copy the full SHA 476a016View commit details -
base/sync/multierror: stop implementing
error
Summary: D22435 said it would do this, and fixed existing usages, but maybe accidentally left the implementation. This revision fixes a few new usages and completes the removal. Test Plan: Existing builds and tests. I did a best-effort search for situations where `Add` may be called on `nil` and didn't find any. Hopefully my search plus existing unit tests provide sufficient coverage. Reviewers: jcharumilind, O65 nhs, O5 pipeline, tule, pboyapalli, jclune Reviewed By: jcharumilind, O65 nhs, O5 pipeline, tule, pboyapalli, jclune Subscribers: jclune, pboyapalli, smahadevan Differential Revision: https://phabricator.grailbio.com/D70346 fbshipit-source-id: 2b6303a
Configuration menu - View commit details
-
Copy full SHA for 213c896 - Browse repository at this point
Copy the full SHA 213c896View commit details -
[SYSINFRA-595] reflow/runtime: (part 2) Refactor ec2cluster
Summary: - Reflow "runtime" starts a cluster instead of it being implicitly started upon invocation of methods `Allocate` and `Probe`. - `ec2cluster.VerifyAndInit()` is now split into two separate steps. - `Verify()` which verifies parameters and returns an error if applicable. - `Start()` which starts the cluster using a context, upon cancellation of which, the cluster will be shutdown. - Reflow `tool.Cmd` now has a `CurrentPool()` method which provides access to the current underlying pool of the cluster without expansion capabilities. This is used by all other reflow "tool" commands (such as `ps` and `info`) which do not involve a "run". - `httputil` is fixed to fetch exec inspect from a "live" alloc/exec. Test Plan: Unit and integration tests. See also [[ https://jira.ti-apps.aws.grail.com/browse/SYSINFRA-1333 | SYSINFRA-1333 ]] Following shows the comparison of `reflow info` output without and with this change. Particularly, we can see that the inspect of the exec is now working: - Without change ``` > reflow info a5f7df25 runid user start end cost ExecLog SysLog EvalGraph Trace a5f7df25 v23.grail.com:ec2:619867110810:adhoc:i-0fa8b5d98f22d3377 4:20PM 4:29PM <0.0373 taskid flowid attempt ident cost start end taskDur execDur state mem cpu disk procs hosttype uri/resultid inspect 48c996ec 11ab63ed 1 atropos.trimPairedEnd <0.0368 4:23PM 4:29PM 6m30s 0s unknown 0B 0.0 0B [] c5.2xlarge ec2-35-86-225-68.us-west-2.compute.amazonaws.com:9000/0cfe66e3339572fa/48c996ec094772fd69ec6ff1854eaf87c5b74010f98626b2d7dae800b27662c7 ``` - With change ``` > /tmp/darwin/amd64/reflowswami info a5f7df25 runid user start end cost RunLog ExecLog SysLog EvalGraph Trace a5f7df25 v23.grail.com:ec2:619867110810:adhoc:i-0fa8b5d98f22d3377 4:20PM 4:34PM <0.0628 taskid flowid attempt ident cost start end taskDur execDur state mem cpu disk procs hosttype uri/resultid inspect 48c996ec 11ab63ed 1 atropos.trimPairedEnd <0.0623 4:23PM 4:34PM 11m0s 0s running 4.3GiB 4.3 1.3GiB python3.7(11),gzip(4) c5.2xlarge ec2-35-86-225-68.us-west-2.compute.amazonaws.com:9000/0cfe66e3339572fa/48c996ec094772fd69ec6ff1854eaf87c5b74010f98626b2d7dae800b27662c7 ``` Reviewers: ghorrell, spolakh Reviewed By: ghorrell Subscribers: pboyapalli, dnicolaou Differential Revision: https://phabricator.grailbio.com/D70639 fbshipit-source-id: 2db209c
Configuration menu - View commit details
-
Copy full SHA for b31a26f - Browse repository at this point
Copy the full SHA b31a26fView commit details -
base/grail: use flag.Parse to simplify flag parsing
Summary: Use `flag.Parse` instead of custom flag parsing code. As of Go 1.15, `flag.Parse` now exits with code `0` when it sees `-h` or `-help`, which is what the custom flag parsing code was doing to accommodate the previous `flag.Parse` behavior of exiting with code `2`. See https://go.dev/doc/go1.15#minor_library_changes . Test Plan: Run unit tests. See that running `bazel run //go/src/grail.com/cmd/bio-kmer-index:bio-kmer-index -- -h`, a client of `grail.Init`, exits with code `0`. Reviewers: joshnewman Reviewed By: joshnewman Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D70995 fbshipit-source-id: 3673688
Configuration menu - View commit details
-
Copy full SHA for 380c62d - Browse repository at this point
Copy the full SHA 380c62dView commit details -
base/file: support bazel-style path join, disable failing macOS test
Summary: This adds support for joining bazel-style paths starting with "//", removing the need for custom path-join logic in e.g. bio/swalign. (It also disables a macOS test that may exhibit inconsistent behavior across OS versions, and does not work on my Mac.) [BXDS-1316] Test Plan: Unit test added. Reviewers: sbagaria, sbanville Reviewed By: sbagaria, sbanville Subscribers: smahadevan, cchang Differential Revision: https://phabricator.grailbio.com/D71408 fbshipit-source-id: 14f3095
Configuration menu - View commit details
-
Copy full SHA for 8d5dc8c - Browse repository at this point
Copy the full SHA 8d5dc8cView commit details -
bigslice: add logging for "extreme" argument representation truncation
Test Plan: New limitbuf unit test. Run a bigslice application that triggers this and look for the log message. Reviewers: jcharumilind Reviewed By: jcharumilind Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D71459 fbshipit-source-id: 906ef12
Configuration menu - View commit details
-
Copy full SHA for 3cd69d0 - Browse repository at this point
Copy the full SHA 3cd69d0View commit details -
base/s3util: classify InternalError as retryable
Summary: This diff classifies InternalErrors from S3 as retryable, as recommended by AWS. This will address the recent issue we've observed where "direct transfer" failures in Reflow due to AWS InternalErrors were not being retried. Jira: [SYSINFRA-1370](https://jira.ti-apps.aws.grail.com/browse/SYSINFRA-1370) Test Plan: Updated unit tests pass. Reviewers: smahadevan Reviewed By: smahadevan Differential Revision: https://phabricator.grailbio.com/D71929 fbshipit-source-id: 6471e70
Configuration menu - View commit details
-
Copy full SHA for e2e4aa8 - Browse repository at this point
Copy the full SHA e2e4aa8View commit details -
Summary: The most exciting Go upgrade yet: - Generic - Fuzzing - go.work More info here https://go.dev/blog/go1.18 There were notably 2 problems in Grail's code base that needed to be solved specifically with this upgrade: 1. Linking against sync.fastrand: sync.fastrand is a private function in Go standard lib that we have been 'hacking' to get some code depend on it. In Go 1.18, sync.fastrand was removed in favor of sync.fastrandn (noted the 'n' at the end). See https://cs.opensource.google/go/go/+/ecb2f231fa41b581319505139f8d5ac779763bee for more information. Refactored with fastmod https://github.com/facebookincubator/fastmod to adopt the new fastrandn instead ``` > fastmod 'go:linkname fastrand sync.fastrand' 'go:linkname fastrandn sync.fastrandn' go/src > fastmod 'func fastrand\(\) uint32' 'func fastrandn(n uint32) uint32' go/src > fastmod 'int\(fastrand\(\)\)%len\(p.local\)' 'int(fastrandn(uint32(len(p.local))))' go/src ``` 2. gomodsync not able to find sum of transitive dependency In cmd/gomodsync, we run `go mod download -json` to collect the check sum of packages and add them into `go list` outputs. However Go 1.18 `go mod download` would not include transitive deps by default thus caused missing sum for dependencies while running Gazelle lint check. Refactored to use `go mod download -json all` instead. Reviewers: gvitta, dborcherding, anguyen, sdunn, bcar, O3 third-party, O45 fragments, joshnewman Reviewed By: O3 third-party, O45 fragments, joshnewman Subscribers: smahadevan, joshnewman Differential Revision: https://phabricator.grailbio.com/D72053 fbshipit-source-id: cb6090e
Configuration menu - View commit details
-
Copy full SHA for 6714100 - Browse repository at this point
Copy the full SHA 6714100View commit details -
fsnodefuse: use own cache for READDIRPLUS caching for LOOKUP
Summary: Use own cache for READDIRPLUS caching for LOOKUP, which makes `TestReaddirplusConcurrent` pass again. The test currently fails; see output below. When we traverse directory streams, we add an inode to the directory inode in the Next function so that it may be used by the LOOKUP operation that is interleaved with the traversal when servicing READDIRPLUS operations. We first check if there is an existing child inode, however the test and set is not atomic. This means that two concurrent traversals may each create an inode. This screws up the reference counting used to decide whether a node can be reused by the LOOKUP, as we may orphan one of the inodes, as NewInode does not necessarily return an existing inode if it exists. The scenario: # There are two concurrent `dirStream` traversals of directory inode `d`, `dsA` and `dsB`. # `dsA.Next` and `dsB.Next` are called concurrently while traversing the same child node named `foo`. Both use `GetChild` to check for an existing inode. Both see that there is none. # `dsA.Next` uses `NewInode` to construct `inodeA` and adds a child, calling `AddChild("foo", inodeA)`. `dsB.Next` uses `NewInode` to construct `inodeB` and adds a child, calling `AddChild("foo", inodeB)`. `inodeB` is different from `inodeA` and replaces `inodeA` as the child named "foo". `inodeA` and `inodeB` each have a reference count of 1. # The LOOKUP for the `dsB` traversal is called, and the cached `inodeB` is properly used. # `dsB.Next` is called to continue the traversal. The reference count of `inodeB` is decremented, now 0, so it can no longer be used to service LOOKUP. # The LOOKUP for the `dsA` traversal is called. `inodeB` is discovered, but with a reference count of 0, we wrongly make the call to `(fsnode.Parent).Child`. This seems to have started with the move to Ubuntu 20.04. I do not know why. Use our own cache for the LOOKUP, for which we eliminate the race condition. It also eliminates the unusual prior behavior of adding a child on directory traversal. [BXDS-1666] Output: ``` ❯ bazel test //go/src/github.com/grailbio/base/file/fsnodefuse:go_default_test --test_filter="^TestReaddirplusConcurrent$" ... ==================== Test output for //go/src/github.com/grailbio/base/file/fsnodefuse:go_default_test: --- FAIL: TestReaddirplusConcurrent (1.26s) --- FAIL: TestReaddirplusConcurrent/iter01 (0.10s) readdirplus_test.go:57: numChildren=419 concurrentReaddirs=90 readdirplus_test.go:70: Error Trace: readdirplus_test.go:70 readdirplus_test.go:105 readdirplus_test.go:62 Error: Not equal: expected: 0 actual : 3 Test: TestReaddirplusConcurrent/iter01 --- FAIL: TestReaddirplusConcurrent/iter02 (0.04s) readdirplus_test.go:57: numChildren=693 concurrentReaddirs=24 readdirplus_test.go:70: Error Trace: readdirplus_test.go:70 readdirplus_test.go:105 readdirplus_test.go:62 Error: Not equal: expected: 0 actual : 1 Test: TestReaddirplusConcurrent/iter02 --- FAIL: TestReaddirplusConcurrent/iter05 (0.06s) readdirplus_test.go:57: numChildren=322 concurrentReaddirs=85 readdirplus_test.go:70: Error Trace: readdirplus_test.go:70 readdirplus_test.go:105 readdirplus_test.go:62 Error: Not equal: expected: 0 actual : 1 Test: TestReaddirplusConcurrent/iter05 --- FAIL: TestReaddirplusConcurrent/iter06 (0.10s) readdirplus_test.go:57: numChildren=975 concurrentReaddirs=52 readdirplus_test.go:70: Error Trace: readdirplus_test.go:70 readdirplus_test.go:105 readdirplus_test.go:62 Error: Not equal: expected: 0 actual : 1 Test: TestReaddirplusConcurrent/iter06 --- FAIL: TestReaddirplusConcurrent/iter18 (0.02s) readdirplus_test.go:57: numChildren=597 concurrentReaddirs=10 readdirplus_test.go:70: Error Trace: readdirplus_test.go:70 readdirplus_test.go:105 readdirplus_test.go:62 Error: Not equal: expected: 0 actual : 1 Test: TestReaddirplusConcurrent/iter18 FAIL ================================================================================ Target //go/src/github.com/grailbio/base/file/fsnodefuse:go_default_test up-to-date: bazel-bin/go/src/github.com/grailbio/base/file/fsnodefuse/go_default_test_/go_default_test INFO: Elapsed time: 1.469s, Critical Path: 1.28s INFO: 2 processes: 1 internal, 1 local. INFO: Build completed, 1 test FAILED, 2 total actions //go/src/github.com/grailbio/base/file/fsnodefuse:go_default_test FAILED in 1.3s /mnt/bazel/output-root/jjc/a3e42a5764f3aaeb31dd53943e9d787f/execroot/grail/bazel-out/k8-opt/testlogs/go/src/github.com/grailbio/base/file/fsnodefuse/go_default_test/test.log INFO: Build completed, 1 test FAILED, 2 total actions ``` Test Plan: Verify that the `fsnodefuse` package tests succeed. ``` bazel test //go/src/github.com/grailbio/base/file/fsnodefuse:go_default_test ``` Manually list multiple directories (with `ls`) in `biofs`, e.g. `ls /mnt/biofs/s3/grail-bigslice/athena-query-result`, and verify that it is not egregiously slow, i.e. a few seconds not many 10s of seconds. Reviewers: joshnewman Reviewed By: joshnewman Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D71922 fbshipit-source-id: 3330f1b
Configuration menu - View commit details
-
Copy full SHA for 6e10fcb - Browse repository at this point
Copy the full SHA 6e10fcbView commit details -
Revert "Golang: upgrade to 1.18"
Summary: This reverts commit cb6090e46d7d674b7b827b9de096aa9d77b8a45a. From slack: ``` ghorrell: Hey @SNgoc - we’re seeing increased memory usage on some reflow integration tests [1] which we believe is related to this version bump (see the notes on GC in the version notes for 1.18). Would it be possible to revert the 1.18 version upgrade? These tests passing is a dependency for a release branch cut that we need to make tomorrow. (CC: @olga) https://buildkite.com/grail/reflow-integration/builds/2371 ``` Also: ``` Kai Wells fwiw upgrading to 1.18 also broke the LIMS database connection because the version of MySQL is too old to support TLS 1.2: https://grailbio.slack.com/archives/CAA39NK7Y/p1647558600777319 ``` Reviewers: O45 fragments, ghorrell, oignatova, joshnewman, sdunn, kwells, dborcherding Reviewed By: O45 fragments, ghorrell, joshnewman Subscribers: smahadevan, joshnewman Differential Revision: https://phabricator.grailbio.com/D72202 fbshipit-source-id: 1ba1ab6
Configuration menu - View commit details
-
Copy full SHA for d0803d3 - Browse repository at this point
Copy the full SHA d0803d3View commit details -
fsnodefuse: handle duplicate directory entry names without panic
Summary: Handle duplicate directory entry names without panicking. We attempt to reuse `go-fuse` inodes (mostly to cache during handling of READDIRPLUS) and were panicking because we would attempt to reuse a file inode as a directory inode. We now make sure that the modes match before reusing the inode. Note that this kills the panic but still leaves pretty weird behavior when we have duplicate names, i.e. showing multiple entries with the same name with no way of differentiating them. That will be addressed in a separate revision. [BXDS-1452] Test Plan: Run added unit test. Run `biofs` and see that listing a "directory" in S3 with a file and directory with the same name, e.g. `ls /mnt/biofs/s3/grail-joshnewman/tmp/dir/`, does not cause any panics. Reviewers: joshnewman Reviewed By: joshnewman Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D71377 fbshipit-source-id: e286f0f
Configuration menu - View commit details
-
Copy full SHA for 8205dd3 - Browse repository at this point
Copy the full SHA 8205dd3View commit details -
base/errors: map errors.NotSupported to syscall.ENOTSUP
Summary: Map `errors.NotSupported` to `syscall.ENOTSUP` instead of `syscall.ENOSYS`. The available error kinds in `errors` is less granular than those of `syscall`. According to [[ https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html | POSIX ]]: ``` [ENOSYS] Functionality not supported. [ENOTSUP] Not supported (may be the same value as [EOPNOTSUPP]). ``` My understanding is that in practice `ENOSYS` signals that an entire function(ality) is not supported whereas `ENOTSUP` signals that some configuration of that functionality is not supported, e.g. - A file abstraction may not support renaming at all, so requests to rename return `ENOSYS`. - A file abstraction supports renaming only if the file is backed by a local regular file, so requests to rename a non-local file return `ENOTSUP`. `errors` doesn't provide this distinction, so prefer the more granular mapping. This may end up wrongly suggesting that there exists some configuration of a functionality that may work, but I think the (unlikely?) outcome is that we try operations that we might have known not to try earlier. Test Plan: Run `errors` unit tests. Run `fsnode` and `fsnodefuse` unit tests, as these are the main users of this mapping. Reviewers: joshnewman Reviewed By: joshnewman Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D72841 fbshipit-source-id: 3e75a09
Configuration menu - View commit details
-
Copy full SHA for 94e7635 - Browse repository at this point
Copy the full SHA 94e7635View commit details -
[SYSINFRA-1501] base/digest: Use buffered writer for computing digests
Summary: Using a buffered writer for computing digests reduces the amount of memory used and allocations made while computing digests. Since digest computation is used widely, we introduce `NewWriterShort` for computing digests of relatively short inputs and use it where appropriate. Performance improvement is mainly due to addition of `WriteString`. Various benchmarks show modest CPU improvements but significant memory/alloc reduction (reduced by **90%** in some cases) Test Plan: Unit and Integration tests. Benchmarking some digest computations (fileset assertions in particular shown below): - before ``` BenchmarkDigest BenchmarkDigest/writeDigestOld_N100 BenchmarkDigest/writeDigestOld_N100-8 2750 401574 ns/op 177809 B/op 1232 allocs/op BenchmarkDigest/writeDigestNew_N100 BenchmarkDigest/writeDigestNew_N100-8 3904 269149 ns/op 51968 B/op 1310 allocs/op BenchmarkDigest/writeDigestOld_N1000 BenchmarkDigest/writeDigestOld_N1000-8 183 6039835 ns/op 1770788 B/op 12113 allocs/op BenchmarkDigest/writeDigestNew_N1000 BenchmarkDigest/writeDigestNew_N1000-8 352 3031291 ns/op 515594 B/op 13010 allocs/op BenchmarkDigest/writeDigestOld_N10000 BenchmarkDigest/writeDigestOld_N10000-8 16 70172874 ns/op 22929233 B/op 121179 allocs/op BenchmarkDigest/writeDigestNew_N10000 BenchmarkDigest/writeDigestNew_N10000-8 31 37214169 ns/op 5153214 B/op 130010 allocs/op BenchmarkDigest/writeDigestOld_N100000 BenchmarkDigest/writeDigestOld_N100000-8 2 960212048 ns/op 207093356 B/op 1209659 allocs/op BenchmarkDigest/writeDigestNew_N100000 BenchmarkDigest/writeDigestNew_N100000-8 2 561615654 ns/op 51450236 B/op 1300010 allocs/op PASS ``` - after ``` BenchmarkDigest BenchmarkDigest/writeDigestOld_N100 BenchmarkDigest/writeDigestOld_N100-8 3322 339663 ns/op 136214 B/op 34 allocs/op BenchmarkDigest/writeDigestNew_N100 BenchmarkDigest/writeDigestNew_N100-8 5930 191718 ns/op 10168 B/op 112 allocs/op BenchmarkDigest/writeDigestOld_N1000 BenchmarkDigest/writeDigestOld_N1000-8 294 4650456 ns/op 1316342 B/op 115 allocs/op BenchmarkDigest/writeDigestNew_N1000 BenchmarkDigest/writeDigestNew_N1000-8 483 2245917 ns/op 61336 B/op 1012 allocs/op BenchmarkDigest/writeDigestOld_N10000 BenchmarkDigest/writeDigestOld_N10000-8 21 63469161 ns/op 18344572 B/op 1176 allocs/op BenchmarkDigest/writeDigestNew_N10000 BenchmarkDigest/writeDigestNew_N10000-8 43 27897608 ns/op 572248 B/op 10012 allocs/op BenchmarkDigest/writeDigestOld_N100000 BenchmarkDigest/writeDigestOld_N100000-8 2 753470408 ns/op 161193760 B/op 9590 allocs/op BenchmarkDigest/writeDigestNew_N100000 BenchmarkDigest/writeDigestNew_N100000-8 3 359851338 ns/op 5607640 B/op 100012 allocs/op PASS ``` Reviewers: pboyapalli, ghorrell Reviewed By: pboyapalli Subscribers: dnicolaou Differential Revision: https://phabricator.grailbio.com/D73250 fbshipit-source-id: 39208f6
Configuration menu - View commit details
-
Copy full SHA for c4860f6 - Browse repository at this point
Copy the full SHA c4860f6View commit details -
Summary: Add support for writes in `fsnode` nodes: - Parent creation. - Leaf creation. - Writable leaf files. ...via these changes: - `fsnode.T` has an `Info` method to provide file information instead of embedding `os.FileInfo`. Because this information can change with writes, the explicit method makes it easy/clear for clients to get a consistent snapshot, e.g. the reported size is what it was at the reported modification time. - `(fsnode.Leaf).Open` has been renamed to `OpenFile` and now takes an additional `flag` parameter. The `flag` parameter is a flag constructed from `os.O_*` flags. It is named `OpenFile` to be consistent with the spirit of `os.OpenFile`. Add `fsnode.Open` for the commonly desired read-only file opening. - Add three methods to `fsnode.Parent` for writes: `AddChildLeaf`, `AddChildParent`, `RemoveChild`. [BXDS-1013] Test Plan: Run unit tests. Run tour, `./bio/biofs/install_and_tour`, and see all steps succeed. Reviewers: joshnewman Reviewed By: joshnewman Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D72693 fbshipit-source-id: 687399e
Configuration menu - View commit details
-
Copy full SHA for c931b53 - Browse repository at this point
Copy the full SHA c931b53View commit details -
Summary: Support filesystem write operations, e.g. `Mkdir` and `Create`, with `fsnode` write support. - Support `Mkdir` with `(fsnode.Parent).AddChildParent`. - Support `Create` with `(fsnode.Parent).AddChildLeaf`. - Support writable files by adding a `writableHandle` `fs.FileHandle` implementation that wraps a `WritableFile` interface implementors can satisfy to support writes. The read functionality for `writableHandle` is not optimized, as we assume for now that users will be less worried about read performance when they are writing. Files supporting read splicing also now support writes. [BXDS-1013] Test Plan: Run added unit tests. Run tour, `./bio/biofs/install_and_tour`, and see all steps succeed. Reviewers: joshnewman Reviewed By: joshnewman Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D72697 fbshipit-source-id: fb5fe2e
Configuration menu - View commit details
-
Copy full SHA for 84e9da6 - Browse repository at this point
Copy the full SHA 84e9da6View commit details -
s3file: use errors.Canceled to signal canceled operations
Summary: Use `errors.Canceled` to make it easy for callers to detect cancellation. - Return an `errors.Canceled` error on context cancellation. - Classify `awsrequest.CanceledErrorCode` errors as `errors.Canceled`. [BXDS-1013] Test Plan: Run added unit tests. Reviewers: joshnewman Reviewed By: joshnewman Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D74658 fbshipit-source-id: 04608dd
Configuration menu - View commit details
-
Copy full SHA for faa7921 - Browse repository at this point
Copy the full SHA faa7921View commit details -
fsnodefuse: rename defaultHandle to sizingHandle in comments
Summary: Rename `defaultHandle` to `sizingHandle` in comments. In D72697, `defaultHandle` was effectively enamed to `sizingHandle`. However, we did not update some comments. This revision fixes that oversight. Test Plan: Run unit tests. Reviewers: joshnewman Reviewed By: joshnewman Subscribers: smahadevan Differential Revision: https://phabricator.grailbio.com/D74798 fbshipit-source-id: 699e611
Configuration menu - View commit details
-
Copy full SHA for 91150fd - Browse repository at this point
Copy the full SHA 91150fdView commit details -
Configuration menu - View commit details
-
Copy full SHA for e45753a - Browse repository at this point
Copy the full SHA e45753aView commit details -
base/file: general S3 read performance benchmark
fbshipit-source-id: e35cb19
Configuration menu - View commit details
-
Copy full SHA for ffea0b5 - Browse repository at this point
Copy the full SHA ffea0b5View commit details -
Configuration menu - View commit details
-
Copy full SHA for d6843fe - Browse repository at this point
Copy the full SHA d6843feView commit details
Commits on Nov 9, 2022
-
base/eventlog: simplify type name
Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/1494 fbshipit-source-id: ce7d957
Configuration menu - View commit details
-
Copy full SHA for 2bc65b3 - Browse repository at this point
Copy the full SHA 2bc65b3View commit details -
base/file/s3file: faster reads of large files with large buffers
Approved-by: Christopher Chang <cchang@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/184 fbshipit-source-id: 0168782
Configuration menu - View commit details
-
Copy full SHA for 2827013 - Browse repository at this point
Copy the full SHA 2827013View commit details -
base/eventlog: let caller configure timestamps
Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/1164 fbshipit-source-id: 08c1d02
Configuration menu - View commit details
-
Copy full SHA for 16558f1 - Browse repository at this point
Copy the full SHA 16558f1View commit details -
biofs: add eventing for feature usage
Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/1166 fbshipit-source-id: cd7ee3b
Configuration menu - View commit details
-
Copy full SHA for 85e735b - Browse repository at this point
Copy the full SHA 85e735bView commit details -
biofs: configure cloudwatch eventer
Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/1175 fbshipit-source-id: 7b394bc
Configuration menu - View commit details
-
Copy full SHA for bf00428 - Browse repository at this point
Copy the full SHA bf00428View commit details -
base/file: enable retries for "read: connection reset" errors (grailb…
…io/grail!1099) Approved-by: Christopher Chang <cchang@grailbio.com> Approved-by: Swaminathan Mahadevan <smahadevan@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/1099 fbshipit-source-id: 44d13ff
Configuration menu - View commit details
-
Copy full SHA for 95553d9 - Browse repository at this point
Copy the full SHA 95553d9View commit details -
biofs/ticketfs: return EACCES on ErrNoAccess from v23 (grailbio/grail…
…!1861) Approved-by: Josh N <joshnewman@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/1861 fbshipit-source-id: 5b6dd4a
Configuration menu - View commit details
-
Copy full SHA for 4a9ff16 - Browse repository at this point
Copy the full SHA 4a9ff16View commit details -
Change logger
ErrorAndReturn
to return error instead of string (gra……ilbio/grail!1491) Approved-by: Henry Oddy-Propsting <hoddypropsting@grailbio.com> Approved-by: Alex Tao <atao@grailbio.com> Approved-by: Amrit Dharwadkar <adharwadkar@grailbio.com> Approved-by: Jacqui Liu <jaliu@grailbio.com> Approved-by: Arden Chew <achew@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/1491 fbshipit-source-id: 6db7015
Configuration menu - View commit details
-
Copy full SHA for 06230d8 - Browse repository at this point
Copy the full SHA 06230d8View commit details -
s3file: fix timeout test (grailbio/grail!2491)
Approved-by: Josh N <joshnewman@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/2491 fbshipit-source-id: b01f0be
Configuration menu - View commit details
-
Copy full SHA for 52b6f2d - Browse repository at this point
Copy the full SHA 52b6f2dView commit details -
s3file: fix compile error (grailbio/grail!2526)
Approved-by: Gaspare Vitta <gvitta@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/2526 fbshipit-source-id: d32e2bf
Configuration menu - View commit details
-
Copy full SHA for aa09f33 - Browse repository at this point
Copy the full SHA aa09f33View commit details -
go: enable compilation on darwin arm64 (grailbio/grail!2483)
Approved-by: Gaspare Vitta <gvitta@grailbio.com> Approved-by: Josh N <joshnewman@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/2483 fbshipit-source-id: 319a792
Configuration menu - View commit details
-
Copy full SHA for d0ed1ac - Browse repository at this point
Copy the full SHA d0ed1acView commit details -
s3file/s3transport: initialize globals after flags (grailbio/grail!2568)
Co-authored-by: Jaran Charumilind <jcharumilind@grailbio.com> Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/2568 fbshipit-source-id: 715919d
Configuration menu - View commit details
-
Copy full SHA for cac6051 - Browse repository at this point
Copy the full SHA cac6051View commit details -
s3file/s3transport: add logging for open connections (grailbio/grail!…
…2574) Co-authored-by: Jaran Charumilind <jcharumilind@grailbio.com> Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/2574 fbshipit-source-id: d9d1442
Configuration menu - View commit details
-
Copy full SHA for 632d806 - Browse repository at this point
Copy the full SHA 632d806View commit details -
s3file: retry reads on a new connection (grailbio/grail!2589)
Co-authored-by: Jaran Charumilind <jcharumilind@grailbio.com> Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/2589 fbshipit-source-id: 3411bb3
Configuration menu - View commit details
-
Copy full SHA for 0c05981 - Browse repository at this point
Copy the full SHA 0c05981View commit details -
s3file: remove retry limit for reads (grailbio/grail!2673)
Co-authored-by: Jaran Charumilind <jcharumilind@grailbio.com> Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/2673 fbshipit-source-id: 382c40d
Configuration menu - View commit details
-
Copy full SHA for 73a38b4 - Browse repository at this point
Copy the full SHA 73a38b4View commit details -
biofs/tidyfs: convert aliases into symlinks to full version (grailbio…
…/grail!2709) Co-authored-by: Jaran Charumilind <jcharumilind@grailbio.com> Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/2709 fbshipit-source-id: a5d1c7a
Configuration menu - View commit details
-
Copy full SHA for 06cd6a2 - Browse repository at this point
Copy the full SHA 06cd6a2View commit details -
biofs, base/file: make past S3 versions available (grailbio/grail!858)
Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/858 fbshipit-source-id: 4efd445
Configuration menu - View commit details
-
Copy full SHA for a77388d - Browse repository at this point
Copy the full SHA a77388dView commit details -
biofs/addfs: propagate additions to newly-created children (grailbio/…
…grail!3175) Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/3175 fbshipit-source-id: dafffd2
Configuration menu - View commit details
-
Copy full SHA for f9da24b - Browse repository at this point
Copy the full SHA f9da24bView commit details -
base/errors: more flexible version of CloseAndReport (grailbio/grail!…
…3322) Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> Approved-by: Jan Schellenberger <jschellenberger@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/3322 fbshipit-source-id: 4a6baed
Configuration menu - View commit details
-
Copy full SHA for 52b6546 - Browse repository at this point
Copy the full SHA 52b6546View commit details -
base: add Open and Create utility functions for compressed files (gra…
…ilbio/grail!3349) Approved-by: Siddhartha Bagaria <sbagaria@grailbio.com> Approved-by: Josh N <joshnewman@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/3349 fbshipit-source-id: c74ca62
Configuration menu - View commit details
-
Copy full SHA for 905ebd6 - Browse repository at this point
Copy the full SHA 905ebd6View commit details -
go: upgrade to 1.18 (grailbio/grail!2433)
Approved-by: Josh N <joshnewman@grailbio.com> Approved-by: Jan Schellenberger <jschellenberger@grailbio.com> Approved-by: Gaspare Vitta <gvitta@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/2433 fbshipit-source-id: 70bd212
Configuration menu - View commit details
-
Copy full SHA for 0ff56fa - Browse repository at this point
Copy the full SHA 0ff56faView commit details -
base/file/s3file: fix race in test (grailbio/grail!3627)
Approved-by: Christopher Chang <cchang@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/3627 fbshipit-source-id: 26f6494
Configuration menu - View commit details
-
Copy full SHA for 6a4dc53 - Browse repository at this point
Copy the full SHA 6a4dc53View commit details -
base/s3file: revert use of chunked read (grailbio/grail!3351)
Approved-by: Christopher Chang <cchang@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/3351 fbshipit-source-id: ff76721
Configuration menu - View commit details
-
Copy full SHA for 3e1870b - Browse repository at this point
Copy the full SHA 3e1870bView commit details -
base/file/s3file: restore large-read-chunking performance optimizatio…
…n (grailbio/grail!3840) Approved-by: Christopher Chang <cchang@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/3840 fbshipit-source-id: f952459
Configuration menu - View commit details
-
Copy full SHA for 8b32fbf - Browse repository at this point
Copy the full SHA 8b32fbfView commit details -
base/file/s3file: remove unused parameter (grailbio/grail!3496)
Approved-by: Elijah Carrel <ecarrel@grailbio.com> Approved-by: Christopher Chang <cchang@grailbio.com> Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/3496 fbshipit-source-id: 5771120
Configuration menu - View commit details
-
Copy full SHA for 9655c72 - Browse repository at this point
Copy the full SHA 9655c72View commit details -
base/file/s3file: remove unused API (grailbio/grail!3495)
Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/3495 fbshipit-source-id: c4e6b70
Configuration menu - View commit details
-
Copy full SHA for 68fd2dd - Browse repository at this point
Copy the full SHA 68fd2ddView commit details -
base/file/s3file: use simpler, unauthenticated bucket-region lookup m…
…ethod (grailbio/grail!3493) Co-authored-by: Jaran Charumilind <jcharumilind@grailbio.com> Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/3493 fbshipit-source-id: 9438c37
Configuration menu - View commit details
-
Copy full SHA for 3c28e73 - Browse repository at this point
Copy the full SHA 3c28e73View commit details -
Fix lint issues in github.com (grailbio/grail!4390)
Approved-by: Christopher Chang <cchang@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/4390 fbshipit-source-id: af29101
Configuration menu - View commit details
-
Copy full SHA for 50c7967 - Browse repository at this point
Copy the full SHA 50c7967View commit details -
base/sync/loadingcache: simplify implementation (grailbio/grail!3513)
Co-authored-by: Jaran Charumilind <jcharumilind@grailbio.com> Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/3513 fbshipit-source-id: a7eece7
Configuration menu - View commit details
-
Copy full SHA for dc99560 - Browse repository at this point
Copy the full SHA dc99560View commit details -
fsnodefuse: eagerly read children for dirStream for better error repo…
…rting (grailbio/grail!4408) Approved-by: Josh Newman <joshnewman@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/4408 fbshipit-source-id: ad45a0c
Configuration menu - View commit details
-
Copy full SHA for 1850c53 - Browse repository at this point
Copy the full SHA 1850c53View commit details -
base/file/s3file: refactor internal APIs for testing (grailbio/grail!…
…3491) Co-authored-by: Jaran Charumilind <jcharumilind@grailbio.com> Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/3491 fbshipit-source-id: c64f0da
Configuration menu - View commit details
-
Copy full SHA for 7ff5b7d - Browse repository at this point
Copy the full SHA 7ff5b7dView commit details -
base/file/s3file: make S3 bucket-region matching an internal concern …
…(grailbio/grail!3490) Co-authored-by: Jaran Charumilind <jcharumilind@grailbio.com> Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> Approved-by: Elijah Carrel <ecarrel@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/3490 fbshipit-source-id: e81b377
Configuration menu - View commit details
-
Copy full SHA for 43a2bf2 - Browse repository at this point
Copy the full SHA 43a2bf2View commit details -
base/file/s3file: garbage collection for internal client cache (grail…
…bio/grail!4689) Co-authored-by: Jaran Charumilind <jcharumilind@grailbio.com> Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/4689 fbshipit-source-id: cf68ee1
Configuration menu - View commit details
-
Copy full SHA for ac9c2ca - Browse repository at this point
Copy the full SHA ac9c2caView commit details -
base/file/s3file: extract helper for managing internal chunk reader (…
…grailbio/grail!5101) Approved-by: Christopher Chang <cchang@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/5101 fbshipit-source-id: 112ab8b
Configuration menu - View commit details
-
Copy full SHA for f3af1ec - Browse repository at this point
Copy the full SHA f3af1ecView commit details -
grail-access: add expiry-caveat flag for use in testing (grailbio/gra…
…il!3430) Approved-by: Josh Newman <joshnewman@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/3430 fbshipit-source-id: e0ee2e4
Configuration menu - View commit details
-
Copy full SHA for 58fdc4f - Browse repository at this point
Copy the full SHA 58fdc4fView commit details -
s3file: fix data races (grailbio/grail!5469)
Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/5469 fbshipit-source-id: 5c2f1ef
Configuration menu - View commit details
-
Copy full SHA for e6c12f5 - Browse repository at this point
Copy the full SHA e6c12f5View commit details -
base/file/s3file: implement ReaderAt (grailbio/grail!5100)
Approved-by: Christopher Chang <cchang@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/5100 fbshipit-source-id: 1523c50
Configuration menu - View commit details
-
Copy full SHA for 56b6801 - Browse repository at this point
Copy the full SHA 56b6801View commit details -
base/config: sort param names in pretty-print output (grailbio/grail!…
…5644) Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/5644 fbshipit-source-id: 3714730
Configuration menu - View commit details
-
Copy full SHA for a950aa8 - Browse repository at this point
Copy the full SHA a950aa8View commit details -
cmd/grail-file: parallelized copies from S3 to local disk (grailbio/g…
…rail!5098) Co-authored-by: Christopher Chang <cchang@grailbio.com> Approved-by: Christopher Chang <cchang@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/5098 fbshipit-source-id: e1fc1ed
Configuration menu - View commit details
-
Copy full SHA for 76b5baa - Browse repository at this point
Copy the full SHA 76b5baaView commit details -
base/config: add -profileinline flag (grailbio/grail!5722)
Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/5722 fbshipit-source-id: 2f01886
Configuration menu - View commit details
-
Copy full SHA for cf3334a - Browse repository at this point
Copy the full SHA cf3334aView commit details -
base/config: permit assigning floats from integers (grailbio/grail!5866)
Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/5866 fbshipit-source-id: 3f4a796
Configuration menu - View commit details
-
Copy full SHA for 529e4a4 - Browse repository at this point
Copy the full SHA 529e4a4View commit details -
base/config: Refine handling of nil instances (grailbio/grail!5897)
Co-authored-by: Josh Newman <joshnewman@grailbio.com> Approved-by: Josh Newman <joshnewman@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/5897 fbshipit-source-id: f19b211
Configuration menu - View commit details
-
Copy full SHA for 1c92e6a - Browse repository at this point
Copy the full SHA 1c92e6aView commit details -
base/config: Allow parsing of empty input (grailbio/grail!5899)
Approved-by: Josh Newman <joshnewman@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/5899 fbshipit-source-id: dd3719a
Configuration menu - View commit details
-
Copy full SHA for 6ff1a35 - Browse repository at this point
Copy the full SHA 6ff1a35View commit details -
base/config: use generics to capture constructor return type (grailbi…
…o/grail!5794) Co-authored-by: Jaran Charumilind <jcharumilind@grailbio.com> Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/5794 fbshipit-source-id: 6c686eb
Configuration menu - View commit details
-
Copy full SHA for 93a5c6e - Browse repository at this point
Copy the full SHA 93a5c6eView commit details -
base/config: implement Set for floats (grailbio/grail!6163)
Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/6163 fbshipit-source-id: 4c25ea9
Configuration menu - View commit details
-
Copy full SHA for 7a9d8cb - Browse repository at this point
Copy the full SHA 7a9d8cbView commit details -
base/config: support for multi-line documentation (grailbio/grail!5967)
Co-authored-by: Jaran Charumilind <jcharumilind@grailbio.com> Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/5967 fbshipit-source-id: a19dae1
Configuration menu - View commit details
-
Copy full SHA for 84d9506 - Browse repository at this point
Copy the full SHA 84d9506View commit details -
base/config: support negative numbers in profiles (grailbio/grail!6167)
Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/6167 fbshipit-source-id: 07a34a9
Configuration menu - View commit details
-
Copy full SHA for 1d81886 - Browse repository at this point
Copy the full SHA 1d81886View commit details -
base/config: Make not-assignable error less confusing (grailbio/grail…
…!5927) Approved-by: Josh Newman <joshnewman@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/5927 fbshipit-source-id: c40a2d7
Configuration menu - View commit details
-
Copy full SHA for 18741af - Browse repository at this point
Copy the full SHA 18741afView commit details -
base/config: print raw string literals to improve readability (grailb…
…io/grail!6060) Co-authored-by: Jaran Charumilind <jcharumilind@grailbio.com> Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/6060 fbshipit-source-id: b741254
Configuration menu - View commit details
-
Copy full SHA for 7895f73 - Browse repository at this point
Copy the full SHA 7895f73View commit details -
base/config: add list of known implementations to docs (grailbio/grai…
…l!5795) Co-authored-by: Jaran Charumilind <jcharumilind@grailbio.com> Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/5795 fbshipit-source-id: 15d07a8
Configuration menu - View commit details
-
Copy full SHA for a58e317 - Browse repository at this point
Copy the full SHA a58e317View commit details -
biofs/tidyfs: Make v23 access errors present as EACCES (grailbio/grai…
…l!6345) Approved-by: Josh Newman <joshnewman@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/6345 fbshipit-source-id: eab9877
Configuration menu - View commit details
-
Copy full SHA for f66bbc0 - Browse repository at this point
Copy the full SHA f66bbc0View commit details -
base/config: reduce noise in implementation listing (grailbio/grail!6…
…408) Approved-by: Jaran Charumilind <jcharumilind@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/6408 fbshipit-source-id: 89dee01
Configuration menu - View commit details
-
Copy full SHA for c7edf8b - Browse repository at this point
Copy the full SHA c7edf8bView commit details -
base/config: Test override of instance made with Default (grailbio/gr…
…ail!6567) Approved-by: Josh Newman <joshnewman@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/6567 fbshipit-source-id: 445a39e
Configuration menu - View commit details
-
Copy full SHA for 97725e3 - Browse repository at this point
Copy the full SHA 97725e3View commit details -
grail-access: Add flag to bless remote machines with local default bl…
…essings (grailbio/grail!6716) Approved-by: Josh Newman <joshnewman@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/6716 fbshipit-source-id: 79670c1
Configuration menu - View commit details
-
Copy full SHA for 76f209e - Browse repository at this point
Copy the full SHA 76f209eView commit details -
base/file: Terminate chunk reading at EOF (grailbio/grail!7791)
Approved-by: Josh Newman <joshnewman@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/7791 fbshipit-source-id: 5a1ec56
Configuration menu - View commit details
-
Copy full SHA for 4052235 - Browse repository at this point
Copy the full SHA 4052235View commit details -
grail-access: Use remote executable from grail-bin-public (grailbio/g…
…rail!7904) Approved-by: Josh Newman <joshnewman@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/7904 fbshipit-source-id: ba2a4b6
Configuration menu - View commit details
-
Copy full SHA for dc88f7b - Browse repository at this point
Copy the full SHA dc88f7bView commit details -
grail-access: Support XDG_DATA_HOME (grailbio/grail!7906)
Approved-by: Josh Newman <joshnewman@grailbio.com> GitLab URL: https://gitlab.com/grailbio/grail/-/merge_requests/7906 fbshipit-source-id: f9915ad
Configuration menu - View commit details
-
Copy full SHA for ff9cd15 - Browse repository at this point
Copy the full SHA ff9cd15View commit details -
Configuration menu - View commit details
-
Copy full SHA for bfd041a - Browse repository at this point
Copy the full SHA bfd041aView commit details
Commits on Apr 14, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 89ef211 - Browse repository at this point
Copy the full SHA 89ef211View commit details