diff --git a/.gitignore b/.gitignore index 334bcb8..f8da230 100644 --- a/.gitignore +++ b/.gitignore @@ -18,4 +18,4 @@ gen_*.go .\#* .idea/ .vscode -/beam.iml +/akutan.iml diff --git a/Makefile b/Makefile index fbe5923..1146181 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ SHELL=/bin/bash export GOPATH=$(shell pwd) ROOT=$(shell pwd) -PACKAGE=github.com/ebay/beam +PACKAGE=github.com/ebay/akutan # gorocksdb build settings export CGO_LDFLAGS=-g -O2 -lrocksdb -lstdc++ -lm -lz -lbz2 -lsnappy -llz4 -lzstd @@ -15,7 +15,7 @@ clean: rm -rf pkg rm -rf dist find src/${PACKAGE} -name "*.pb.go" -delete - rm -f src/github.com/ebay/beam/util/cmp/gen_cmp.go + rm -f src/github.com/ebay/akutan/util/cmp/gen_cmp.go # Set up git hooks. If you want to opt out of the hooks, set this config value # to blank or some other directory. @@ -26,7 +26,7 @@ get: get_clone get_install get_clone: mkdir -p src/vendor/github.com - go run src/github.com/ebay/beam/tools/dep/*.go + go run src/github.com/ebay/akutan/tools/dep/*.go get_install: go install vendor/github.com/gogo/protobuf/protoc-gen-gogoslick @@ -50,42 +50,42 @@ define protoc_go ) >> $(strip $1)/$(basename $(strip $3)).pb.go endef -src/github.com/ebay/beam/rpc/views.pb.go: src/github.com/ebay/beam/rpc/views.proto src/github.com/ebay/beam/tools/dep/deps.go - $(call protoc_go, src/github.com/ebay/beam/rpc, src/github.com/ebay/beam/rpc, views.proto) +src/github.com/ebay/akutan/rpc/views.pb.go: src/github.com/ebay/akutan/rpc/views.proto src/github.com/ebay/akutan/tools/dep/deps.go + $(call protoc_go, src/github.com/ebay/akutan/rpc, src/github.com/ebay/akutan/rpc, views.proto) -src/github.com/ebay/beam/logentry/commands.pb.go: src/github.com/ebay/beam/logentry/commands.proto src/github.com/ebay/beam/tools/dep/deps.go - $(call protoc_go, src/github.com/ebay/beam/logentry, src/github.com/ebay/beam/logentry, commands.proto) +src/github.com/ebay/akutan/logentry/commands.pb.go: src/github.com/ebay/akutan/logentry/commands.proto src/github.com/ebay/akutan/tools/dep/deps.go + $(call protoc_go, src/github.com/ebay/akutan/logentry, src/github.com/ebay/akutan/logentry, commands.proto) -src/github.com/ebay/beam/diskview/meta.pb.go: src/github.com/ebay/beam/diskview/meta.proto src/github.com/ebay/beam/tools/dep/deps.go - $(call protoc_go, src/github.com/ebay/beam/diskview, src/github.com/ebay/beam/diskview, meta.proto) +src/github.com/ebay/akutan/diskview/meta.pb.go: src/github.com/ebay/akutan/diskview/meta.proto src/github.com/ebay/akutan/tools/dep/deps.go + $(call protoc_go, src/github.com/ebay/akutan/diskview, src/github.com/ebay/akutan/diskview, meta.proto) -src/github.com/ebay/beam/api/beam_api.pb.go: proto/api/beam_api.proto src/github.com/ebay/beam/tools/dep/deps.go - $(call protoc_go, src/github.com/ebay/beam/api, proto/api, beam_api.proto) +src/github.com/ebay/akutan/api/akutan_api.pb.go: proto/api/akutan_api.proto src/github.com/ebay/akutan/tools/dep/deps.go + $(call protoc_go, src/github.com/ebay/akutan/api, proto/api, akutan_api.proto) -src/github.com/ebay/beam/logspec/log.pb.go: proto/logspec/log.proto src/github.com/ebay/beam/tools/dep/deps.go - $(call protoc_go, src/github.com/ebay/beam/logspec, proto/logspec, log.proto) +src/github.com/ebay/akutan/logspec/log.pb.go: proto/logspec/log.proto src/github.com/ebay/akutan/tools/dep/deps.go + $(call protoc_go, src/github.com/ebay/akutan/logspec, proto/logspec, log.proto) -src/github.com/ebay/beam/tools/grpcbench/bench.pb.go: src/github.com/ebay/beam/tools/grpcbench/bench.proto src/github.com/ebay/beam/tools/dep/deps.go - $(call protoc_go, src/github.com/ebay/beam/tools/grpcbench, src/github.com/ebay/beam/tools/grpcbench, bench.proto) +src/github.com/ebay/akutan/tools/grpcbench/bench.pb.go: src/github.com/ebay/akutan/tools/grpcbench/bench.proto src/github.com/ebay/akutan/tools/dep/deps.go + $(call protoc_go, src/github.com/ebay/akutan/tools/grpcbench, src/github.com/ebay/akutan/tools/grpcbench, bench.proto) generate: protoc PATH=${PATH}:${ROOT}/bin go generate ${PACKAGE}/... -src/github.com/ebay/beam/util/cmp/gen_cmp_test.go: src/github.com/ebay/beam/util/cmp/cmp_test.template Makefile - cat src/github.com/ebay/beam/util/cmp/cmp_test.template | bin/genny gen "Scalar=int64,uint64,int32,uint32,int,string" > src/github.com/ebay/beam/util/cmp/gen_cmp_test.go +src/github.com/ebay/akutan/util/cmp/gen_cmp_test.go: src/github.com/ebay/akutan/util/cmp/cmp_test.template Makefile + cat src/github.com/ebay/akutan/util/cmp/cmp_test.template | bin/genny gen "Scalar=int64,uint64,int32,uint32,int,string" > src/github.com/ebay/akutan/util/cmp/gen_cmp_test.go -src/github.com/ebay/beam/util/cmp/gen_cmp.go: src/github.com/ebay/beam/util/cmp/cmp.template Makefile - cat src/github.com/ebay/beam/util/cmp/cmp.template | bin/genny gen "Scalar=int64,uint64,int32,uint32,int,string" > src/github.com/ebay/beam/util/cmp/gen_cmp.go +src/github.com/ebay/akutan/util/cmp/gen_cmp.go: src/github.com/ebay/akutan/util/cmp/cmp.template Makefile + cat src/github.com/ebay/akutan/util/cmp/cmp.template | bin/genny gen "Scalar=int64,uint64,int32,uint32,int,string" > src/github.com/ebay/akutan/util/cmp/gen_cmp.go protoc: \ - src/github.com/ebay/beam/rpc/views.pb.go \ - src/github.com/ebay/beam/diskview/meta.pb.go \ - src/github.com/ebay/beam/api/beam_api.pb.go \ - src/github.com/ebay/beam/logspec/log.pb.go \ - src/github.com/ebay/beam/tools/grpcbench/bench.pb.go \ - src/github.com/ebay/beam/logentry/commands.pb.go - -build: generate src/github.com/ebay/beam/util/cmp/gen_cmp.go src/github.com/ebay/beam/util/cmp/gen_cmp_test.go + src/github.com/ebay/akutan/rpc/views.pb.go \ + src/github.com/ebay/akutan/diskview/meta.pb.go \ + src/github.com/ebay/akutan/api/akutan_api.pb.go \ + src/github.com/ebay/akutan/logspec/log.pb.go \ + src/github.com/ebay/akutan/tools/grpcbench/bench.pb.go \ + src/github.com/ebay/akutan/logentry/commands.pb.go + +build: generate src/github.com/ebay/akutan/util/cmp/gen_cmp.go src/github.com/ebay/akutan/util/cmp/gen_cmp_test.go go install ${PACKAGE}/... lint: @@ -120,15 +120,15 @@ bench: # Reformats all the Go code. We used to use `go fmt` here, but goimports does # all that and a little more. fmt: - bin/goimports -w src/github.com/ebay/beam + bin/goimports -w src/github.com/ebay/akutan # Verifies that all the Go code is well-formatted, without changing any of it. # # The ! and grep are to get the right exit status: any output from goimports # should fail this target. fmtcheck: - @echo bin/goimports -d src/github.com/ebay/beam - @! bin/goimports -d src/github.com/ebay/beam | grep '.\?' + @echo bin/goimports -d src/github.com/ebay/akutan + @! bin/goimports -d src/github.com/ebay/akutan | grep '.\?' .PHONY: local/generated/Procfile local/generated/Procfile: @@ -140,11 +140,11 @@ run: local/generated/Procfile # uses dist/ as the docker context # $1 = component name (Dockerfile must exist at docker/${1}/Dockerfile) define docker_build - docker build --tag beam-$(strip $1):latest --file docker/$(strip $1)/Dockerfile dist/ + docker build --tag akutan-$(strip $1):latest --file docker/$(strip $1)/Dockerfile dist/ endef -docker-build-beam-builder: - docker build --tag=beam-builder:latest docker/build +docker-build-akutan-builder: + docker build --tag=akutan-builder:latest docker/build docker-build-api: dist $(call docker_build, api) docker-build-diskview: dist @@ -160,21 +160,21 @@ docker-build-txview: dist # the host. # # The pwd volume enables development of docker images by mounting the host source -# tree into /home/builder/beam -docker-run-beam-builder: +# tree into /home/builder/akutan +docker-run-akutan-builder: docker run --interactive --tty --rm \ - --hostname beam-builder \ + --hostname akutan-builder \ --volume /var/run/docker.sock:/var/run/docker.sock \ - --volume "${PWD}:/home/builder/beam" \ - beam-builder:latest /bin/bash + --volume "${PWD}:/home/builder/akutan" \ + akutan-builder:latest /bin/bash -# Create the Beam builder docker image with the Docker daemon of Minukube. This -# builder image will then be used to build the core Beam images. -docker-build-beam-builder-in-minikube: +# Create the Akutan builder docker image with the Docker daemon of Minukube. This +# builder image will then be used to build the core Akutan images. +docker-build-akutan-builder-in-minikube: eval $$(minikube docker-env || echo "exit 1"); \ - docker build --tag=beam-builder:latest docker/build + docker build --tag=akutan-builder:latest docker/build -# Build the core Beam images using the Beam builder image running within +# Build the core Akutan images using the Akutan builder image running within # Minikube's Docker. These images will then be accessible from Minikube's # Kubernetes. # @@ -182,26 +182,26 @@ docker-build-beam-builder-in-minikube: # VM into the container. The reason ${PWD} is meaningful is because VirtualBox # mounts /Users/ from the Mac host into the VM. Other directories, like # /var/run, are local to the VM. -docker-build-beam-service-in-minikube: +docker-build-akutan-service-in-minikube: eval $$(minikube docker-env || echo "exit 1"); \ docker run --interactive --tty --rm \ - --hostname beam-builder \ + --hostname akutan-builder \ --volume /var/run/docker.sock:/var/run/docker.sock \ --volume /home/docker/.docker:/home/builder/.docker \ - --volume "${PWD}:/home/builder/beam" \ + --volume "${PWD}:/home/builder/akutan" \ --entrypoint /bin/bash \ - beam-builder:latest \ - -c "cd /home/builder/beam && make docker-build-{api,diskview,txview,kafka}"; \ - docker tag beam-api:latest beam-api:local; \ - docker tag beam-diskview:latest beam-diskview:local; \ - docker tag beam-txview:latest beam-txview:local; \ - docker tag beam-kafka:latest beam-kafka:local + akutan-builder:latest \ + -c "cd /home/builder/akutan && make docker-build-{api,diskview,txview,kafka}"; \ + docker tag akutan-api:latest akutan-api:local; \ + docker tag akutan-diskview:latest akutan-diskview:local; \ + docker tag akutan-txview:latest akutan-txview:local; \ + docker tag akutan-kafka:latest akutan-kafka:local dist: build mkdir -p dist/docker cp bin/* dist/ cp docker/kafka/{init.sh,*.properties} dist/docker - tar --exclude dist/beam.tar.lz4 -c dist/ |lz4 -f - dist/beam.tar.lz4 + tar --exclude dist/akutan.tar.lz4 -c dist/ |lz4 -f - dist/akutan.tar.lz4 failed: g++ --version diff --git a/README.md b/README.md index e14ddff..1a86dd4 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -# Beam +# Akutan -[![Build Status](https://travis-ci.com/eBay/beam.svg?branch=master)](https://travis-ci.com/eBay/beam) -[![GoDoc](https://godoc.org/github.com/eBay/beam/src/github.com/ebay/beam?status.svg)](https://godoc.org/github.com/eBay/beam/src/github.com/ebay/beam) +[![Build Status](https://travis-ci.com/eBay/akutan.svg?branch=master)](https://travis-ci.com/eBay/akutan) +[![GoDoc](https://godoc.org/github.com/ebay/akutan/src/github.com/ebay/akutan?status.svg)](https://godoc.org/github.com/ebay/akutan/src/github.com/ebay/akutan) -There's a blog post that's a [good introduction to Beam](https://www.ebayinc.com/stories/blogs/tech/beam-a-distributed-knowledge-graph-store/). +There's a blog post that's a [good introduction to Akutan](https://www.ebayinc.com/stories/blogs/tech/beam-a-distributed-knowledge-graph-store/). -Beam is a distributed knowledge graph store, sometimes called an RDF store or a +Akutan is a distributed knowledge graph store, sometimes called an RDF store or a triple store. Knowledge graphs are suitable for modeling data that is highly interconnected by many types of relationships, like encyclopedic information about the world. A knowledge graph store enables rich queries on its data, which @@ -26,42 +26,42 @@ subject | predicate | object `` | `` | `` `` | `` | `` -To learn about how to represent and query data in Beam, see +To learn about how to represent and query data in Akutan, see [docs/query.md](docs/query.md). -Beam is designed to store large graphs that cannot fit on a single server. It's +Akutan is designed to store large graphs that cannot fit on a single server. It's scalable in how much data it can store and the rate of queries it can execute. -However, Beam serializes all changes to the graph through a central log, which +However, Akutan serializes all changes to the graph through a central log, which fundamentally limits the total rate of change. The rate of change won't improve with a larger number of servers, but a typical deployment should be able to handle tens of thousands of changes per second. In exchange for this limitation, -Beam's architecture is a relatively simple one that enables many features. For -example, Beam supports transactional updates and historical global snapshots. We +Akutan's architecture is a relatively simple one that enables many features. For +example, Akutan supports transactional updates and historical global snapshots. We believe this trade-off is suitable for most knowledge graph use cases, which accumulate large amounts of data but do so at a modest pace. To learn more about -Beam's architecture and this trade-off, see +Akutan's architecture and this trade-off, see [docs/central_log_arch.md](docs/central_log_arch.md). -Beam isn't ready for production-critical deployments, but it's useful today for -some use cases. We've run a 20-server deployment of Beam for development +Akutan isn't ready for production-critical deployments, but it's useful today for +some use cases. We've run a 20-server deployment of Akutan for development purposes and off-line use cases for about a year, which we've most commonly -loaded with a dataset of about 2.5 billion facts. We believe Beam's current -capabilities exceed this capacity and scale; we haven't yet pushed Beam to its +loaded with a dataset of about 2.5 billion facts. We believe Akutan's current +capabilities exceed this capacity and scale; we haven't yet pushed Akutan to its limits. The project has a good architectural foundation on which additional features can be built and higher performance could be achieved. -Beam needs more love before it can be used for production-critical deployments. -Much of Beam's code consists of high-quality, documented, unit-tested modules, -but some areas of the code base are inherited from Beam's earlier prototype days +Akutan needs more love before it can be used for production-critical deployments. +Much of Akutan's code consists of high-quality, documented, unit-tested modules, +but some areas of the code base are inherited from Akutan's earlier prototype days and still need attention. In other places, some functionality is lacking before -Beam could be used as a critical production data store, including deletion of +Akutan could be used as a critical production data store, including deletion of facts, backup/restore, and automated cluster management. We have filed -GitHub issues for these and a few other things. There are also areas where Beam +GitHub issues for these and a few other things. There are also areas where Akutan could be improved that wouldn't necessarily block production usage. For example, -Beam's query language is not quite compatible with Sparql, and its inference +Akutan's query language is not quite compatible with Sparql, and its inference engine is limited. -So, Beam has a nice foundation and may be useful to some people, but it also +So, Akutan has a nice foundation and may be useful to some people, but it also needs additional love. If that's not for you, here are a few alternative open-source knowledge and property graph stores that you may want to consider (we have no affiliation with these projects): @@ -79,20 +79,20 @@ open-source knowledge and property graph stores that you may want to consider [Comparison of Triplestores](https://en.wikipedia.org/wiki/Comparison_of_triplestores) page. -The remainder of this README describes how to get Beam up and running. Several -documents under the `docs/` directory describe aspects of Beam in more +The remainder of this README describes how to get Akutan up and running. Several +documents under the `docs/` directory describe aspects of Akutan in more detail; see [docs/README.md](docs/README.md) for an overview. -## Installing dependencies and building Beam +## Installing dependencies and building Akutan -Beam has the following system dependencies: +Akutan has the following system dependencies: - It's written in [Go](https://golang.org/). You'll need v1.11.5 or newer. - - Beam uses [Protocol Buffers](https://developers.google.com/protocol-buffers/) + - Akutan uses [Protocol Buffers](https://developers.google.com/protocol-buffers/) extensively to encode messages for [gRPC](https://grpc.io/), the log of data changes, and storage on disk. You'll need protobuf version 3. We reccomend 3.5.2 or later. Note that 3.0.x is the default in many Linux distributions, but - doesn't work with the Beam build. - - Beam's Disk Views store their facts in [RocksDB](https://rocksdb.org/). + doesn't work with the Akutan build. + - Akutan's Disk Views store their facts in [RocksDB](https://rocksdb.org/). On Mac OS X, these can all be installed via [Homebrew](https://brew.sh/): @@ -101,7 +101,7 @@ On Mac OS X, these can all be installed via [Homebrew](https://brew.sh/): On Ubuntu, refer to the files within the [docker/](docker/) directory for package names to use with `apt-get`. -After cloning the Beam repository, pull down several Go libraries and additional +After cloning the Akutan repository, pull down several Go libraries and additional Go tools: $ make get @@ -110,9 +110,9 @@ Finally, build the project: $ make build -## Running Beam locally +## Running Akutan locally -The fastest way to run Beam locally is to launch the in-memory log store: +The fastest way to run Akutan locally is to launch the in-memory log store: $ bin/plank @@ -120,14 +120,14 @@ Then open another terminal and run: $ make run -This will bring up several Beam servers locally. It starts an API server that +This will bring up several Akutan servers locally. It starts an API server that listens on localhost for gRPC requests on port 9987 and for HTTP requests on port 9988, such as . -The easiest way to interact with the API server is using `bin/beam-client`. See +The easiest way to interact with the API server is using `bin/akutan-client`. See [docs/query.md](docs/query.md) for examples. The API server exposes the -`BeamFactStore` gRPC service defined in -[protos/api/beam_api.proto](protos/api/beam_api.proto). +`FactStore` gRPC service defined in +[proto/api/akutan_api.proto](proto/api/akutan_api.proto). ## Deployment concerns @@ -137,34 +137,34 @@ Earlier, we used `bin/plank` as a log store, but this is unsuitable for real usage! Plank is in-memory only, isn't replicated, and by default, it only keeps 1000 entries at a time. It's only meant for development. -Beam also supports using [Apache Kafka](https://kafka.apache.org/) as its log +Akutan also supports using [Apache Kafka](https://kafka.apache.org/) as its log store. This is recommended over Plank for any deployment. To use Kafka, follow the [Kafka quick start](https://kafka.apache.org/quickstart) guide to install -Kafka, start ZooKeeper, and start Kafka. Then create a topic called "beam" +Kafka, start ZooKeeper, and start Kafka. Then create a topic called "akutan" (not "test" as in the Kafka guide) with `partitions` set to 1. You'll want to configure Kafka to synchronously write entries to disk. -To use Kafka with Beam, set the `beamLog`'s `type` to `kafka` in your Beam +To use Kafka with Akutan, set the `akutanLog`'s `type` to `kafka` in your Akutan configuration (default: `local/config.json`), and update the `locator`'s `addresses` accordingly (Kafka uses port 9092 by default). You'll need to clear -out Beam's Disk Views' data before restarting the cluster. The Disk Views -by default store their data in $TMPDIR/rocksdb-beam-diskview-{space}-{partition} -so you can delete them all with `rm -rf $TMPDIR/rocksdb-beam-diskview*` +out Akutan's Disk Views' data before restarting the cluster. The Disk Views +by default store their data in $TMPDIR/rocksdb-akutan-diskview-{space}-{partition} +so you can delete them all with `rm -rf $TMPDIR/rocksdb-akutan-diskview*` ### Docker and Kubernetes -This repository includes support for running Beam inside +This repository includes support for running Akutan inside [Docker](https://www.docker.com/) and [Minikube](https://kubernetes.io/docs/setup/minikube/). These environments can be tedious for development purposes, but they're useful as a step towards a modern and robust production deployment. -See `cluster/k8s/Minikube.md` file for the steps to build and deploy Beam +See `cluster/k8s/Minikube.md` file for the steps to build and deploy Akutan services in `Minikube`. It also includes the steps to build the Docker images. ### Distributed tracing -Beam generates distributed [OpenTracing](https://opentracing.io/) traces for use +Akutan generates distributed [OpenTracing](https://opentracing.io/) traces for use with [Jaeger](https://www.jaegertracing.io/). To try it, follow the [Jaeger Getting Started Guide](https://www.jaegertracing.io/docs/getting-started/#all-in-one-docker-image) for running the all-in-one Docker image. The default `make run` is configured to @@ -193,8 +193,8 @@ The `Makefile` contains various targets related to running tests: Target | Description ------------ | ----------- -`make test` | run all the beam unit tests -`make cover` | run all the beam unit tests and open the web-based coverage viewer +`make test` | run all the akutan unit tests +`make cover` | run all the akutan unit tests and open the web-based coverage viewer `make lint` | run basic code linting `make vet` | run all static analysis tests including linting and formatting @@ -212,3 +212,7 @@ Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + + +---- +**Note** the project was renamed to Akutan in July 2019. diff --git a/cluster/k8s/Minikube.md b/cluster/k8s/Minikube.md index 1ed98c6..1c4590a 100644 --- a/cluster/k8s/Minikube.md +++ b/cluster/k8s/Minikube.md @@ -26,7 +26,7 @@ $ brew cask install minikube ### Bring Up Kubernetes Start up the Kubernetes cluster in a virtual machine. The additional memory and -cores are recommended to run the Beam pods. The additional disk space is +cores are recommended to run the Akutan pods. The additional disk space is recommended to avoid having Kubernetes garbage-collect your Docker images. ```bash @@ -47,14 +47,14 @@ Docker daemon so that they don't need to be subsequently pulled into that Docker daemon from some local registry. The images must be built from a Linux environment (to produce Linux binaries), -so it's best to build them from within the Beam build image. +so it's best to build them from within the Akutan build image. -Go to `~/beam` and run the following: +Go to the root directory of the repo and run the following: ```bash $ make get # will clone the latest dependency tree -$ make docker-build-beam-builder-in-minikube -$ make docker-build-beam-service-in-minikube +$ make docker-build-akutan-builder-in-minikube +$ make docker-build-akutan-service-in-minikube ``` If this is your first deploy since starting minikube, it might take a while as it @@ -63,16 +63,16 @@ has to download all the docker images. ### Create Namespace In Kubernetes Cluster -Run the following to create `beam-dev` namespace, where the Beam services +Run the following to create `akutan-dev` namespace, where the Akutan services will be deployed: ```bash -$ kubectl create namespace beam-dev +$ kubectl create namespace akutan-dev ``` ### Create Access Control Rules For Service Discovery -Beam services discover each other by reading the pod list using the Kubernetes +Akutan services discover each other by reading the pod list using the Kubernetes client API. This requires role-based access control settings to allow the pods access to this information. Run: @@ -80,23 +80,23 @@ access to this information. Run: $ kubectl apply -f cluster/k8s/rbac.yaml ``` -### Deploy Beam Services +### Deploy Akutan Services -Beam Services are deployed via `kubectl` into the cluster using YAML +Akutan Services are deployed via `kubectl` into the cluster using YAML configuration files. These are templatized to control which images to run. -Run the following to generate the YAML configuration files and bring up the Beam +Run the following to generate the YAML configuration files and bring up the Akutan services: ```bash $ make get_install build # will rebuild tools needed to build the distribution -$ bin/gen-kube --beam-images-path='' --beam-images-tag='local' --logservice-image=beam-kafka:local +$ bin/gen-kube --akutan-images-path='' --akutan-images-tag='local' --logservice-image=akutan-kafka:local $ kubectl apply -f cluster/k8s/generated ``` If all goes well, you can use `minikube service list` to find the endpoints of the API server, or hit the stats url directly, e.g. -`curl $(minikube service -n beam-dev beam-api-http --url)/stats.txt` +`curl $(minikube service -n akutan-dev akutan-api-http --url)/stats.txt` ### Deleting Your Cluster @@ -117,5 +117,5 @@ and is not cleared. So a subsequent `kubectl create ` e up with the volume having the contents that it had when it was deleted. Either use `minikube delete` as above to start from scratch, or use `minikube ssh` to SSH into the minikube VM and manually delete the directories. All the PVs created here are -stored in /mnt/beam/. If you've deleted all the beam Persistent Volumes, you can do -`minikube ssh -- sudo rm -rf /mnt/beam` to clean them all up. +stored in /mnt/akutan/. If you've deleted all the Akutan Persistent Volumes, you can do +`minikube ssh -- sudo rm -rf /mnt/akutan` to clean them all up. diff --git a/cluster/k8s/api.tpl.yaml b/cluster/k8s/api.tpl.yaml index 0ad32a9..c3aa9e1 100644 --- a/cluster/k8s/api.tpl.yaml +++ b/cluster/k8s/api.tpl.yaml @@ -2,44 +2,44 @@ apiVersion: v1 kind: Service metadata: labels: - beam/app: beam-api - beam/type: beam-api - name: beam-api-http - namespace: beam-dev + akutan/app: akutan-api + akutan/type: akutan-api + name: akutan-api-http + namespace: akutan-dev spec: ports: - port: 9988 name: http selector: - beam/app: beam-api + akutan/app: akutan-api type: LoadBalancer --- # this normally wouldn't need to be split into 2 separate services # but minikube service doesn't know how to restict on a portName. # So we have two services, such that you can then do -# minikube service -n beam-dev beam-api-http --url and get one +# minikube service -n akutan-dev akutan-api-http --url and get one # this is correct. apiVersion: v1 kind: Service metadata: labels: - beam/app: beam-api - beam/type: beam-api - name: beam-api-grpc - namespace: beam-dev + akutan/app: akutan-api + akutan/type: akutan-api + name: akutan-api-grpc + namespace: akutan-dev spec: ports: - port: 9987 name: grpc selector: - beam/app: beam-api + akutan/app: akutan-api type: LoadBalancer --- apiVersion: v1 kind: ConfigMap metadata: - name: beam-api-config - namespace: beam-dev + name: akutan-api-config + namespace: akutan-dev data: config.json: | {{json " " $.APICfg }} @@ -47,27 +47,27 @@ data: apiVersion: apps/v1beta2 kind: Deployment metadata: - name: beam-api + name: akutan-api labels: - beam/app: beam-api - beam/type: beam-api - namespace: beam-dev + akutan/app: akutan-api + akutan/type: akutan-api + namespace: akutan-dev spec: replicas: 1 selector: matchLabels: - beam/app: beam-api + akutan/app: akutan-api template: metadata: - name: beam-api + name: akutan-api labels: - beam/app: beam-api - beam/type: beam-api + akutan/app: akutan-api + akutan/type: akutan-api spec: containers: - - name: beam-api + - name: akutan-api image: {{$.Images.API}} - args: [ "-cfg", "/etc/beam/config.json" ] + args: [ "-cfg", "/etc/akutan/config.json" ] ports: - containerPort: 9988 name: http @@ -75,8 +75,8 @@ spec: name: grpc volumeMounts: - name: config-volume - mountPath: /etc/beam + mountPath: /etc/akutan volumes: - name: config-volume configMap: - name: beam-api-config + name: akutan-api-config diff --git a/cluster/k8s/config.json b/cluster/k8s/config.json index 1a39194..b6aa6db 100644 --- a/cluster/k8s/config.json +++ b/cluster/k8s/config.json @@ -1,10 +1,10 @@ { - "beamlog": { + "akutanlog": { "type": "kafka", "locator": { "type": "kube", "portName": "kafka", - "labelSelector": "beam/type=kafka" + "labelSelector": "akutan/type=kafka" } }, "tracing": { @@ -12,13 +12,13 @@ "locator": { "type": "kube", "portName": "thriftcollector", - "labelSelector": "beam/app=jaeger" + "labelSelector": "akutan/app=jaeger" } }, "viewsLocator": { "type": "kube", "portName": "grpc", - "labelSelector": "beam/type=beam-view" + "labelSelector": "akutan/type=akutan-view" }, "api": { "grpcAddress": ":9987", diff --git a/cluster/k8s/diskview.tpl.yaml b/cluster/k8s/diskview.tpl.yaml index f2b1c93..e7b3178 100644 --- a/cluster/k8s/diskview.tpl.yaml +++ b/cluster/k8s/diskview.tpl.yaml @@ -6,7 +6,7 @@ apiVersion: v1 kind: ConfigMap metadata: name: {{$dv.Name}}-config - namespace: beam-dev + namespace: akutan-dev data: config.json: | {{json " " $dv.Cfg }} @@ -16,18 +16,18 @@ kind: Pod metadata: name: {{$dv.Name}} labels: - beam/app: {{$dv.Name}} - beam/type: beam-view - namespace: beam-dev + akutan/app: {{$dv.Name}} + akutan/type: akutan-view + namespace: akutan-dev annotations: - beam/space: "{{$dv.Cfg.DiskView.Space}}" - beam/firstHash: "{{$dv.Cfg.DiskView.FirstHash}}" - beam/lastHash: "{{$dv.Cfg.DiskView.LastHash}}" + akutan/space: "{{$dv.Cfg.DiskView.Space}}" + akutan/firstHash: "{{$dv.Cfg.DiskView.FirstHash}}" + akutan/lastHash: "{{$dv.Cfg.DiskView.LastHash}}" spec: containers: - - name: beam-diskview + - name: akutan-diskview image: {{$.Images.DiskView}} - args: [ "-cfg", "/etc/beam/config.json" ] + args: [ "-cfg", "/etc/akutan/config.json" ] ports: - containerPort: 9980 name: grpc @@ -35,7 +35,7 @@ spec: - name: data-volume mountPath: /db - name: config-volume - mountPath: /etc/beam + mountPath: /etc/akutan volumes: - name: data-volume {{- if $.UsePersistentVolumes }} diff --git a/cluster/k8s/jaeger.tpl.yaml b/cluster/k8s/jaeger.tpl.yaml index 0fd45c8..bd0a1f3 100644 --- a/cluster/k8s/jaeger.tpl.yaml +++ b/cluster/k8s/jaeger.tpl.yaml @@ -3,9 +3,9 @@ kind: Service metadata: name: jaeger labels: - beam/app: jaeger - beam/type: tracing - namespace: beam-dev + akutan/app: jaeger + akutan/type: tracing + namespace: akutan-dev spec: ports: - port: 80 @@ -15,7 +15,7 @@ spec: targetPort: thriftcollector name: thriftcollector selector: - beam/app: jaeger + akutan/app: jaeger type: LoadBalancer --- apiVersion: apps/v1beta2 @@ -23,20 +23,20 @@ kind: Deployment metadata: name: jaeger labels: - beam/app: jaeger - beam/type: tracing - namespace: beam-dev + akutan/app: jaeger + akutan/type: tracing + namespace: akutan-dev spec: replicas: 1 selector: matchLabels: - beam/app: jaeger + akutan/app: jaeger template: metadata: name: jaeger labels: - beam/app: jaeger - beam/type: tracing + akutan/app: jaeger + akutan/type: tracing spec: containers: - name: jaeger diff --git a/cluster/k8s/kafka-log.tpl.yaml b/cluster/k8s/kafka-log.tpl.yaml index e57c5dc..c203363 100644 --- a/cluster/k8s/kafka-log.tpl.yaml +++ b/cluster/k8s/kafka-log.tpl.yaml @@ -3,9 +3,9 @@ kind: Pod metadata: name: kafka-log-1 labels: - beam/app: kafka-log-1 - beam/type: kafka - namespace: beam-dev + akutan/app: kafka-log-1 + akutan/type: kafka + namespace: akutan-dev spec: containers: - name: kafka-log-1 diff --git a/cluster/k8s/persistent-volume-claim.tpl.yaml b/cluster/k8s/persistent-volume-claim.tpl.yaml index 2e7926d..4558f7c 100644 --- a/cluster/k8s/persistent-volume-claim.tpl.yaml +++ b/cluster/k8s/persistent-volume-claim.tpl.yaml @@ -6,7 +6,7 @@ kind: PersistentVolumeClaim apiVersion: v1 metadata: name: {{$v.Claim}} - namespace: beam-dev + namespace: akutan-dev annotations: volume.beta.kubernetes.io/storage-class: local-ssd spec: @@ -18,4 +18,4 @@ spec: selector: matchLabels: type: {{$v.Name}} -{{- end}} \ No newline at end of file +{{- end}} diff --git a/cluster/k8s/persistent-volume.tpl.yaml b/cluster/k8s/persistent-volume.tpl.yaml index a4de517..a70969a 100644 --- a/cluster/k8s/persistent-volume.tpl.yaml +++ b/cluster/k8s/persistent-volume.tpl.yaml @@ -6,7 +6,7 @@ kind: PersistentVolume apiVersion: v1 metadata: name: {{$v.Name}} - namespace: beam-dev + namespace: akutan-dev annotations: volume.beta.kubernetes.io/storage-class: local-ssd labels: @@ -17,5 +17,5 @@ spec: accessModes: - ReadWriteOnce hostPath: - path: /mnt/beam/{{$v.Name}} + path: /mnt/akutan/{{$v.Name}} {{- end}} diff --git a/cluster/k8s/rbac.yaml b/cluster/k8s/rbac.yaml index f46eaa0..c997ba1 100644 --- a/cluster/k8s/rbac.yaml +++ b/cluster/k8s/rbac.yaml @@ -1,7 +1,7 @@ kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: - namespace: beam-dev + namespace: akutan-dev name: resource-reader rules: # "" indicates the core API group in which pods resides @@ -13,11 +13,11 @@ kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1 metadata: name: resource-reader - namespace: beam-dev + namespace: akutan-dev subjects: - kind: ServiceAccount name: default - namespace: beam-dev + namespace: akutan-dev roleRef: kind: Role name: resource-reader diff --git a/cluster/k8s/txview.tpl.yaml b/cluster/k8s/txview.tpl.yaml index 3c09486..468d53c 100644 --- a/cluster/k8s/txview.tpl.yaml +++ b/cluster/k8s/txview.tpl.yaml @@ -1,8 +1,8 @@ apiVersion: v1 kind: ConfigMap metadata: - name: beam-txview-config - namespace: beam-dev + name: akutan-txview-config + namespace: akutan-dev data: config.json: | {{json " " $.TxViewCfg }} @@ -10,25 +10,25 @@ data: apiVersion: v1 kind: Pod metadata: - name: beam-txview + name: akutan-txview labels: - beam/app: beam-txview - beam/type: beam-view - namespace: beam-dev + akutan/app: akutan-txview + akutan/type: akutan-view + namespace: akutan-dev annotations: - beam/features: "Diagnostics" + akutan/features: "Diagnostics" spec: containers: - - name: beam-txview + - name: akutan-txview image: {{$.Images.TxView}} - args: [ "-cfg", "/etc/beam/config.json" ] + args: [ "-cfg", "/etc/akutan/config.json" ] ports: - containerPort: 9980 name: grpc volumeMounts: - name: config-volume - mountPath: /etc/beam + mountPath: /etc/akutan volumes: - name: config-volume configMap: - name: beam-txview-config + name: akutan-txview-config diff --git a/docker/api/Dockerfile b/docker/api/Dockerfile index 7db6b1b..e169d4c 100644 --- a/docker/api/Dockerfile +++ b/docker/api/Dockerfile @@ -1,7 +1,7 @@ FROM ubuntu:16.04 -LABEL description=beam-api -ADD beam-api beam-api +LABEL description=akutan-api +ADD akutan-api akutan-api EXPOSE 9987/tcp EXPOSE 9988/tcp -ENTRYPOINT [ "/beam-api" ] +ENTRYPOINT [ "/akutan-api" ] CMD [] diff --git a/docker/build/Dockerfile b/docker/build/Dockerfile index ee23cc0..bd42790 100644 --- a/docker/build/Dockerfile +++ b/docker/build/Dockerfile @@ -1,5 +1,5 @@ # Ubuntu 16.04.3 LTS (Xenial Xerus) -FROM ubuntu:16.04 as beam-builder-apt +FROM ubuntu:16.04 as akutan-builder-apt USER root # https://packages.ubuntu.com/xenial/allpackages?format=txt.gz RUN apt-get update && apt-get -y install apt-transport-https \ @@ -26,13 +26,13 @@ RUN curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - RUN add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" RUN apt-get update && apt-get -y install docker-ce -FROM beam-builder-apt as beam-builder +FROM akutan-builder-apt as akutan-builder -LABEL description="This is a builder image to build beam." +LABEL description="This is a builder image to build Akutan." ENV GOLANGVERSION 1.11.5 ENV PROTOCVERSION 3.5.1 ENV ROCKSDBVERSION v5.10.2 ENV DOCKERAPIVERSION 1.21 -COPY ./docker-beam-builder.sh . +COPY ./docker-akutan-builder.sh . COPY ./rocksdb.sh . -RUN ./docker-beam-builder.sh +RUN ./docker-akutan-builder.sh diff --git a/docker/build/docker-beam-builder.sh b/docker/build/docker-akutan-builder.sh similarity index 94% rename from docker/build/docker-beam-builder.sh rename to docker/build/docker-akutan-builder.sh index f1b5fe8..94aa6aa 100755 --- a/docker/build/docker-beam-builder.sh +++ b/docker/build/docker-akutan-builder.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# this script builds the beam build docker image once the requisite packages have been +# this script builds the akutan build docker image once the requisite packages have been # sorted out by underlying package management # # it supports install of golang, protoc, and rocksdb and requires their diff --git a/docker/diskview/Dockerfile b/docker/diskview/Dockerfile index b4363a6..50bff7f 100644 --- a/docker/diskview/Dockerfile +++ b/docker/diskview/Dockerfile @@ -6,8 +6,8 @@ RUN apt-get update && apt-get -y install \ libssl1.0.0 \ libzstd0 \ zlib1g -LABEL description=beam-diskview -ADD beam-diskview beam-diskview +LABEL description=akutan-diskview +ADD akutan-diskview akutan-diskview EXPOSE 9980/tcp -ENTRYPOINT [ "/beam-diskview" ] +ENTRYPOINT [ "/akutan-diskview" ] CMD [] diff --git a/docker/kafka/server.properties b/docker/kafka/server.properties index 8d1177d..6a7df34 100644 --- a/docker/kafka/server.properties +++ b/docker/kafka/server.properties @@ -15,7 +15,7 @@ # see kafka.server.KafkaConfig for additional details and defaults -# Beam Settings +# Akutan Settings delete.topic.enable=true #log.message.format.version=0.10.2 default.replication.factor=1 @@ -25,7 +25,7 @@ auto.create.topics.enable=true message.max.bytes=15728640 # always keep at least 20GB of log around log.retention.bytes=21474836480 -# keep at least 10 years worth of log [beam will truncate this as needed eventually] +# keep at least 10 years worth of log [akutan will truncate this as needed eventually] log.retention.hours=87600 # where to keep log data log.dirs=/log/kafka diff --git a/docker/txview/Dockerfile b/docker/txview/Dockerfile index 03c181c..eaf20a3 100644 --- a/docker/txview/Dockerfile +++ b/docker/txview/Dockerfile @@ -1,6 +1,6 @@ FROM ubuntu:16.04 -LABEL description=beam-txview -ADD beam-txview beam-txview +LABEL description=akutan-txview +ADD akutan-txview akutan-txview EXPOSE 9980/tcp -ENTRYPOINT [ "/beam-txview" ] +ENTRYPOINT [ "/akutan-txview" ] CMD [] diff --git a/docs/README.md b/docs/README.md index dbb1045..f423110 100644 --- a/docs/README.md +++ b/docs/README.md @@ -4,25 +4,25 @@ other, it should be possible to read these in isolation and to approach them in any order. We suggest reviewing this chronological list first, then jumping around based on your interests. -- [ProtoBeam v1](protobeam_v1.md) (November 2017): This document introduces - Beam's basic architecture, which is based around a central log. It describes - the expected benefits and challenges of a central log, as well as Beam's +- [ProtoAkutan v1](protoakutan_v1.md) (November 2017): This document introduces + Akutan's basic architecture, which is based around a central log. It describes + the expected benefits and challenges of a central log, as well as Akutan's approach to distributed transactions. -- [ProtoBeam v2](protobeam_v2.md) (March 2018): This document summarized the +- [ProtoAkutan v2](protoakutan_v2.md) (March 2018): This document summarized the state of the system back then as a property graph store. It also includes some discussion of storing data in RocksDB compared to other embedded key-value stores. -- [Booting Beam Views](booting_beam_views.md) (March 2018): Part of the - ProtoBeam v2 series, this document describes how view servers in Beam start up +- [Booting Akutan Views](booting_views.md) (March 2018): Part of the + ProtoAkutan v2 series, this document describes how view servers in Akutan start up once the oldest part of the log has been discarded. -- [Using Apache Kafka in Beam](kafka.md) (March 2018): Part of the ProtoBeam v2 - series, this document describes challenges with using Kafka as Beam's log, and +- [Using Apache Kafka in Akutan](kafka.md) (March 2018): Part of the ProtoAkutan v2 + series, this document describes challenges with using Kafka as Akutan's log, and why it might not be a great fit. -- [ProtoBeam v3](protobeam_v3.md) (August 2018): This document summarized the +- [ProtoAkutan v3](protoakutan_v3.md) (August 2018): This document summarized the state of the system back then, after adapting it from a property graph store to a knowledge graph store. It describes the overall system components (which are still accurate) and the query language at that time (which has evolved @@ -32,21 +32,21 @@ around based on your interests. - [Control Plane Requirements](control_plane.md) (September 2018): This document explores the various scenarios that a control plane (or manual operator) will - need to handle for a cross-datacenter production Beam deployment. + need to handle for a cross-datacenter production Akutan deployment. - [Building Feature-Rich Data Stores Using a Central Log](central_log_arch.md) (January 2019): This short document argues that a central log forms the - basis of an architecture that is well-suited for systems like Beam. + basis of an architecture that is well-suited for systems like Akutan. - [High Availability and Disaster Recovery](high_availability.md) (March 2019): - This short document explains how fault-tolerance is built into Beam's + This short document explains how fault-tolerance is built into Akutan's architecture. - [Update RFC](rfc_update.md) (March 2019): This long document proposes a new - mechanism for inserting, deleting, and updating facts in Beam, based on the + mechanism for inserting, deleting, and updating facts in Akutan, based on the SPARQL Update specification. Only part of this RFC has been implemented at this time. -- [Query](query.md) (March 2019): This document describes Beam's current query +- [Query](query.md) (March 2019): This document describes Akutan's current query language, which is a cross between SPARQL and the version described in the - ProtoBeam v3 doc. + ProtoAkutan v3 doc. diff --git a/docs/booting_beam_views.md b/docs/booting_views.md similarity index 95% rename from docs/booting_beam_views.md rename to docs/booting_views.md index 509e5ac..4bb4527 100644 --- a/docs/booting_beam_views.md +++ b/docs/booting_views.md @@ -1,5 +1,5 @@ -Booting Beam Views -================== +Booting Akutan Views +==================== *Written in March 2018 to describe an alternative approach to initializing views. Some sections were redacted and edited before making this public.* @@ -7,8 +7,8 @@ views. Some sections were redacted and edited before making this public.* Introduction ------------ -We expect a Beam cluster to consist of potentially many types of views. -One of the goals of Beam is that these views are simple to write. We +We expect a Akutan cluster to consist of potentially many types of views. +One of the goals of Akutan is that these views are simple to write. We originally suggested that this could be achieved by having the shared log manage data persistence, and views could initialize themselves by applying the entire log at startup. This leads to an ever growing log & @@ -23,7 +23,7 @@ files to actually reclaim disk space. What if instead of trying to manage all this within the log, we just use the log for recent & in flight operations and move longer term management of the data elsewhere? -We created Disk Views in ProtoBeam v2 to hold larger data sets than we +We created Disk Views in ProtoAkutan v2 to hold larger data sets than we could fit in memory. The Disk Views persist all of their data to the local disk/SSD, and they leverage the OS buffer cache to keep hot data in RAM. This seemed like a good fit for our expected use cases. @@ -32,13 +32,13 @@ The Disk Views currently keep every version of every data item. Now that the Disk Views had a copy of all the history, there was no need to keep this data in the log forever. When other views start up, they can read most of the information from the Disk Views, then read the most -recent history from the log. Beam can scale out the number of Disk Views +recent history from the log. Akutan can scale out the number of Disk Views for more capacity and higher read throughput, so the Disk Views are a better place for this data than the log. Once the DiskView instances have enough replicas of each data item, up through a given log index, the entries in the log up to that index can be safely deleted. -We think this approach will allow other Beam views to keep their data in +We think this approach will allow other Akutan views to keep their data in memory, if they so choose, and this will help keep other views simple. A view that could consume data at 800MiB/sec (not unreasonable with a 10Gb network) could initialize itself with 1TiB of data in ~20 minutes. @@ -55,10 +55,10 @@ contains some subset of the overall data. Hash Partitions --------------- -It is expected that a dataset stored in Beam will not fit on a single -host and will need to be partitioned across multiple hosts. Beam does +It is expected that a dataset stored in Akutan will not fit on a single +host and will need to be partitioned across multiple hosts. Akutan does not require that all views use the same partitioning scheme, or that -they use the same number of partitions. In Protobeam v2 we used a hash +they use the same number of partitions. In ProtoAkutan v2 we used a hash partitioning scheme, where a node ID is hashed and the resulting 32 bit number broken up into a number of ranges to assign it to a partition. Using ranges allows the Disk View to understand how differing partition counts @@ -132,7 +132,7 @@ the log. This relaxation in key ordering also allows a consumer to arbitrarily combine streams from multiple Disk Views without regard to ordering of items from different Disk Views. -For ProtoBeam v2 we implemented iterations with the *log order within +For ProtoAkutan v2 we implemented iterations with the *log order within keys* ordering and found that, even for complex consumers such as the index view, this was as easy to consume as the log. @@ -290,10 +290,10 @@ this and move the consumer off the carousel and onto a dedicated iterator. As the consumer is slow, this wouldn't cause much disk contention. -ProtoBeam v2 Implementation -=========================== +ProtoAkutan v2 Implementation +============================= -In ProtoBeam v2 the Disk View implements both an iteration server and +In ProtoAkutan v2 the Disk View implements both an iteration server and consumer. Other views, including the Memory View and Index View, support being initialized from Disk View iterations. @@ -378,7 +378,7 @@ iteration. Conclusion ========== -The Iteration Service helps Beam meet its goal that views are easy to +The Iteration Service helps Akutan meet its goal that views are easy to write. It's practical for a view to rely on the Disk Views & log for state management. Consuming data from the Iteration Service is typically no more work than consuming it from the log. The bulk of the complexity diff --git a/docs/central_log_arch.md b/docs/central_log_arch.md index e97df6e..bfa0ad1 100644 --- a/docs/central_log_arch.md +++ b/docs/central_log_arch.md @@ -39,7 +39,7 @@ with the following properties: - Modest write rates (10K-100K writes per second), and - Supporting hard-to-partition queries (such as SQL, graphs). -We explored this problem through our *Beam* prototypes. We first built an +We explored this problem through our *Akutan* prototypes. We first built an in-memory key-value store from scratch \[11\], then iterated to a disk-based property graph \[12\], then to a knowledge graph \[13\]. @@ -71,7 +71,7 @@ serve copies of that information \[17\]. In exchange, we've found many features to be drastically easier to implement using a central log than with the stamped-out approach (we implemented all of -these in Beam): +these in Akutan): - **Transactions** with a stamped-out approach require complex distributed protocols \[18, 19\]. Using a central log, there's no need for coordination @@ -95,7 +95,7 @@ these in Beam): system, doing so requires updating the scope of every transaction. We believe the central log is well-suited to meeting the requirements stated -above. Using a cluster of small VMs (40 GB disk, 8 GB RAM, 4 VCPUs), our Beam +above. Using a cluster of small VMs (40 GB disk, 8 GB RAM, 4 VCPUs), our Akutan implementation stored 4 billion items totalling 1.2 TB of data. Using Kafka, the data was loaded at an average write rate of 25 MB/sec \[12\]. @@ -145,11 +145,11 @@ consistency properties, for clients. 10. Cockroach Labs. CockroachDB Documentation: Concepts: Architecture Overview. -11. [ProtoBeam v1](protobeam_v1.md) (Nov. 2017). +11. [ProtoAkutan v1](protoakutan_v1.md) (Nov. 2017). -12. [ProtoBeam v2](protobeam_v2.md) (Mar. 2018). +12. [ProtoAkutan v2](protoakutan_v2.md) (Mar. 2018). -13. [ProtoBeam v3](protobeam_v3.md) (Aug. 2018). +13. [ProtoAkutan v3](protoakutan_v3.md) (Aug. 2018). 14. Balakrishnan, M; Malkhi, D; Wobber, T; et al. Tango: Distributed Data Structures over a Shared Log. *Symposium on Operating Systems Principles* @@ -162,7 +162,7 @@ consistency properties, for clients. 16. \[redacted\] -17. [Booting Beam Views](booting_beam_views.md) (Mar. 2018). +17. [Booting Akutan Views](booting_views.md) (Mar. 2018). 18. Lee, C; Park, S J; Kejriwal, A; Matsushita, S; Ousterhout, J. Implementing linearizability at large scale and low latency. diff --git a/docs/control_plane.md b/docs/control_plane.md index f3eb6d5..d0d6afc 100644 --- a/docs/control_plane.md +++ b/docs/control_plane.md @@ -1,41 +1,41 @@ -# Beam Control Plane Requirements +# Akutan Control Plane Requirements *This document was written in August-September 2018 to describe the key -scenarios in operating a production Beam cluster, as well as how those should be +scenarios in operating a production Akutan cluster, as well as how those should be handled. The document aims to be agnostic of how this is implemented. Some sections were redacted and edited before making this public.* -## A global Beam database +## A global Akutan database -This is what we expect a global Beam database to look like: +This is what we expect a global Akutan database to look like: -![cross-datacenter Beam deployment](ha_dr_beam.png) +![cross-datacenter Akutan deployment](ha_dr.png) -For the purpose of this document, we define a *Beam Database* as a (potentially) +For the purpose of this document, we define a *Akutan Database* as a (potentially) global deployment, consisting of a (potentially) global log and one or more -*Beam Clusters*. Each *Beam Cluster* resides in a single datacenter and contains +*Akutan Clusters*. Each *Akutan Cluster* resides in a single datacenter and contains multiple redundant copies of the entire database state. Note that the log is -defined as being outside the Beam clusters, for the purpose of this document. +defined as being outside the Akutan clusters, for the purpose of this document. The log is a single, (potentially) global, distributed, replicated, persistent queue. The log determines the ordering for all changes to the database state, -thereby removing the need for other components in Beam to coordinate. The +thereby removing the need for other components in Akutan to coordinate. The consistency of the entire database rests on that of the log, so the log will fundamentally require a distributed consensus protocol at some level. The log is not the final resting place for the data, and the log is not expected to scale in terms of capacity: the old entries at the start of the log will be truncated periodically. -The API servers within a Beam cluster serve clients. They have two roles: +The API servers within a Akutan cluster serve clients. They have two roles: 1. They submit changes to the database state as new entries are appended to the log. 2. They collect data from various view servers to answer database queries. This part is fairly sophisticated, as described in the - [ProtoBeam v3 doc](protobeam_v3.md). + [ProtoAkutan v3 doc](protoakutan_v3.md). -The view servers within a Beam cluster each maintain a subset of the database +The view servers within a Akutan cluster each maintain a subset of the database state in some data structure. They update their state deterministically based solely on the contents of the log, and they respond to various lookup requests from the API servers. The view servers may store their local state on disk or in @@ -49,11 +49,11 @@ instances, plus the recent entries in the log. ## Spaces, replication, and partitioning -Each Beam cluster has multiple types of views and many instances of each. The +Each Akutan cluster has multiple types of views and many instances of each. The views logically provide lookups in multiple *spaces*: multiple hash-spaces or key-spaces. An instance of a view hosts a single range of a single space. -For example, ProtoBeam v3's Disk Views operate in two modes, forming two +For example, ProtoAkutan v3's Disk Views operate in two modes, forming two different hash-spaces: the HashSP-space and the HashPO-space. The basic unit of data in v3 is a id-subject-predicate-object fact. The HashSP space is defined as the 64-bit output of a hash of the fact's subject concatenated with its @@ -62,7 +62,7 @@ and the object. Each DiskView instance is booted as either a HashSP instance with a start and an end hash, or as a HashPO instance with a start and an end hash. -It is important to note that Beam views are not replicated in the traditional +It is important to note that Akutan views are not replicated in the traditional sense. Once they're booted, each instance applies changes to its state from the central log. View instances only communicate with each other in the special case of a new instance initializing its state from the Disk Views. @@ -83,12 +83,12 @@ As shorthand, we might talk about a hash-space partitioned 4 ways and replicated Creating logical partitions with logical replica groups would be a simple and reasonable way to manage a cluster. -Beam can also operate in the case of uncleanly partitioned spaces. This is +Akutan can also operate in the case of uncleanly partitioned spaces. This is especially useful during cluster transitions. An example of this, with a diagram, is given in the RPC Fanout section of the -[ProtoBeam v3 doc](protobeam_v3.md). +[ProtoAkutan v3 doc](protoakutan_v3.md). -A Beam cluster is defined as *fully available* (for writes and non-stale reads) +A Akutan cluster is defined as *fully available* (for writes and non-stale reads) if the following conditions are met: 1. Each of its spaces is fully covered: every *point* (a key or hash) @@ -99,7 +99,7 @@ if the following conditions are met: 3. At least one API server is available. -A Beam cluster is defined as *healthy* if the following conditions are met: +A Akutan cluster is defined as *healthy* if the following conditions are met: 1. Each of its spaces is fully covered three times: every *point* (a key or hash) in every space is served by at least three available and up-to-date @@ -111,11 +111,11 @@ A Beam cluster is defined as *healthy* if the following conditions are met: ## Log management -The log presents two unique challenges when it comes to Beam's control +The log presents two unique challenges when it comes to Akutan's control plane: -1. In a global Beam database, the log is really the only global component. It - needs to replicate its state across datacenters, while the other Beam +1. In a global Akutan database, the log is really the only global component. It + needs to replicate its state across datacenters, while the other Akutan components will not communicate across datacenters. 2. The consistency of the entire database rests on that of the log, so the log @@ -124,7 +124,7 @@ plane: sequences. Because of (1), how to manage the log itself is a fairly distinct problem from -how to manage the rest of a Beam database. +how to manage the rest of a Akutan database. Managing the log itself will have well-understood scenarios: @@ -137,20 +137,20 @@ Managing the log itself will have well-understood scenarios: - Upgrade/rollback: probably has some restrictions on when rollback is permitted. -## Beam cluster management +## Akutan cluster management -This section describes production scenarios for a single Beam cluster (excluding +This section describes production scenarios for a single Akutan cluster (excluding the log) in a single datacenter. -### Provision new clusters for a new Beam database +### Provision new clusters for a new Akutan database - Initialize the global log. - - Fire up the API and view servers in the new Beam clusters. The servers can + - Fire up the API and view servers in the new Akutan clusters. The servers can be booted in any order, but they will not be useful until the log is ready. -### Provision new clusters for an existing Beam database +### Provision new clusters for an existing Akutan database - - In this scenario, we assume that the existing Beam database has been running + - In this scenario, we assume that the existing Akutan database has been running for so long that log entry at index 1 has already been discarded. - In this case, the Disk Views in the new cluster would need to initialize from the Disk Views in an existing cluster. @@ -224,16 +224,16 @@ the log) in a single datacenter. - Another question is whether to make merge/split decisions at the level of single view instances, or to merge/split at the level of partitions, where multiple instances are logical replicas of the same key/hash-range. - - While Beam can cope with either one, the logical partitions with + - While Akutan can cope with either one, the logical partitions with multiple replicas each may be simpler to reason about. - Treating each view instance independently may have advantages in case of heterogeneous deployments (for example, if some servers had larger disks than others). -## Global Beam Deployment Management +## Global Akutan Deployment Management This section describes production scenarios where coordination is required -across Beam clusters in multiple datacenters that share a single log. +across Akutan clusters in multiple datacenters that share a single log. ### Truncate log prefix @@ -248,10 +248,10 @@ across Beam clusters in multiple datacenters that share a single log. index, would be reasonable. - It may be wise to back up the log prefix somewhere before deleting it, though that's only useful if it can be restored. - - Each Beam cluster should decide independently how much of + - Each Akutan cluster should decide independently how much of the log can be discarded. - Then some global process should globally discard a prefix of the log that - every (critical) Beam cluster can tolerate losing. + every (critical) Akutan cluster can tolerate losing. ### Log entry version change @@ -271,7 +271,7 @@ across Beam clusters in multiple datacenters that share a single log. ## Conclusion -This document outlined a bunch of scenarios that Beam's control plane would need +This document outlined a bunch of scenarios that Akutan's control plane would need to handle for a production deployment. Most of these are relatively -straightforward thanks to Beam's architecture, and we have identified only two +straightforward thanks to Akutan's architecture, and we have identified only two scenarios that require cross-datacenter coordination. diff --git a/docs/ha_dr.png b/docs/ha_dr.png new file mode 100644 index 0000000..92a5e87 Binary files /dev/null and b/docs/ha_dr.png differ diff --git a/docs/ha_dr_beam.png b/docs/ha_dr_beam.png deleted file mode 100644 index c47bab4..0000000 Binary files a/docs/ha_dr_beam.png and /dev/null differ diff --git a/docs/high_availability.md b/docs/high_availability.md index f27e705..a147f20 100644 --- a/docs/high_availability.md +++ b/docs/high_availability.md @@ -1,17 +1,17 @@ -# HA & DR with Beam +# HA & DR with Akutan -The Beam documents don't explicitly talk about high availability (HA) and +The Akutan documents don't explicitly talk about high availability (HA) and Disaster Recovery (DR) much, but it's a fundamental feature of the architecture. ## A Production deployment -What would a production deployment of Beam that needs to be resilient to +What would a production deployment of Akutan that needs to be resilient to failures, up to and including an entire datacenter look like? It could use a -single log cluster replicated across 3 datacenters (DCs). A cluster of Beam +single log cluster replicated across 3 datacenters (DCs). A cluster of Akutan views and API servers would be in each DC and interact with its local log replicas. -![beam in 3 DCs](ha_dr_beam.png) +![Akutan in 3 DCs](ha_dr.png) The HA and DR properties of the single logical log are critical for the rest of the system. The log would be replicated over a number of servers in each of the @@ -23,20 +23,20 @@ log. Each view server acts as a deterministic state machine. Two view servers with the same configuration will arrive at the same state by independently applying the same sequence of commands from the log. This simplifies a number of -operational aspects of Beam. To achieve HA, a production deployment will simply +operational aspects of Akutan. To achieve HA, a production deployment will simply run at least 2 instances of each partition configuration in each DC. To remedy a failed view server, simply start another instance with the same configuration. To repartition from 4 to 5 partitions, start view servers with the new configurations, wait for them to catch up, and shut down old view servers. -Beam's API servers assume that view servers are unreliable. They expect that +Akutan's API servers assume that view servers are unreliable. They expect that view servers might go away, new view servers might appear, or that there might be multiple partition sizes in flight at once. The API servers randomize all requests across available view servers, and they hedge (race) requests to help mask slow or failed views. The API servers themselves are stateless and can be easily scaled up or down as needed. -Beam is designed around a single logical log to simplify many consistency +Akutan is designed around a single logical log to simplify many consistency problems, including HA and DR. The foundation for these features has been part -of Beam from the very beginning. These are core features of the architecture, +of Akutan from the very beginning. These are core features of the architecture, not special cases to be added later. diff --git a/docs/kafka.md b/docs/kafka.md index 3581117..3ab67db 100644 --- a/docs/kafka.md +++ b/docs/kafka.md @@ -1,16 +1,16 @@ -Using Apache Kafka in Beam +Using Apache Kafka in Akutan ========================== *This doc was written in March 2018 to discuss the use of Apache Kafka as a -replicated log in the Beam project. Some sections were redacted and edited +replicated log in the Akutan project. Some sections were redacted and edited before making this public.* Summary ------- -Beam relies on its log to store its incoming requests in a consistent +Akutan relies on its log to store its incoming requests in a consistent order. We used Apache Kafka as a plausible placeholder for the log in -ProtoBeam v1. During the ProtoBeam v2 effort, we more carefully +ProtoAkutan v1. During the ProtoAkutan v2 effort, we more carefully evaluated Kafka for this use case. Although Kafka is commonly used as a message queue, it's implemented @@ -28,48 +28,48 @@ from Kafka: - **Writing:** Kafka brokers don't implement group commit, so Kafka's log append performance will collapse with constant load spread across more clients. This would drastically limit our - ability to scale out Beam's API tier. + ability to scale out Akutan's API tier. -Kafka could still work as Beam's log, but working through the issues +Kafka could still work as Akutan's log, but working through the issues may be more trouble than it's worth. We plan to continue to use Kafka -during the ProtoBeam v3 effort. In parallel we will investigate our -options for Beam's log and try to determine the best path forward. +during the ProtoAkutan v3 effort. In parallel we will investigate our +options for Akutan's log and try to determine the best path forward. -Beam's requirements for a replicated log +Akutan's requirements for a replicated log ----------------------------------------- -Beam relies on its log to store its incoming requests in a consistent -order. Once the log externalizes a log entry to other views, Beam +Akutan relies on its log to store its incoming requests in a consistent +order. Once the log externalizes a log entry to other views, Akutan depends on that log entry to be at that position in the log forever after; otherwise, the views could diverge and the entire state could become corrupt. Therefore, changes to the log need to be synchronously persisted (to handle crashes and power outages) and synchronously replicated (to handle machine failures). -Beam's log replication may need to span datacenters. We don't yet know -whether Beam will be deployed within a single datacenter or whether Beam -will need to span datacenters. If a Beam deployment is to span +Akutan's log replication may need to span datacenters. We don't yet know +whether Akutan will be deployed within a single datacenter or whether Akutan +will need to span datacenters. If a Akutan deployment is to span datacenters, we plan to do that by replicating the log across -datacenters and running independent sets of Beam views in each +datacenters and running independent sets of Akutan views in each datacenter. This focuses the most of the cross-datacenter concerns on the replicated log. -Beam's log should be accessible from various programming languages. The -Beam API tier and all of the views need to be able to access the log. +Akutan's log should be accessible from various programming languages. The +Akutan API tier and all of the views need to be able to access the log. The API tier needs to append to the log, while most views only need to read from the log. We want the flexibility to create views in various languages to leverage existing code bases and exploit their relative -strengths. To do so, we need Beam's log to have support for many +strengths. To do so, we need Akutan's log to have support for many languages, at least for reading. -These are the access patterns we anticipate on Beam's log: +These are the access patterns we anticipate on Akutan's log: 1. **Multiple readers tailing the log:** During normal operation in - Beam, many views will be reading newly-written entries from the + Akutan, many views will be reading newly-written entries from the end of the log. 2. **Multiple writers appending to the log:** During normal operation - in Beam, multiple API servers with potentially high levels of + in Akutan, multiple API servers with potentially high levels of concurrency will be appending requests to the log. 3. **Long sequential reads:** When a view starts up, it will need to @@ -78,14 +78,14 @@ These are the access patterns we anticipate on Beam's log: indexes in the log and at different speeds. 4. **Prefix truncation:** Occasionally, the log will become too large - to fit comfortably on its disks. Once Beam's persistent DiskViews - have processed enough of the log, Beam will request that a prefix + to fit comfortably on its disks. Once Akutan's persistent DiskViews + have processed enough of the log, Akutan will request that a prefix of the log be deleted. This topic of how views boot once the log - has been truncated is covered in detail in the [Booting Beam - Views](booting_beam_views.md) doc. + has been truncated is covered in detail in the [Booting Akutan + Views](booting_views.md) doc. -Beam's log will need to handle all of these scenarios, and they may all -happen concurrently in a Beam deployment. +Akutan's log will need to handle all of these scenarios, and they may all +happen concurrently in a Akutan deployment. Brief introduction to Apache Kafka ---------------------------------- @@ -107,32 +107,32 @@ for Go. Although Kafka is most often used as a message queue, it's implemented much more like a replicated log, and it [claims](https://kafka.apache.org/intro#kafka_storage) to -be suitable for a replicated log use case. For Beam, we are using a -single Kafka topic with a single Kafka partition as Beam's log. Kafka +be suitable for a replicated log use case. For Akutan, we are using a +single Kafka topic with a single Kafka partition as Akutan's log. Kafka servers are called brokers, and Kafka uses [Apache ZooKeeper](https://en.wikipedia.org/wiki/Apache_ZooKeeper) to elect a broker as leader for each partition. All appends to a partition are received and ordered by its leader broker, which then persists and replicates the new log entry to the follower brokers. For -Beam, we configure the brokers to acknowledge and externalize a log +Akutan, we configure the brokers to acknowledge and externalize a log append to clients only after the entry has been replicated to a majority of the brokers and each of a majority of brokers has written the entry safely to its disk. For example, in our test cluster, each entry is durably written to 2 of 3 of the disks in the cluster before it's acknowledged. -Kafka is particularly attractive for Beam because it's so widely used. -On paper, it appears to be a good fit for most of Beam's requirements. -We've used Kafka for ProtoBeam v1 and v2, thereby gaining some hands-on +Kafka is particularly attractive for Akutan because it's so widely used. +On paper, it appears to be a good fit for most of Akutan's requirements. +We've used Kafka for ProtoAkutan v1 and v2, thereby gaining some hands-on experience with it, and we've benchmarked Kafka's performance for some -of the key Beam scenarios described above. The rest of this document +of the key Akutan scenarios described above. The rest of this document describes our benchmark results and discusses various concerns with -using Kafka in Beam. +using Kafka in Akutan. Kafka performance evaluation ---------------------------- -This section evaluates Apache Kafka's performance as a log for Beam: +This section evaluates Apache Kafka's performance as a log for Akutan: - The "Read performance" subsection focuses on the throughput of log reads (this is Scenario 3: "Long sequential reads"). @@ -153,8 +153,8 @@ scenarios we identified above: We have chosen to focus this evaluation on throughput, rather than latency, because we aren't aware of any strict latency requirements for -Beam. We are concerned about the log's ability to ingest large amounts -of data, as we expect the log append throughput to determine Beam's +Akutan. We are concerned about the log's ability to ingest large amounts +of data, as we expect the log append throughput to determine Akutan's overall write throughput. This section omits many details of our configuration and benchmarks for @@ -163,7 +163,7 @@ document. ### Read performance -This section focuses on how fast a Beam view can sequentially read a +This section focuses on how fast a Akutan view can sequentially read a large suffix of the log. Views will read potentially large suffixes of the log when they start up, and reading a large part of the log may also provide insights into the performance of tailing the log. As a baseline, @@ -232,8 +232,8 @@ cache. The "Uncached" scenarios read the entire log, which is too large to fit in the broker's OS disk cache. We think the "Remote, Uncached" scenario will be the most -representative of a Beam view booting. The "Remote, Cached" scenario -may be more representative of Beam views tailing a growing log. +representative of a Akutan view booting. The "Remote, Cached" scenario +may be more representative of Akutan views tailing a growing log. The table presents the best numbers we can currently measure in each language. We've tried many other options and have seen varying results: @@ -365,12 +365,12 @@ There are a few possible ways to achieve this pipeline: In the best case, we've seen Kafka remote read performance in the range of 250-350 MiB/sec, while our disks can read at 500-800 MiB/sec. Sadly, Kafka's consumer protocol was not designed for high throughput. The -results aren't so bad that Kafka is entirely unusable for Beam, but it +results aren't so bad that Kafka is entirely unusable for Akutan, but it is a significant concern. ### Write performance -This section focuses on how fast the log can handle appends coming from Beam's +This section focuses on how fast the log can handle appends coming from Akutan's API tier. We measured the throughput of log appends in Kafka, comparing both a single-broker Kafka cluster and a three-broker Kafka cluster. @@ -394,8 +394,8 @@ In this benchmark, we spawned 128 goroutines but split them over varying numbers of client connections. On the left side, we have 128 goroutines on 1 connection, then 64 goroutines on each of 2 connections, etc, going all the way out to 1 goroutine on each of 128 connections. This -simulates a constant write request rate coming into Beam API servers, -and what Beam's overall write throughput would look like as we scaled +simulates a constant write request rate coming into Akutan API servers, +and what Akutan's overall write throughput would look like as we scaled up the number of API servers. The ideal implementation of group commit would result in a nearly flat line, where the throughput was not dependent on the number of client connections. @@ -416,8 +416,8 @@ larger Produce requests. On the right-hand side of the curve, the Kafka client can't; the broker receives small Produce requests and does nothing to collect them together. -This behavior drastically limits the scalability of Beam's API tier. -Even if we only scale out Beam's API tier to a few servers, we will +This behavior drastically limits the scalability of Akutan's API tier. +Even if we only scale out Akutan's API tier to a few servers, we will have given up most of Kafka's potential log append throughput. - With many connections and a single goroutine each, the single broker @@ -442,7 +442,7 @@ Fast enough durable disk writes could change Kafka's scalability properties. As an experiment, we ran the same benchmark as before but with fsync disabled. In this configuration, Kafka acknowledged the Produce requests as soon as they reached the OS buffer cache and met -their replication requirements. This is unsafe for Beam but may give us +their replication requirements. This is unsafe for Akutan but may give us an upper bound in performance. The following graph shows the throughput like before, offering a @@ -494,7 +494,7 @@ This will be more complicated in Kafka for the following reasons: other engineering challenges. Another possibility would be to implement group commit in a proxy -sitting right in front of the leader broker. This could help Beam get +sitting right in front of the leader broker. This could help Akutan get most of the performance of having group commit in Kafka, without having to modify Kafka broker code. However, it'd be quite a kludge and would leave some performance on the table. It might also interact poorly with @@ -507,21 +507,21 @@ Kafka's log append throughput collapses when more than a couple of clients submit requests. This is because Kafka brokers don't implement group commit. The Kafka project does not see durable writes as important (they suggest disabling fsync calls), but they are necessary to ensure -Beam's consistency in the face of correlated log server crashes. If -Beam is to use Kafka as its log, we will need to address this serious +Akutan's consistency in the face of correlated log server crashes. If +Akutan is to use Kafka as its log, we will need to address this serious problem. Additional concerns about Kafka ------------------------------- This section discusses additional concerns and considerations about -using Apache Kafka in Beam. We haven't explored these in as much detail +using Apache Kafka in Akutan. We haven't explored these in as much detail yet, but they are certainly relevant to the discussion of evaluating -Apache Kafka for Beam's replicated log. +Apache Kafka for Akutan's replicated log. ### Duplicate appends (at-most-once semantics) -When a Beam API server sends a request to be appended to the log, we'd +When a Akutan API server sends a request to be appended to the log, we'd like that to end up as a single entry in the log. Sometimes, however, the request or the response will be lost (the TCP connection will be broken), and the API server won't know what happened. It'll need to @@ -552,17 +552,17 @@ generally solved like this: client, it deletes the session. Subsequent requests with that session ID are then rejected. -With respect to Beam's log, there are several ways this could be +With respect to Akutan's log, there are several ways this could be implemented. The duplicate requests could be filtered out on production before they are appended to the log, or they could be filtered out on consumption as they are read from the log. To filter them out during production, we require support from the log implementation; to filter them out during consumption, this could be implemented in the log itself -or as part of every Beam log consumer. Of course, we'd prefer if this +or as part of every Akutan log consumer. Of course, we'd prefer if this complexity was all handled by the log implementation. Kafka recently added features for "exactly-once" semantics, which we -believe would solve this problem for Beam. With this enabled, Kafka +believe would solve this problem for Akutan. With this enabled, Kafka brokers will filter out duplicate requests on the production side, before they end up in the log. This requires some changes to producer clients to send over session and request IDs, too. These features are @@ -570,7 +570,7 @@ explained in a Kafka [blog post](https://www.confluent.io/blog/exactly-once-sema and [design doc](https://docs.google.com/document/d/11Jqy_GjUGtdXJK94XGsEIK7CP1SnQGdp2eF0wSw9ra8/edit). Unfortunately, they have intermingled a design for cross-partition transactions there too, along with a discussion about how this extends -to Kafka streams, neither of which are relevant for Beam at this time. +to Kafka streams, neither of which are relevant for Akutan at this time. The implementation of "exactly-once" semantics was added to Kafka brokers and the Java client in v0.11, released in June 2017. As of this @@ -579,22 +579,22 @@ writing, the implementation for the librdkafka client is still and the discussion about supporting this in Sarama is [ongoing](https://github.com/Shopify/sarama/issues/901). -For Beam, we plan to wait on this issue for now. We think Kafka's new -features will work for Beam once more client support exists. We prefer +For Akutan, we plan to wait on this issue for now. We think Kafka's new +features will work for Akutan once more client support exists. We prefer to wait until the client libraries have better support for this, and if it becomes blocking for us, we will consider modifying the clients ourselves. For now, this hasn't affected our ability to develop -ProtoBeam. +ProtoAkutan. A related discussion is that, at least before the "exactly-once" feature set, Kafka did not guarantee FIFO Client Order. FIFO Client Order states that if a client submits m1 then m2, m2 won't precede m1 -in the log. We don't plan to make use of FIFO Client Order for Beam, so +in the log. We don't plan to make use of FIFO Client Order for Akutan, so this isn't an issue for us. ### Reading from follower brokers -When Beam views boot, they may need to read a substantial suffix of the +When Akutan views boot, they may need to read a substantial suffix of the log. It could be useful during this time to offload the leader broker by letting follower brokers serve these reads. Then, once the views are caught up to the end of the log, they could move over to tailing the log @@ -604,7 +604,7 @@ Surprisingly, Kafka does not support this. Their [stance](http://grokbase.com/t/kafka/users/13bvf0rsk1/consuming-from-a-replica) appears to be that topics should have many partitions; load will be well-balanced across brokers because each broker will be the leader for -many partitions. This isn't the case for Beam, however, which uses only +many partitions. This isn't the case for Akutan, however, which uses only one partition to obtain a simple global ordering of requests. There is a special way that Kafka clients can read from follower @@ -617,7 +617,7 @@ and [Sarama](https://github.com/Shopify/sarama/blob/5e8fd95863bd4a894fcd29225547d56967f189ad/fetch_request.go#L44) hardcode the value to -1. -Beam may not need this optimization. If it does turn out to be +Akutan may not need this optimization. If it does turn out to be important, we will probably need to modify Kafka's client libraries. ### Kafka's wire protocol @@ -653,7 +653,7 @@ of problems: like CRC32C (earlier versions of Kafka used IEEE CRC) and "exactly-once" semantics. -For Beam, this protocol decision has significantly harmed our ability to +For Akutan, this protocol decision has significantly harmed our ability to access the latest Kafka features from multiple languages and to debug correctness and performance issues. @@ -678,10 +678,10 @@ is a distributed log service used at a handful of companies, including Twitter and Salesforce. Like Kafka, it uses ZooKeeper to maintain metadata about logs and coordinate changes to the storage servers. While not as popular as Kafka, BookKeeper may be more focused on use cases -like Beam's. One problem, however, is that the client library for +like Akutan's. One problem, however, is that the client library for BookKeeper embeds quite a lot of functionality, and we're not aware of support for non-Java languages. We would like to avoid having a proxy -between Beam views and the log, yet we wouldn't want to restrict Beam +between Akutan views and the log, yet we wouldn't want to restrict Akutan to Java-only views. [CORFU](https://www.usenix.org/conference/nsdi12/technical-sessions/presentation/balakrishnan) @@ -701,14 +701,14 @@ operational implications would be. We've also considered building our own log using the [Raft algorithm](https://raft.github.io/). In this case, we would likely leverage an existing open source -Raft implementation. Such a log implementation could meet all of Beam's -requirements, but it would take our time away from working on Beam +Raft implementation. Such a log implementation could meet all of Akutan's +requirements, but it would take our time away from working on Akutan itself. Conclusion ---------- -Although Kafka was initially attractive for storing Beam's log, our +Although Kafka was initially attractive for storing Akutan's log, our recent experience with Kafka has exposed significant problems with both reading and writing: @@ -721,17 +721,17 @@ reading and writing: - **Writing:** Kafka brokers don't implement group commit, so Kafka's log append performance will collapse with constant load spread across more clients. This would drastically limit our - ability to scale out Beam's API tier. + ability to scale out Akutan's API tier. Kafka was designed like a replicated log for a storage system, but it's not commonly used that way. We think the issues we're seeing are because the focus on Kafka lately has been on broader use cases, which don't seem relevant for -Beam. +Akutan. -Kafka could still work as Beam's log, but working through the issues +Kafka could still work as Akutan's log, but working through the issues may be more trouble than it's worth. We plan to continue to use Kafka -during the ProtoBeam v3 effort. In parallel, we will investigate our -options for Beam's log and try to determine the best path forward. +during the ProtoAkutan v3 effort. In parallel, we will investigate our +options for Akutan's log and try to determine the best path forward. Appendix: benchmark configuration/script ---------------------------------------- @@ -767,7 +767,7 @@ default configuration: We use a single Kafka topic with a single partition, created as follows: -> \~/kafka/bin/kafka-topics.sh --create --topic beam --if-not-exists +> \~/kafka/bin/kafka-topics.sh --create --topic akutan --if-not-exists > --zookeeper localhost:2181 --partitions 1 --replication-factor 3 For the tests involving single-broker Kafka clusters, the @@ -787,7 +787,7 @@ For the write benchmarks, the topic was further configured as follows This command helps with determining which broker is the current leader (all reads and writes go to the leader): -> \~/kafka/bin/kafka-topics.sh --zookeeper localhost:2181 --topic beam +> \~/kafka/bin/kafka-topics.sh --zookeeper localhost:2181 --topic akutan > --describe ### Kafka read benchmark @@ -797,9 +797,9 @@ The data we used was a mix of 20M data points packed into | **Configuration** |**Command** | |--- |--- | -| Java | \~/kafka/bin\$ ./kafka-consumer-perf-test.sh --zookeeper kafka01:2181 --topic beam --threads 1 --messages 8400000 | -|Rust using [rdkafka](https://github.com/fede1024/rust-rdkafka) [BaseConsumer](https://docs.rs/rdkafka/*/rdkafka/consumer/base_consumer/struct.BaseConsumer.html) | \~/protobeam/dist/rust-rdkafkasink --base-consumer --fetch-message-max-bytes=8388608 kafka01:9092 | -| Go using [Sarama](https://github.com/Shopify/sarama) | \~/protobeam/bin/kafkasink -cfg \~/protobeam/dist/cluster.json | +| Java | \~/kafka/bin\$ ./kafka-consumer-perf-test.sh --zookeeper kafka01:2181 --topic akutan --threads 1 --messages 8400000 | +|Rust using [rdkafka](https://github.com/fede1024/rust-rdkafka) [BaseConsumer](https://docs.rs/rdkafka/*/rdkafka/consumer/base_consumer/struct.BaseConsumer.html) | \~/protoakutan/dist/rust-rdkafkasink --base-consumer --fetch-message-max-bytes=8388608 kafka01:9092 | +| Go using [Sarama](https://github.com/Shopify/sarama) | \~/protoakutan/bin/kafkasink -cfg \~/protoakutan/dist/cluster.json | The "cached" tests read only the first 2 million entries in the log. Each cached test was run once to prime the broker's disk cache, then diff --git a/docs/protobeam_v1.md b/docs/protoakutan_v1.md similarity index 93% rename from docs/protobeam_v1.md rename to docs/protoakutan_v1.md index 995829d..183a539 100644 --- a/docs/protobeam_v1.md +++ b/docs/protoakutan_v1.md @@ -1,14 +1,14 @@ -ProtoBeam V1 -============ +ProtoAkutan V1 +============== *This document was written at the start of the project in November 2017 to describe the proposed architecture. Some sections were redacted and edited before making this public.* -Beam Architecture ------------------ +Akutan Architecture +------------------- -Beam is based around a single **shared log**. To modify the state, +Akutan is based around a single **shared log**. To modify the state, clients submit a request into this log, which is persisted and replicated. Multiple **views** follow the end of the log and apply the requests in order and deterministically. Clients then query these @@ -22,7 +22,7 @@ could build a hash-partitioned key/value store, you could build a graph database, or you could build a small blob store. Your log entry formats, views, and API layer dictate what the client sees. -A key feature of the Beam architecture is to support many types of +A key feature of the Akutan architecture is to support many types of views. If a new client needs to query the data in a different way, the best solution may be to create a new view. Views can take various shapes. Some views may resemble primary stores, keeping documents or @@ -48,7 +48,7 @@ These are the steps involved in processing a read query: 5. The API tier collects the results and replies to the client. -The section below on Snapshot Isolation describes how Beam implements +The section below on Snapshot Isolation describes how Akutan implements queries against a consistent snapshot of the state. In short, the API tier provides each view with the exact log index at which to query. @@ -72,14 +72,14 @@ API tier checks the pre-condition just before that log index, then writes a second log entry that captures the outcome (whether the pre-condition was met). -Beam borrows many ideas from +Akutan borrows many ideas from [Tango: Distributed Data Structures over a Shared Log](http://www.cs.yale.edu/homes/mahesh/papers/tangososp.pdf) (Microsoft Research, SOSP'13). However, we aren't aware of production systems that implement exactly this approach. ### Downsides of a Single Log -Beam's foundation is a single shared log. This simplifies many features +Akutan's foundation is a single shared log. This simplifies many features but also brings its own challenges. Specifically, this section describes the challenges of dealing with an ever-growing log and the single log's impact on overall system performance. @@ -144,7 +144,7 @@ There are a few ways to implement a replicated log: ### Snapshot Isolation and Transaction Processing This section describes the details of implementing snapshot isolation -and transactions in Beam. The replicated log in Beam enables a very +and transactions in Akutan. The replicated log in Akutan enables a very simple form of versioning for the entire state, since the log index identifies the version. This allows for a simple implementation of MVCC (multi-version concurrency control). Views track prior versions of the @@ -170,7 +170,7 @@ if Tesla is partitioned in one view but Apple is partitioned in another? Both may need to track the edge, but neither has the knowledge required to decide the outcome of the transaction. -To handle this case, Beam uses a second log entry called a *decision +To handle this case, Akutan uses a second log entry called a *decision entry*: 1. The API tier first proposes a conditional transaction by appending @@ -199,7 +199,7 @@ Abort decision first. (Views apply only the first decision entry for a given transaction and ignore any subsequent decision entries for that same transaction.) -An Encouraging Start: ProtoBeam v1 +An Encouraging Start: ProtoAkutan v1 ---------------------------------- The first prototype we built explored the primary areas of interest from @@ -214,7 +214,7 @@ the architecture, including: - How transactions perform. -ProtoBeam v1 uses a single Kafka topic to store the log. We implemented +ProtoAkutan v1 uses a single Kafka topic to store the log. We implemented a hash-partitioned view over a key-value space, and a front-end API tier that allows for reads, writes, and transactions. @@ -231,13 +231,13 @@ point-in-time query across keys that span multiple partitions. In addition, the views implement processing of the transaction model described above. -The ProtoBeam v1 code is written in Go. +The ProtoAkutan v1 code is written in Go. It uses Protobuf as the serialization format for the log entries. The views expose a gRPC API for use by the API layer, and the API layer exposes a JSON/HTTP API for clients to use. The entire project is less than 2,000 lines of code and was built in a few days. -We deployed ProtoBeam v1 on a test cluster. We used 6 medium VMs +We deployed ProtoAkutan v1 on a test cluster. We used 6 medium VMs (2 VCPU, 6GB Ram, 30GB disk): 1 VM for Kafka and ZooKeeper, 1 VM for the API layer, and 4 VMs for view partitions. @@ -264,10 +264,10 @@ actions easier than other approaches. We didn't discover anything that would rule it out as a viable approach, and we're eager to push our prototype forward. -Next Steps: ProtoBeam v2 +Next Steps: ProtoAkutan v2 ------------------------ -To further explore the Beam architecture, we next plan to build a v2 +To further explore the Akutan architecture, we next plan to build a v2 prototype. We plan to explore remaining areas of investigation, as well as move towards data/processing closer to what we think we'll need. There are three major topics: @@ -286,4 +286,4 @@ There are three major topics: - **Graph data model:** While v1 was based around simple key-value pairs, we want to move to this graph-based data model in v2, in large part because it - will more effectively show how Beam could meet more complex requirements. + will more effectively show how Akutan could meet more complex requirements. diff --git a/docs/protobeam_v2.md b/docs/protoakutan_v2.md similarity index 77% rename from docs/protobeam_v2.md rename to docs/protoakutan_v2.md index 09ae356..0865592 100644 --- a/docs/protobeam_v2.md +++ b/docs/protoakutan_v2.md @@ -1,22 +1,22 @@ -ProtoBeam v2 -============ +ProtoAkutan v2 +============== *This doc was written in March 2018 as an update to what we've implemented and -learned from ProtoBeam v2. Some sections were redacted and edited before making +learned from ProtoAkutan v2. Some sections were redacted and edited before making this public.* -ProtoBeam v1 recap -================== +ProtoAkutan v1 recap +==================== -The [first doc](protobeam_v1.md) on Beam proposed the basic architecture of -Beam, consisting of a collection of views on top of a single, replicated log. +The [first doc](protoakutan_v1.md) on Akutan proposed the basic architecture of +Akutan, consisting of a collection of views on top of a single, replicated log. The single, replicated log simplifies many operations including transactions; it also introduces downsides, like fundamentally limiting the rate of change for -data in the system. The first doc described our initial prototype, ProtoBeam v1, +data in the system. The first doc described our initial prototype, ProtoAkutan v1, which implemented an in-memory key-value store. At the end of the first doc, we set out to explore three major topics in -ProtoBeam v2: +ProtoAkutan v2: - **Log compaction:** We think the log may grow to a somewhat large size because of the rate of change to the data. This would make it slow for views @@ -31,27 +31,27 @@ ProtoBeam v2: - **Graph data model:** While v1 was based around simple key-value pairs, we want to move to this graph-based data model in v2, in large part because it - will more effectively show how Beam could meet more complex requirements. + will more effectively show how Akutan could meet more complex requirements. -ProtoBeam v2 -============ +ProtoAkutan v2 +============== -For ProtoBeam v2, we basically kept with the plan of exploring those +For ProtoAkutan v2, we basically kept with the plan of exploring those major topics: log compaction, disk-based views, and the graph data -model. We also evaluated the open-source projects that ProtoBeam +model. We also evaluated the open-source projects that ProtoAkutan currently depends on. -We covered a lot of surface area in ProtoBeam v2. Rather than fit +We covered a lot of surface area in ProtoAkutan v2. Rather than fit everything we learned into this document, we've split out two of the major findings into more focused documents: -1. [Using Kafka in Beam](kafka.md) evaluates whether Apache Kafka is a good fit - for Beam's log. It concludes that Kafka has significant limitations for use - in Beam, which we'll need to address in the future. +1. [Using Kafka in Akutan](kafka.md) evaluates whether Apache Kafka is a good fit + for Akutan's log. It concludes that Kafka has significant limitations for use + in Akutan, which we'll need to address in the future. -2. [Booting Beam Views](booting_beam_views.md) describes how Beam views start - up after a prefix of Beam's log has been discarded. It argues that most +2. [Booting Akutan Views](booting_views.md) describes how Akutan views start + up after a prefix of Akutan's log has been discarded. It argues that most views can boot from the Disk View's Iteration Service without much additional complexity. @@ -62,29 +62,29 @@ make up the v2 implementation. Graph data model and API ------------------------ -The data model in ProtoBeam v2 is a property graph made up of nodes and +The data model in ProtoAkutan v2 is a property graph made up of nodes and directional edges, where both nodes and edges have potentially large values. Dangling edges are not permitted in the graph: every edge A-->B is written as a transaction that's conditional on A and B existing. This -requires two log entries, as described in the first Beam doc. As an +requires two log entries, as described in the first Akutan doc. As an optimization, if A, B, and A-->B are written in the same request, -ProtoBeam v2 appends this to the log as a single log entry. +ProtoAkutan v2 appends this to the log as a single log entry. -ProtoBeam v2 also supports arbitrarily complex transactions. This +ProtoAkutan v2 also supports arbitrarily complex transactions. This enables splitting and merging of nodes while maintaining reasonable semantics on what happens to their edges. However, it's not a capability we exercised beyond single-edge transactions. -ProtoBeam v2 maintains all versions of every node and edge. It doesn't +ProtoAkutan v2 maintains all versions of every node and edge. It doesn't support deletes, but we would implement this using "tombstones", explicit markers that a node or edge had been deleted. All queries are executed against a consistent snapshot of the entire graph, and any query can specify a particular log index to identify an older snapshot to query. -In addition to the property graph, ProtoBeam v2 supports a form of +In addition to the property graph, ProtoAkutan v2 supports a form of secondary indexes. When configured explicitly, a set of Index Views will maintain a map from a particular field within node values or edge values, allowing a user to look up node IDs or edge IDs by exact matches @@ -93,17 +93,17 @@ on this field. System components ----------------- -The components of ProtoBeam v2 are shown in the following diagram. The primary +The components of ProtoAkutan v2 are shown in the following diagram. The primary components are highlighted in blue; the rest are shown in gray. ![components](v2_components.png) -ProtoBeam v2 stores all the nodes and edges in DiskViews. The nodes and +ProtoAkutan v2 stores all the nodes and edges in DiskViews. The nodes and edges are hash-partitioned across a set of DiskViews. An edge A-->B is hashed onto the same DiskView instance as node A, which makes graph traversals more efficient. -ProtoBeam v2 includes two implementations of the DiskView: one in Go and +ProtoAkutan v2 includes two implementations of the DiskView: one in Go and one in Rust, which we used to compare performance. The Rust implementation is not entirely complete: it does not implement graph traversals and cannot boot from other DiskViews. The Go DiskView is @@ -113,7 +113,7 @@ these. The IndexView creates a secondary index on a field within node or edge values. Which field to index is specified in the instance's -configuration. We used JSON values in ProtoBeam v2, and the IndexView +configuration. We used JSON values in ProtoAkutan v2, and the IndexView extracted the values with [JSONPath](https://github.com/oliveagle/jsonpath) expressions. @@ -137,8 +137,8 @@ The other components are as follows: - The API server is extended from v1 but adapted for the property graph model. It now exports gRPC & HTTP interfaces (v1 was only HTTP). -- The use of Apache Kafka is similar to in v1. Whether it is suitable for Beam - is addressed in the [Using Kafka in Beam](kafka.md) doc. +- The use of Apache Kafka is similar to in v1. Whether it is suitable for Akutan + is addressed in the [Using Kafka in Akutan](kafka.md) doc. Disk View performance --------------------- @@ -151,19 +151,19 @@ embedded key-value store. The DiskView's functionality is captured by three main scenarios: - **Random Write**: Graph nodes and edges are written to the embedded - key-value store upon tailing Beam’s log. These writes need not be - immediately durable, as entries can be reapplied from Beam's log after + key-value store upon tailing Akutan’s log. These writes need not be + immediately durable, as entries can be reapplied from Akutan's log after restarting from a crash. - **Random Read**: The graph API supports the ability to read a number of nodes and edges by their IDs, as well as traversing the graph from any node. This results in random reads on the embedded key-value store. -- **Iterate:** As explained in the [Booting Beam Views](booting_beam_views.md) - doc, Beam relies on an iteration API that reads key-value pairs sequentially +- **Iterate:** As explained in the [Booting Akutan Views](booting_views.md) + doc, Akutan relies on an iteration API that reads key-value pairs sequentially from the embedded key-value store. -In ProtoBeam v2, we implemented the DiskView in Go with the ability to +In ProtoAkutan v2, we implemented the DiskView in Go with the ability to use different embedded key-value stores. We compared three open-source embedded key-value stores for this purpose, across the three main scenarios identified above. The key value stores we looked at each used @@ -213,13 +213,13 @@ Our preliminary results did point towards RocksDB as the likely winner: Conclusion ========== -For ProtoBeam v2, we set out to explore log compaction, disk-based views, and +For ProtoAkutan v2, we set out to explore log compaction, disk-based views, and the graph data model. We built a transactional property graph store that could hold billions of items. With the index view booting from the DiskView's Iteration Service, we showed how the architecture can support in-memory views, even when old entries from the log have been discarded. -We also evaluated some of the open-source projects that ProtoBeam currently -depends on. We found that Kafka has serious limitations for Beam that we will +We also evaluated some of the open-source projects that ProtoAkutan currently +depends on. We found that Kafka has serious limitations for Akutan that we will need to address in the future, but that RocksDB seems like a good choice for the DiskView to leverage. diff --git a/docs/protobeam_v3.md b/docs/protoakutan_v3.md similarity index 93% rename from docs/protobeam_v3.md rename to docs/protoakutan_v3.md index 44aaa27..89db727 100644 --- a/docs/protobeam_v3.md +++ b/docs/protoakutan_v3.md @@ -1,14 +1,14 @@ -ProtoBeam v3 -============ +ProtoAkutan v3 +============== *This doc was written in August 2018 as an update to what we've implemented and -learned from ProtoBeam v3. Some sections were redacted and edited before making +learned from ProtoAkutan v3. Some sections were redacted and edited before making this public.* Background ---------- -[ProtoBeam v1](protobeam_v1.md) introduced the Beam architecture for building a +[ProtoAkutan v1](protoakutan_v1.md) introduced the Akutan architecture for building a distributed database: - Change requests are appended to a single persistent and fault-tolerant log, @@ -18,43 +18,43 @@ distributed database: - An API tier collects data from relevant views to answer queries. -To quickly demonstrate the usefulness of this architecture, ProtoBeam v1 +To quickly demonstrate the usefulness of this architecture, ProtoAkutan v1 implemented a small key-value store that supported snapshots and transactions across partitions. -[ProtoBeam v2](protobeam_v2.md) explored various aspects of the Beam +[ProtoAkutan v2](protoakutan_v2.md) explored various aspects of the Akutan architecture in more depth while implementing a property graph store. It stored -nodes and edges, each consisting of arbitrary JSON values. To query ProtoBeam +nodes and edges, each consisting of arbitrary JSON values. To query ProtoAkutan v2, you'd specify a starting node ID and could traverse edges or reverse edges -outwards from the starting node. ProtoBeam v2 also implemented secondary +outwards from the starting node. ProtoAkutan v2 also implemented secondary indexes, so you could look up which nodes and edges have JSON fields matching a given value. -ProtoBeam v3 implements a fact-based data model similar to a triple store. We +ProtoAkutan v3 implements a fact-based data model similar to a triple store. We believe this data model will work just as well as a property graph for many use cases, and also allow for semantic reasoning over the graph. Introduction ------------ -In ProtoBeam v3, we aimed to explore the major areas of a triple store. Of +In ProtoAkutan v3, we aimed to explore the major areas of a triple store. Of course, we could not finish a complete triple store with a reasoning engine in -ProtoBeam v3; implementing a feature-complete store with great performance will -be a much longer journey. However, we specifically designed ProtoBeam v3 to be +ProtoAkutan v3; implementing a feature-complete store with great performance will +be a much longer journey. However, we specifically designed ProtoAkutan v3 to be extensible and to *enable* high query performance. It implements just enough functionality to support most useful queries, and it contains solid abstractions to enable high performance as the system evolves. The system has clear paths for implementing new functionality and for improving performance. -ProtoBeam v3 continues to build on the Beam architecture. The architecture +ProtoAkutan v3 continues to build on the Akutan architecture. The architecture allows for adding new types of views as a way to add new features or optimize performance, so it's a good fit for our goals. Because we already explored this -aspect of the architecture in ProtoBeam v2, v3 uses only a minimal set of view +aspect of the architecture in ProtoAkutan v2, v3 uses only a minimal set of view types. We plan to add more types of views later if needed to support high-performance queries. -The main focus of ProtoBeam v3 was a whole new query processor in the API -server. The API server in ProtoBeam v2 was far too limited to support +The main focus of ProtoAkutan v3 was a whole new query processor in the API +server. The API server in ProtoAkutan v2 was far too limited to support [Sparql](https://en.wikipedia.org/wiki/SPARQL) style queries, as it could only handle simple queries with a fixed execution plan. The new query processor in v3 is much more sophisticated. It consists of a parser, a cost-based query planner, @@ -87,7 +87,7 @@ its object, labeled by its predicate: ### Literals A fact can have an object that is another node in the graph, or it can -be a literal value. ProtoBeam v3 supports the following typed literals: +be a literal value. ProtoAkutan v3 supports the following typed literals: | Type | Description | |--- |--- | @@ -99,7 +99,7 @@ be a literal value. ProtoBeam v3 supports the following typed literals: ### Additional Fields in a Fact -In addition to \ \ \, ProtoBeam v3 stores +In addition to \ \ \, ProtoAkutan v3 stores two additional fields for each fact: an ID and the log index at which it was created. @@ -117,20 +117,20 @@ Treating metadata as just additional facts simplifies the query language and engine: they don't need special cases for metadata. Metafacts could also be used to encode the confidence of facts or that -facts are valid for particular time spans. However, ProtoBeam v3 does +facts are valid for particular time spans. However, ProtoAkutan v3 does not have any special support for this information. It will return all facts in results, unless the query explicitly filters out low-confidence facts. The second additional field kept with every fact is a log index. In the -Beam architecture, the log index is a strictly increasing number that +Akutan architecture, the log index is a strictly increasing number that identifies a version of the entire dataset. Alongside each fact, -ProtoBeam v3 stores the log index of the entry that created the fact. +ProtoAkutan v3 stores the log index of the entry that created the fact. This enables queries on historical snapshots of the entire graph. ### Query Language -The primary read operation for ProtoBeam v3 is via a query language. A query +The primary read operation for ProtoAkutan v3 is via a query language. A query defines a set of patterns, and the query result is 0 or more sets of facts that satisfy these patterns. @@ -154,7 +154,7 @@ in multiple lines, it's bound to the same value. The following example ?size 60 ``` -We will refer to this example throughout this document. Note: ProtoBeam +We will refer to this example throughout this document. Note: ProtoAkutan v3 includes partial support for units and languages, but we've omitted that here for simplicity. @@ -182,7 +182,7 @@ facts are inferred for transitive predicates. System Components ----------------- -ProtoBeam v3 is based on the same Beam architecture as in earlier +ProtoAkutan v3 is based on the same Akutan architecture as in earlier versions: - Change requests are appended to a single persistent and @@ -197,17 +197,17 @@ Its major components are shown in the following diagram: ![v3 components](v3_components.png) -The API server is vastly improved from ProtoBeam v2 and is discussed in the +The API server is vastly improved from ProtoAkutan v2 and is discussed in the [Query Processing](#query-processing) section. The Transaction Timer, which aborts slow transactions, and the use of Apache Kafka as the log are essentially -the same as in v2. In evaluating ProtoBeam v2, we [identified](kafka.md) several +the same as in v2. In evaluating ProtoAkutan v2, we [identified](kafka.md) several problems with Apache Kafka; however, addressing these was out of scope for v3. -ProtoBeam v3 uses only a minimal set of view types to support graph queries. One +ProtoAkutan v3 uses only a minimal set of view types to support graph queries. One type of views allows efficient lookups of facts given a subject and predicate, and a second type allows efficient lookups of facts given a predicate and object. These are both implemented using a single Disk View code base, which can -be run in the two different modes. The Disk View is based on that of ProtoBeam +be run in the two different modes. The Disk View is based on that of ProtoAkutan v2 but was substantially modified for this role. The views serving subject-predicate lookups are organized in a @@ -286,7 +286,7 @@ used by the query engine: |----------------- |--- | | LookupS | All facts with this subject. | | LookupSP | All facts with this subject and predicate. | -| LookupSPO | All facts with this subject and predicate and object. (The HashPO views could service LookupSPO too, but ProtoBeam v3 does not use them.) | +| LookupSPO | All facts with this subject and predicate and object. (The HashPO views could service LookupSPO too, but ProtoAkutan v3 does not use them.) | | | **PO Key Format** | @@ -307,12 +307,12 @@ discover it's useful; its implementation would be very similar to LookupS. The Disk Views also support exporting their data through carousels as in -Protobeam v2, and they collect statistics about the data, as described +ProtoAkutan v2, and they collect statistics about the data, as described in the [Query Planner](#planner) section. ### Possible Future Views -While ProtoBeam v3 leans heavily on the two types of Disk Views for answering +While ProtoAkutan v3 leans heavily on the two types of Disk Views for answering queries, we anticipate needing additional views in the future for both additional functionality and higher performance. This section describes our present ideas. @@ -342,7 +342,7 @@ motivating requirements. These are a few examples: Query Processing ---------------- -The main focus of ProtoBeam v3 was a whole new query processor in the API +The main focus of ProtoAkutan v3 was a whole new query processor in the API server. This allows the API server to handle the kind of rich queries needed. As shown in the figure below, the query processor consists of a parser, @@ -394,7 +394,7 @@ Query{ } ``` -ProtoBeam v3's parser is implemented using +ProtoAkutan v3's parser is implemented using [goparsify](https://github.com/vektah/goparsify), which is a [parser combinator](https://en.wikipedia.org/wiki/Parser_combinator) library. The parser combinator approach involves building up named @@ -406,7 +406,7 @@ evolves. ### Planner -ProtoBeam v3 has multiple ways to execute a single query. For example, +ProtoAkutan v3 has multiple ways to execute a single query. For example, when finding large TVs, it can: 1. Start from the TV entity, find the products with that type, and see @@ -423,7 +423,7 @@ Which plan is best depends on the shape of the data. Do most entities with large screens happen to be TVs? How many TVs have screens sized smaller or larger than 60? -ProtoBeam v3 uses a cost-based query planner to choose how to execute a +ProtoAkutan v3 uses a cost-based query planner to choose how to execute a query. It considers many possible plans that would produce equivalent results, estimates the costs of each plan, and chooses the plan with the lowest estimated cost. It generates candidate plans using a rules-based @@ -496,7 +496,7 @@ many successful relational databases have bottom-up query planners. These can be more efficient (for example, at enumerating join orders), but they are hand-crafted for a well-understood set of optimizations and heuristics. New optimizations and operators could be difficult to -integrate with a bottom-up approach. The top-down approach in ProtoBeam +integrate with a bottom-up approach. The top-down approach in ProtoAkutan v3 helps promote the system's extensibility. Its query planner may be expensive compared to a bottom-up query planner, but we believe its extensibility will enable the overall system to perform better. @@ -526,7 +526,7 @@ of each operator (see cost model is not to be exact, which would be nearly impossible, but to distinguish a good plan from a bad one. -We think the query planner in ProtoBeam v3 has a good structure to keep up with +We think the query planner in ProtoAkutan v3 has a good structure to keep up with the systems growing demands. It's only the beginning: we will need to extend the rules, statistics, and cost model over time, and we may even need to add heuristics and optimize the core search algorithm. Having a good structure in @@ -590,7 +590,7 @@ pressure extend all the way down to the disk views. Join operators are used to see if facts are related as described in the query. The output from a Join operator is the stream of sets of facts -that were matched on the join variable(s). Protobeam v3 implements two +that were matched on the join variable(s). ProtoAkutan v3 implements two join operators that the planner can choose between: Hash Join and Loop Join. The two operators are logically equivalent; they will produce the same output given the same starting collection of facts. However, their @@ -740,7 +740,7 @@ If a predicate is transitive, then we can infer that facts are true even if they are not persisted. For example, if ` ` and ` ` are both true, then we can also infer that ` ` is true. -ProtoBeam v3 implements these inference lookups with a breadth first +ProtoAkutan v3 implements these inference lookups with a breadth first graph traversal from the API server. This graph traversal is implemented as a iterative set of LookupSP or @@ -767,7 +767,7 @@ directions. ### RPC Fanout As described above, executing the query plan involves collecting data -from various views. Since ProtoBeam v3 stores facts across a cluster, +from various views. Since ProtoAkutan v3 stores facts across a cluster, each lookup operator may need to request and collect facts from multiple servers. This seems fairly basic, yet a number of goals make it challenging. For each request, we wanted to: @@ -788,10 +788,10 @@ challenging. For each request, we wanted to: - Handle cluster transitions during which the key- or hash-spaces may not be cleanly partitioned. -Since ProtoBeam v3 includes several request types, we also wanted to +Since ProtoAkutan v3 includes several request types, we also wanted to write this logic once, test it once, and reuse it everywhere. -ProtoBeam v3 addresses this challenge with a generic Fanout package and +ProtoAkutan v3 addresses this challenge with a generic Fanout package and a specific View Client package that is layered on top. Each request type in View Client is responsible for: @@ -805,17 +805,17 @@ Meanwhile, Fanout is responsible for handling everything else in the above list of goals. We've found this to be a practical division of labor that lets us solve almost all of the problems in one place. -ProtoBeam v3 has two basic types of requests: those that naturally map +ProtoAkutan v3 has two basic types of requests: those that naturally map to points in a space, like LookupSP, and those that naturally map to coverage of an entire space, like LookupS. LookupSP finds the facts matching given subject-predicate pairs. Since -ProtoBeam v3 maintains a hash(subject+predicate) space +ProtoAkutan v3 maintains a hash(subject+predicate) space ("HashSP-space"), each subject-predicate pair naturally hashes to one point in the HashSP-space. The Fanout code looks for any set of view servers that serve those points. -LookupS finds the facts matching given subjects. ProtoBeam v3 uses the +LookupS finds the facts matching given subjects. ProtoAkutan v3 uses the same HashSP-space to serve LookupS, but since we don't know which predicates might be used with those subjects, the facts for each subject could be anywhere. Thus, the Fanout module must ask one replica of each @@ -939,7 +939,7 @@ Conclusion ---------- We set out to design a system with clear paths for implementing new -functionality and for improving query performance. We believe ProtoBeam +functionality and for improving query performance. We believe ProtoAkutan v3 meets these goals. To enable richer queries, one would first update the parser to extend diff --git a/docs/query.md b/docs/query.md index 759c61f..2195bc8 100644 --- a/docs/query.md +++ b/docs/query.md @@ -1,14 +1,14 @@ # Query Language -*This document was written in March 2019 to describe Beam's current query +*This document was written in March 2019 to describe Akutan's current query language.* ## Introduction -A Beam cluster contains a graph of facts, which you can query using Beam's query +A Akutan cluster contains a graph of facts, which you can query using Akutan's query language. Queries are based on fact patterns. They ask: do any facts in the graph satisfy this pattern? The facts in the graph may be static (concrete) -facts physically stored in Beam, or they may be dynamic (inferred) facts that +facts physically stored in Akutan, or they may be dynamic (inferred) facts that are generated during query execution. The query language started as a home grown format, but more recently it has been @@ -26,11 +26,11 @@ subject and predicate fields must be an *entity*, while the object field may be either an entity or a *literal value*. Entities in the graph are represented in the query language by surrounding them in angle brackets (like ``), by using a QName (like `rdf:type`), or by using their internal ID (like `#1052`). -Although entities in Beam are similar to RDF, they are not the same as the RDF -equivalents; for example, the prefix of a QName in Beam is not bound to a +Although entities in Akutan are similar to RDF, they are not the same as the RDF +equivalents; for example, the prefix of a QName in Akutan is not bound to a namespace URI. -As mentioned above, object fields may contain literal values. Beam supports a +As mentioned above, object fields may contain literal values. Akutan supports a number of strongly typed literals and includes some support for languages and units: @@ -44,18 +44,18 @@ units: | Timestamp | a date/time with amount of precision | `'2019'`, `'2019-03-22'`, `'2017-11-30 14:30:00'` | The fact's ID allows for encoding information about facts using the *metafacts* -model. This is described more in the [ProtoBeam v3 doc](protobeam_v3.md). +model. This is described more in the [ProtoAkutan v3 doc](protoakutan_v3.md). ## Basic Query Structure -If you have Beam running, you can try the examples out by first loading the example -data set with `bin/beam-client insert docs/query/example_data.tsv` +If you have Akutan running, you can try the examples out by first loading the example +data set with `bin/akutan-client insert docs/query/example_data.tsv` -Then you can use `beam-client` to run queries, as in the following example: +Then you can use `akutan-client` to run queries, as in the following example: ```bash -$ bin/beam-client query docs/query/fp_01.bql +$ bin/akutan-client query docs/query/fp_01.bql ... person | place | ------------- | ----------- | @@ -80,7 +80,7 @@ the line. Example: Where was the entity with the label "John Scalzi" born? ``` -# bin/beam-client query docs/query/fp_01.bql +# bin/akutan-client query docs/query/fp_01.bql SELECT * WHERE { ?person rdfs:label "John Scalzi"@en ?person ?place @@ -96,7 +96,7 @@ Example: Of the people born somewhere within California, where was each person born? ``` -# bin/beam-client query docs/query/fp_02.bql +# bin/akutan-client query docs/query/fp_02.bql SELECT * WHERE { ?person ?place ?place @@ -111,7 +111,7 @@ SELECT * WHERE { Example: Which Samsung TVs have a size of 65 inches? ``` -# bin/beam-client query docs/query/fp_03.bql +# bin/akutan-client query docs/query/fp_03.bql SELECT * WHERE { ?tv rdf:type ?tv @@ -134,7 +134,7 @@ comparison. In place of the predicate field, use ``, ``, ``, Example: Which Samsung TVs have a size greater than 36 inches? ``` -# bin/beam-client query docs/query/cmp_01.bql +# bin/akutan-client query docs/query/cmp_01.bql SELECT * WHERE { ?tv rdf:type ?tv @@ -154,7 +154,7 @@ Example: Is the UK in the European Union as of March 22, 2019? This query uses metafacts. `ASK` queries are described more later. ``` -# bin/beam-client query docs/query/cmp_02.bql +# bin/akutan-client query docs/query/cmp_02.bql ASK WHERE { ?fact ?fact ?until @@ -171,22 +171,22 @@ ASK WHERE { ## Transitive Predicates -Beam currently assumes that predicates are transitive. For example, if +Akutan currently assumes that predicates are transitive. For example, if ` ` and ` `, then by the transitive nature of -``, it's also true that ` `. Beam will generate these +``, it's also true that ` `. Akutan will generate these inferred facts at query time. Of course, there are predicates that are not logically transitive. For example, from ` ` and ` `, one should not infer that ` `. For now, one should be careful when modeling such graphs -with Beam. +with Akutan. Example: Of the people born somewhere within the USA, where was each person born? ``` -# bin/beam-client query docs/query/tp_01.bql +# bin/akutan-client query docs/query/tp_01.bql SELECT * WHERE { ?person ?place ?place @@ -201,7 +201,7 @@ SELECT * WHERE { ``` Note that the example data does not include any fact that says -` `. Beam inferred this fact from: +` `. Akutan inferred this fact from: ``` @@ -215,7 +215,7 @@ Fact patterns can also be used to express a set of possible values. This is done Example: Who was born somewhere within Maryland or South Carolina? ``` -# bin/beam-client query docs/query/set_01.bql +# bin/akutan-client query docs/query/set_01.bql SELECT ?person WHERE { ?person ?loc ?loc ?place @@ -239,7 +239,7 @@ be nil if the fact is not matched. Example: Who was born within the USA, and if we know, where are they now? ``` -# bin/beam-client query docs/query/opt_01.bql +# bin/akutan-client query docs/query/opt_01.bql SELECT ?person ?bornWhere ?livesWhere WHERE { ?person ?bornWhere ?bornWhere @@ -267,7 +267,7 @@ explicitly indicate the order. Example: List Samsung TVs from largest to smallest. ``` -# bin/beam-client query docs/query/order_01.bql +# bin/akutan-client query docs/query/order_01.bql SELECT ?tv ?size WHERE { ?tv rdf:type ?tv @@ -293,7 +293,7 @@ paging and are almost always used along with `ORDER BY`. Example: Which is the largest Samsung TV? ``` -# bin/beam-client query docs/query/limit_01.bql +# bin/akutan-client query docs/query/limit_01.bql SELECT ?tv ?size WHERE { ?tv rdf:type ?tv @@ -311,7 +311,7 @@ LIMIT 1 Example: Which is the second-largest Samsung TV? ``` -# bin/beam-client query docs/query/limit_02.bql +# bin/akutan-client query docs/query/limit_02.bql SELECT ?tv ?size WHERE { ?tv rdf:type ?tv @@ -329,13 +329,13 @@ OFFSET 1 ## Aggregate functions -Beam currently supports one aggregate function, `COUNT`, which returns the +Akutan currently supports one aggregate function, `COUNT`, which returns the number of results. Example: How many people were born somewhere in the USA? ``` -# bin/beam-client query docs/query/count_01.bql +# bin/akutan-client query docs/query/count_01.bql SELECT (COUNT(?person) as ?num) WHERE { ?person ?place ?place @@ -354,7 +354,7 @@ Select can also return only distinct results, via `SELECT DISTINCT`. Example: For each TV, who makes it? (without distinct) ``` -# bin/beam-client query docs/query/d_01.bql +# bin/akutan-client query docs/query/d_01.bql SELECT ?manf WHERE { ?p rdf:type ?p ?manf @@ -369,7 +369,7 @@ SELECT ?manf WHERE { Example: What are the companies that manufacture TVs? ``` -# bin/beam-client query docs/query/d_02.bql +# bin/akutan-client query docs/query/d_02.bql SELECT DISTINCT ?manf WHERE { ?p rdf:type ?p ?manf @@ -389,7 +389,7 @@ or false depending on if the `WHERE` clause found any results. Example: Was anyone born in Maryland? ``` -# bin/beam-client query docs/query/ask_01.bql +# bin/akutan-client query docs/query/ask_01.bql ASK WHERE { ?person ?place ?place @@ -405,9 +405,9 @@ ASK WHERE { To programmatically run your query, you submit the query string to the `query` RPC in the API servers' gRPC service. For more details, see the -`protos/api/beam_api.proto` file. The response from query is a stream of 1 or -more chunks of results. The `beam-client query` operation used in the examples +`protos/api/akutan_api.proto` file. The response from query is a stream of 1 or +more chunks of results. The `akutan-client query` operation used in the examples is a command line tool that wraps this gRPC API. For details of how the query engine executes the queries, see the -[ProtoBeam v3](protobeam_v3.md) doc. +[ProtoAkutan v3](protoakutan_v3.md) doc. diff --git a/docs/rfc_update.md b/docs/rfc_update.md index 72c6e29..86fdf96 100644 --- a/docs/rfc_update.md +++ b/docs/rfc_update.md @@ -6,29 +6,29 @@ have been implemented as of March 2019. Some sections were redacted and edited before making this public.* ## Summary -This RFC proposes a new path for inserting and deleting facts in Beam. With this +This RFC proposes a new path for inserting and deleting facts in Akutan. With this proposal, users will have a convenient way to manage the graph and maintain its -consistency, by leveraging Beam's underlying support for transactions. This RFC -would bring Beam close to implementing a subset of the +consistency, by leveraging Akutan's underlying support for transactions. This RFC +would bring Akutan close to implementing a subset of the [Sparql 1.1 Update specification](https://www.w3.org/TR/sparql11-update/). ## Motivation -The previous insert capability was developed for ProtoBeam and has +The previous insert capability was developed for ProtoAkutan and has several limitations: - It does not handle automatic assignment of External IDs. Instead - of writing `beam:banana beam:color beam:yellow`, users must write: + of writing `akutan:banana akutan:color akutan:yellow`, users must write: New Subject Vars: [?banana, ?color, ?yellow] Facts: [ - [s:?banana, p:, o:"beam:banana"], - [s:?color, p:, o:"beam:color"], - [s:?yellow, p:, o:"beam:yellow"], + [s:?banana, p:, o:"akutan:banana"], + [s:?color, p:, o:"akutan:color"], + [s:?yellow, p:, o:"akutan:yellow"], [s:?banana, p:?color, o:?yellow]] - It does not enforce uniqueness of external IDs. Users can accidentally - create multiple entities with the external ID `beam:banana` or ``. + create multiple entities with the external ID `akutan:banana` or ``. - The client must know if it's creating a new entity or referencing an existing entity. This leads to time-of-check time-of-use races with concurrent clients. @@ -59,7 +59,7 @@ mechanism, with the following goals: ## Guide-level explanation -This RFC adds three new top-level Beam API methods: +This RFC adds three new top-level Akutan API methods: 1. **Insert:** to ensure facts exist, 2. **Delete:** to ensure facts do not exist, @@ -110,8 +110,8 @@ allow more flexible whitespace than just tabs. It will accept triples like this: - beam:banana beam:color beam:yellow - beam:eggplant beam:color beam:purple + akutan:banana akutan:color akutan:yellow + akutan:eggplant akutan:color akutan:purple where the details of different literal types, units, and languages are outside the scope of this RFC. @@ -123,16 +123,16 @@ these be inserted or deleted) and will result in a parse error. #### Internal and External IDs -Entities in Beam's underlying fact storage are represented as 64-bit integer IDs +Entities in Akutan's underlying fact storage are represented as 64-bit integer IDs called KIDs. These will be mapped automatically when the first insert RPC first -mentions them. For example, inserting the fact `beam:banana beam:color beam:yellow` -will map `beam:banana` to a new KID if the mapping for `beam:banana` does not -already exist, and the same for `beam:color` and `beam:yellow`. +mentions them. For example, inserting the fact `akutan:banana akutan:color akutan:yellow` +will map `akutan:banana` to a new KID if the mapping for `akutan:banana` does not +already exist, and the same for `akutan:color` and `akutan:yellow`. -The KIDs are still visible to end users in Beam. This RFC proposes that they may +The KIDs are still visible to end users in Akutan. This RFC proposes that they may be used inserted and deleted with `tsv`-format updates like so: - #50 beam:color #52 + #50 akutan:color #52 Users will also continue to be able to insert mappings manually, like so: @@ -171,19 +171,19 @@ position. This allows inserting metafacts: - ?f beam:banana beam:color beam:yellow - ?f beam:source beam:duh - beam:bob beam:likes ?f + ?f akutan:banana akutan:color akutan:yellow + ?f akutan:source akutan:duh + akutan:bob akutan:likes ?f -If an `beam:banana beam:color beam:yellow` fact already exists, this will +If an `akutan:banana akutan:color akutan:yellow` fact already exists, this will ensure the metafacts exist about that existing base fact. If the -`beam:banana beam:color beam:yellow` fact does not already exist, this will +`akutan:banana akutan:color akutan:yellow` fact does not already exist, this will insert both the new base fact and the metafacts. The same may be used to delete metafacts together with the base fact they belong to. However, this has two limitations: - - If a user deletes a base fact and only some of its metafacts, Beam will + - If a user deletes a base fact and only some of its metafacts, Akutan will allow its other metafacts to be orphaned. These orphaned metafacts can still be deleted later using the KID form of the fact ID. - The `tsv` format can not express a request to delete a metafact without also @@ -211,9 +211,9 @@ Blank nodes could pose a problem when used as fact IDs. For example, consider the following insert request: ``` - beam:banana beam:color beam:yellow -_:f beam:banana beam:color beam:yellow -_:g beam:banana beam:color beam:yellow + akutan:banana akutan:color akutan:yellow +_:f akutan:banana akutan:color akutan:yellow +_:g akutan:banana akutan:color akutan:yellow ``` How many new facts should be inserted? As a consequence of this scenario, this @@ -232,8 +232,8 @@ semicolons into a larger request, which logically executes in the order given. Example 4 from Sparql 1.1 Update (§3.1.2) shows how to use a `DELETE DATA` operation and an `INSERT DATA` operation in a single request: - DELETE DATA { beam:book123 dc:title "Compiler Desing" } ; - INSERT DATA { beam:book123 dc:title "Compiler Design" } + DELETE DATA { akutan:book123 dc:title "Compiler Desing" } ; + INSERT DATA { akutan:book123 dc:title "Compiler Design" } This RFC proposes a restricted from of requests, where the only requests that allow multiple operations are of this `DELETE DATA` semicolon `INSERT DATA` @@ -259,9 +259,9 @@ section). Specifically, this RFC proposes that: compound operation, without a semicolon). Note: This section uses (nearly) standard Sparql syntax. However, the initial -implementation in Beam will not be standards-compliant, as Beam's current parser +implementation in Akutan will not be standards-compliant, as Akutan's current parser is not yet standards compliant. The initial implementation will contain patterns -with syntax more like the `tsv` format, analogous to how Beam queries today have +with syntax more like the `tsv` format, analogous to how Akutan queries today have some Sparql syntax and some legacy syntax. Moreover, the Sparql syntax may be extended somewhat to support metafacts. For the purpose of this RFC, readers should focus on the shape of the requests, not the detailed syntax. @@ -275,7 +275,7 @@ simple example: INSERT DATA { - beam:book123 dc:title "The Tale of Beam" ; + akutan:book123 dc:title "The Tale of Akutan" ; dc:creator "Bob" . } @@ -286,7 +286,7 @@ Here's a simple example: DELETE DATA { - beam:book123 dc:title "The Tale of Beam" ; + akutan:book123 dc:title "The Tale of Akutan" ; dc:creator "Bob" . } @@ -308,9 +308,9 @@ WHERE clause is evaluated as if part of the Sparql query `SELECT * WHERE ...`. The `INSERT template` operation looks like this: - INSERT { ?fruit beam:color beam:violet . - beam:bob beam:dislikes ?fruit } - WHERE { ?fruit beam:color beam:purple } + INSERT { ?fruit akutan:color akutan:violet . + akutan:bob akutan:dislikes ?fruit } + WHERE { ?fruit akutan:color akutan:purple } The `DELETE template` operation looks like this: @@ -347,14 +347,14 @@ Variables will have different behavior depending on where they appear: Note that the `DELETE template` operation can be used to delete a metafact without deleting the base fact: - DELETE { ?f beam:source beam:duh } - WHERE { ?f beam:banana beam:color beam:yellow } + DELETE { ?f akutan:source akutan:duh } + WHERE { ?f akutan:banana akutan:color akutan:yellow } Blank nodes will have different behavior depending on where they appear: - Blank nodes in the `WHERE` clause query will be handled the same as in `SELECT`. Per the Sparql 1.1 Query specification, they are treated more-or-less as - variables. Beam today does not allow blank nodes in queries, and changing + variables. Akutan today does not allow blank nodes in queries, and changing that behavior is outside the scope of this RFC. - Blank nodes will be prohibited in a `DELETE template` operation and in the `DELETE` section of a `DELETE template INSERT template` operation. @@ -365,11 +365,11 @@ Blank nodes will have different behavior depending on where they appear: for each solution (row) of the `WHERE` clause. If nil values occur from optional matches, the insert or delete will continue, -skipping over affected facts. In the following example, the `beam:email` facts +skipping over affected facts. In the following example, the `akutan:email` facts will remain unset for people that have no values for `foaf:mbox`: - INSERT { ?person beam:name ?name . - ?person beam:email ?email } + INSERT { ?person akutan:name ?name . + ?person akutan:email ?email } WHERE { ?person foaf:name ?name . OPTIONAL { ?person foaf:mbox ?email } } @@ -379,16 +379,16 @@ request with a parse error instead. Here's an example where `?foo` is unbound because it does not appear in the `WHERE` clause, and this implies a client error: - INSERT { ?fruit beam:taste ?foo } - WHERE { ?fruit beam:color beam:yellow } + INSERT { ?fruit akutan:taste ?foo } + WHERE { ?fruit akutan:color akutan:yellow } The Sparql 1.1 Update spec suggests that primitive values bound to subject or predicate fields be skipped over. This RFC proposes failing the request with a -schema violation instead. Here's an example, assuming `beam:size` has a +schema violation instead. Here's an example, assuming `akutan:size` has a numeric range: INSERT { ?size rdfs:label "but numbers can't have labels" } - WHERE { ?fruit beam:size ?size } + WHERE { ?fruit akutan:size ?size } ### Application-level consistency @@ -398,24 +398,24 @@ to maintain consistency in their data. This example (1) shows how to "update" an error in a base fact, but only if that fact exists: - DELETE { beam:simon foaf:givenName 'Simone' } - INSERT { beam:simon foaf:givenName 'Simon' } - WHERE { beam:simon foaf:givenName 'Simone' } + DELETE { akutan:simon foaf:givenName 'Simone' } + INSERT { akutan:simon foaf:givenName 'Simon' } + WHERE { akutan:simon foaf:givenName 'Simone' } The previous example (1) will orphan any metafacts on the deleted fact. This next example (2) would "port" some of them over: - DELETE { beam:simon foaf:givenName 'Simone' . + DELETE { akutan:simon foaf:givenName 'Simone' . ?fact ?p ?o } - INSERT { beam:simon foaf:givenName 'Simon' . + INSERT { akutan:simon foaf:givenName 'Simon' . ?fact ?p ?o } - WHERE { ?fact beam:simon foaf:givenName 'Simone' . + WHERE { ?fact akutan:simon foaf:givenName 'Simone' . OPTIONAL { ?fact ?p ?o } } This example (2) still has two limitations: - It would not port metafacts over that have the base fact as their object. A - pattern for such metafacts could be expressed in a similar way, but Beam + pattern for such metafacts could be expressed in a similar way, but Akutan does not currently support lookup-by-object queries. - It also would not port over any meta-meta-facts. Each level of meta would require an additional optional match pattern. @@ -423,18 +423,18 @@ This example (2) still has two limitations: This next example (3) shows how a user could maintain a uniqueness constraint on social security numbers: - INSERT { beam:bob us:ssn "123456789" } + INSERT { akutan:bob us:ssn "123456789" } WHERE { ?unused "HasExternalID" . FILTER NOT EXISTS { ?x us:ssn "123456789" } } Note that this WHERE clause query yields one result if SSN `123456789` is not already in use and no results if SSN `123456789` is already in use. Therefore, the example (3) assigns the SSN to Bob only if the SSN is not already assigned. -However, Beam does not implement any form of negation in queries at this time. +However, Akutan does not implement any form of negation in queries at this time. ## Reference-level explanation -This section first describes the changes to various components in Beam, +This section first describes the changes to various components in Akutan, then describes how to break up the changes into workable chunks. ### Components @@ -680,7 +680,7 @@ Third, the Sparql 1.1 Update syntax may not be the best one: - Some simple invariants, like uniqueness constraints, are awkward to express. - Blank nodes may lead to undesirable duplication of facts. -Fourth, this RFC assumes the Beam API server initiates transactions. An +Fourth, this RFC assumes the Akutan API server initiates transactions. An alternative would be to allow clients to do long-running transactions, as in SQL. Long-running transactions have the advantage of allowing clients to check application-level conditions, but they have the significant disadvantage of @@ -699,17 +699,17 @@ consider separately. An alternative to deleting facts internally would be to use metafacts to write deletions as normal facts. For example, one could delete: - ?f beam:banana beam:color beam:blue + ?f akutan:banana akutan:color akutan:blue by inserting: - ?f beam:status beam:redacted + ?f akutan:status akutan:redacted This would bring some new challenges: - Can you undelete a fact by redacting the redacted metafact? - Requiring users to check manually for redactions would be inconvenient. - - Beam currently does not store metafacts near facts, so automatically + - Akutan currently does not store metafacts near facts, so automatically checking for redactions would cause substantial overhead for queries. This RFC proposes three top-level API methods called Insert, Delete, and Update, @@ -720,7 +720,7 @@ compelling reason to do so. This RFC allows only `DELETE DATA ; INSERT DATA` compound requests. The reason for this is that it would be quite difficult to make arbitrary compound -requests atomic with Beam's current transaction mechanism. For example, if the +requests atomic with Akutan's current transaction mechanism. For example, if the second operation in a compound request required executing a Sparql query, it would need to somehow see the effects of the first operation. Yet, both operations must fit into a single log command. As a result, this RFC restricts @@ -780,23 +780,23 @@ _:alice "MA0123" . RDF* allows metafacts as objects, as in the following example: ``` -beam:bob beam:said <<_:alice "MA0123">> . +akutan:bob akutan:said <<_:alice "MA0123">> . ``` -The Dgraph and RDF* syntaxes may be nice to support in Beam. Both can be +The Dgraph and RDF* syntaxes may be nice to support in Akutan. Both can be represented using internal variables in the proposed parser output (AST), so -permitting either or both formats would be a localized change for Beam's parser +permitting either or both formats would be a localized change for Akutan's parser in the future. Dgraph's restriction that metafacts can only have facts in the subject position may be a useful one. In particular, it would allow efficient queries from a fact ID to all of its metafacts, would allow metafacts to be stored with their base -fact, and would allow Beam to delete metafacts when a base fact is deleted. +fact, and would allow Akutan to delete metafacts when a base fact is deleted. However, this restriction probably limits expressiveness too much. It's also -difficult to enforce in Beam in isolation, since a user can come along and +difficult to enforce in Akutan in isolation, since a user can come along and insert a metafact as `

#235`, where `#235` is a fact ID. Or, similarly, a user can assign an external ID to a fact ID,then use that -external ID later. To enforce Dgraph's restriction, Beam would need either: +external ID later. To enforce Dgraph's restriction, Akutan would need either: - To enforce the following restrictions first: - Disallow the use of KIDs, so that all updates use external IDs. @@ -847,14 +847,14 @@ there more compelling reasons to prefer one over another? ## Future possibilities As mentioned above, supporting additional formats for update requests may be -useful. Also, Beam should handle QNames, prefixes, IRIs, literals, units, and +useful. Also, Akutan should handle QNames, prefixes, IRIs, literals, units, and languages better and more consistently for both queries and updates. A Sparql protocol-compatible HTTP API for the update operations, as well as for queries, would certainly be useful for interoperability. However, such functionality seems out of scope for this RFC. -Beam's current Wipe request is similar or equivalent to Sparql 1.1 Update's +Akutan's current Wipe request is similar or equivalent to Sparql 1.1 Update's `CLEAR DEFAULT` request. We may want to add support for that in the Update API in the future, though it is dangerous to have readily available. @@ -864,7 +864,7 @@ This RFC assumes all operations are done against the "unnamed graph" / "default graph". Additional "named graphs" are an idea we may want to consider in the future. -Someday, Beam should probably purge deleted facts, rather than accumulating +Someday, Akutan should probably purge deleted facts, rather than accumulating them. This should be defined by some policy (like keep monthly snapshots). This RFC also proposes a mechanism for automatically mapping external IDs to KIDs when the external ID is first used, but there is no automated mechanism to diff --git a/local/config.json b/local/config.json index b48bbde..d688138 100644 --- a/local/config.json +++ b/local/config.json @@ -1,5 +1,5 @@ { - "beamLog": { + "akutanLog": { "type": "logspec", "locator": { "type": "static", diff --git a/proto/api/README.md b/proto/api/README.md index 3512a1a..70356a2 100644 --- a/proto/api/README.md +++ b/proto/api/README.md @@ -1,3 +1,3 @@ -# Beam API +# Akutan API -This directory defines the protobuf/grpc defintion of the primary API to Beam. +This directory defines the protobuf/grpc defintion of the primary API to Akutan. diff --git a/proto/api/beam_api.proto b/proto/api/akutan_api.proto similarity index 96% rename from proto/api/beam_api.proto rename to proto/api/akutan_api.proto index a26b759..97e25bf 100644 --- a/proto/api/beam_api.proto +++ b/proto/api/akutan_api.proto @@ -20,7 +20,7 @@ import "github.com/gogo/protobuf/gogoproto/gogo.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; -service BeamFactStore { +service FactStore { // query returns a table of results about the graph. Larger result tables // are returned as multiple chunks. rpc query(QueryRequest) returns (stream QueryResult); @@ -42,11 +42,11 @@ service BeamFactStore { message QueryRequest { // Which log index to run the query as of. LogIndex index = 1 [(gogoproto.nullable)=false]; - // The query in the beamQL format. + // The query in the akutanQL format. string query = 2; } -// LogIndex describes a position in the beam log, and a constraint that is used +// LogIndex describes a position in the log, and a constraint that is used // to pick a log index to perform the request as of. message LogIndex { LogIndexConstraint constraint = 1; @@ -56,7 +56,7 @@ message LogIndex { } // LogIndexConstraint defines different types of constraints that can be applied -// when determining a beam log index to apply to a request. +// when determining a log index to apply to a request. enum LogIndexConstraint { // The exact log index specified should be used. LogIndexExact = 0; @@ -115,8 +115,8 @@ message KGID { // identifiers are likely to be depreciated in the future in favor of just // using qNames. string qName = 1; - // EXPERIMENTAL: This is the internal id assigned by the beam service - uint64 beamId = 2; + // EXPERIMENTAL: This is the internal id assigned by the service + uint64 sysId = 2; } // KGString is a literal string. diff --git a/proto/logspec/README.md b/proto/logspec/README.md index 4d08922..fd98e41 100644 --- a/proto/logspec/README.md +++ b/proto/logspec/README.md @@ -1,13 +1,13 @@ # logspec -Beam currently (Aug 2018) uses Kafka as its log. We have identified +Akutan currently (Aug 2018) uses Kafka as its log. We have identified several problems with Kafka, including some with its protocol, which we've -described in the [Using Apache Kafka in Beam](../../docs/kakfa.md) document. +described in the [Using Apache Kafka in Akutan](../../docs/kakfa.md) document. This repository contains a specification for a hypothetical log service. The details of the specification are in the file `log.proto`, which is a gRPC service definition. -The `github.com/ebay/beam/blog/logspecclient` package provides a client implementation -that is integrated into Beam that can use a log that provides this API. +The `github.com/ebay/akutan/blog/logspecclient` package provides a client implementation +that is integrated into Akutan that can use a log that provides this API. diff --git a/src/github.com/ebay/beam/api/beam-api/main.go b/src/github.com/ebay/akutan/api/akutan-api/main.go similarity index 66% rename from src/github.com/ebay/beam/api/beam-api/main.go rename to src/github.com/ebay/akutan/api/akutan-api/main.go index acee7d1..284a7ce 100644 --- a/src/github.com/ebay/beam/api/beam-api/main.go +++ b/src/github.com/ebay/akutan/api/akutan-api/main.go @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Command beam-api runs a Beam API server daemon. +// Command akutan-api runs an Akutan API server daemon. package main import ( @@ -21,22 +21,22 @@ import ( "flag" "os" - api "github.com/ebay/beam/api/impl" - "github.com/ebay/beam/blog" - _ "github.com/ebay/beam/blog/kafka" // side-effect: registers "kafka" blog implementation - _ "github.com/ebay/beam/blog/logspecclient" // side-effect: registers "logspec" blog implementation - "github.com/ebay/beam/config" - "github.com/ebay/beam/util/debuglog" - "github.com/ebay/beam/util/signals" - "github.com/ebay/beam/util/tracing" - "github.com/ebay/beam/viewclient" + api "github.com/ebay/akutan/api/impl" + "github.com/ebay/akutan/blog" + _ "github.com/ebay/akutan/blog/kafka" // side-effect: registers "kafka" blog implementation + _ "github.com/ebay/akutan/blog/logspecclient" // side-effect: registers "logspec" blog implementation + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/util/debuglog" + "github.com/ebay/akutan/util/signals" + "github.com/ebay/akutan/util/tracing" + "github.com/ebay/akutan/viewclient" log "github.com/sirupsen/logrus" _ "google.golang.org/grpc/encoding/gzip" // imported for side-effect of registering compressor ) func main() { debuglog.Configure(debuglog.Options{}) - cfgFile := flag.String("cfg", "config.json", "Beam config file") + cfgFile := flag.String("cfg", "config.json", "config file") flag.Parse() cfg, err := config.Load(*cfgFile) @@ -44,14 +44,14 @@ func main() { log.Fatalf("Unable to load configuration: %v", err) } if cfg.API == nil { - log.Fatal("api field missing in Beam config") + log.Fatal("api field missing in config") } log.Infof("Using config: %+v", cfg) ctx, cancel := context.WithCancel(context.Background()) defer cancel() - tracer, err := tracing.New("beam-api", cfg.Tracing) + tracer, err := tracing.New("akutan-api", cfg.Tracing) if err != nil { log.Fatalf("Unable to initialize distributed tracing: %v", err) } @@ -61,16 +61,16 @@ func main() { if err != nil { log.Fatalf("Unable to initialize view client: %v", err) } - beamLog, err := blog.New(ctx, cfg) + bLog, err := blog.New(ctx, cfg) if err != nil { log.Fatalf("Unable to initialize log: %v", err) } - apiServer := api.New(cfg, viewClient, beamLog) + apiServer := api.New(cfg, viewClient, bLog) go func() { log.Infof("Server::Run returned %v", apiServer.Run()) os.Exit(-1) }() signals.WaitForQuit() - log.Info("Beam API server exiting") + log.Info("Akutan API server exiting") } diff --git a/src/github.com/ebay/beam/api/beam_api.go b/src/github.com/ebay/akutan/api/api.go similarity index 100% rename from src/github.com/ebay/beam/api/beam_api.go rename to src/github.com/ebay/akutan/api/api.go diff --git a/src/github.com/ebay/beam/api/beam_api_test.go b/src/github.com/ebay/akutan/api/api_test.go similarity index 98% rename from src/github.com/ebay/beam/api/beam_api_test.go rename to src/github.com/ebay/akutan/api/api_test.go index dd65d92..81a83be 100644 --- a/src/github.com/ebay/beam/api/beam_api_test.go +++ b/src/github.com/ebay/akutan/api/api_test.go @@ -59,10 +59,10 @@ func Test_String(t *testing.T) { obj: KGValue{Value: &KGValue_Timestamp{Timestamp: &KGTimestamp{Value: ts, Precision: Day}}}, exp: `2018-08-08`, }, { - obj: KGValue{Value: &KGValue_Node{Node: &KGID{QName: "foaf:knows", BeamId: 123}}}, + obj: KGValue{Value: &KGValue_Node{Node: &KGID{QName: "foaf:knows", SysId: 123}}}, exp: `foaf:knows`, }, { - obj: KGValue{Value: &KGValue_Node{Node: &KGID{QName: "", BeamId: 123}}}, + obj: KGValue{Value: &KGValue_Node{Node: &KGID{QName: "", SysId: 123}}}, exp: ``, }, { obj: KGValue{Value: nil}, diff --git a/src/github.com/ebay/beam/api/impl/doc.go b/src/github.com/ebay/akutan/api/impl/doc.go similarity index 98% rename from src/github.com/ebay/beam/api/impl/doc.go rename to src/github.com/ebay/akutan/api/impl/doc.go index 88c8be5..ba48f43 100644 --- a/src/github.com/ebay/beam/api/impl/doc.go +++ b/src/github.com/ebay/akutan/api/impl/doc.go @@ -13,5 +13,5 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Package impl implements the external gRPC and HTTP API servers for Beam. +// Package impl implements the external gRPC and HTTP API servers for Akutan. package impl diff --git a/src/github.com/ebay/beam/api/impl/grpc.go b/src/github.com/ebay/akutan/api/impl/grpc.go similarity index 89% rename from src/github.com/ebay/beam/api/impl/grpc.go rename to src/github.com/ebay/akutan/api/impl/grpc.go index 2d7fb52..4e76f63 100644 --- a/src/github.com/ebay/beam/api/impl/grpc.go +++ b/src/github.com/ebay/akutan/api/impl/grpc.go @@ -18,8 +18,8 @@ package impl import ( "net" - "github.com/ebay/beam/api" - grpcserverutil "github.com/ebay/beam/util/grpc/server" + "github.com/ebay/akutan/api" + grpcserverutil "github.com/ebay/akutan/util/grpc/server" grpc_prometheus "github.com/grpc-ecosystem/go-grpc-prometheus" log "github.com/sirupsen/logrus" ) @@ -31,7 +31,7 @@ func (s *Server) startGRPC() error { return err } grpcServer := grpcserverutil.NewServer() - api.RegisterBeamFactStoreServer(grpcServer, s) + api.RegisterFactStoreServer(grpcServer, s) grpc_prometheus.Register(grpcServer) go grpcServer.Serve(l) return nil diff --git a/src/github.com/ebay/beam/api/impl/http.go b/src/github.com/ebay/akutan/api/impl/http.go similarity index 85% rename from src/github.com/ebay/beam/api/impl/http.go rename to src/github.com/ebay/akutan/api/impl/http.go index a666c6d..83f4b9e 100644 --- a/src/github.com/ebay/beam/api/impl/http.go +++ b/src/github.com/ebay/akutan/api/impl/http.go @@ -21,34 +21,34 @@ import ( _ "net/http/pprof" // enable pprof endpoints "sync" - "github.com/ebay/beam/api/impl/kgstats" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/config" - "github.com/ebay/beam/query" - "github.com/ebay/beam/viewclient" + "github.com/ebay/akutan/api/impl/kgstats" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/query" + "github.com/ebay/akutan/viewclient" "github.com/julienschmidt/httprouter" "github.com/prometheus/client_golang/prometheus/promhttp" log "github.com/sirupsen/logrus" ) -// New returns a new instance of the API server, this exposes both an HTTP & gRPC API for consumers of the Beam system to use. +// New returns a new instance of the API server, this exposes both an HTTP & gRPC API for consumers of the Akutan system to use. // The returned Server instance will not start handling traffic until a subsequent call to Server.Run() -func New(cfg *config.Beam, src *viewclient.Client, beamLog blog.BeamLog) *Server { +func New(cfg *config.Akutan, src *viewclient.Client, aLog blog.AkutanLog) *Server { s := &Server{ - cfg: cfg, - source: src, - beamLog: beamLog, + cfg: cfg, + source: src, + aLog: aLog, } s.statsFetcher = kgstats.NewFetcher(s.getStats) s.queryEngine = query.New(s.statsFetcher.Last, s.source) return s } -// Server is an implementation of the external gRPC & HTTP interfaces to Beam +// Server is an implementation of the external gRPC & HTTP interfaces to Akutan type Server struct { - cfg *config.Beam + cfg *config.Akutan source *viewclient.Client - beamLog blog.BeamLog + aLog blog.AkutanLog statsFetcher *kgstats.Fetcher queryEngine queryEngine lock sync.Mutex diff --git a/src/github.com/ebay/beam/api/impl/http_diags.go b/src/github.com/ebay/akutan/api/impl/http_diags.go similarity index 96% rename from src/github.com/ebay/beam/api/impl/http_diags.go rename to src/github.com/ebay/akutan/api/impl/http_diags.go index a0dbf8d..f7e916e 100644 --- a/src/github.com/ebay/beam/api/impl/http_diags.go +++ b/src/github.com/ebay/akutan/api/impl/http_diags.go @@ -28,12 +28,12 @@ import ( "time" "unicode/utf8" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/cmp" - "github.com/ebay/beam/util/profiling" - "github.com/ebay/beam/util/table" - "github.com/ebay/beam/util/web" - "github.com/ebay/beam/viewclient" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/cmp" + "github.com/ebay/akutan/util/profiling" + "github.com/ebay/akutan/util/table" + "github.com/ebay/akutan/util/web" + "github.com/ebay/akutan/viewclient" "github.com/julienschmidt/httprouter" log "github.com/sirupsen/logrus" "golang.org/x/text/language" diff --git a/src/github.com/ebay/beam/api/impl/http_factstats.go b/src/github.com/ebay/akutan/api/impl/http_factstats.go similarity index 93% rename from src/github.com/ebay/beam/api/impl/http_factstats.go rename to src/github.com/ebay/akutan/api/impl/http_factstats.go index c79b355..3ef75dd 100644 --- a/src/github.com/ebay/beam/api/impl/http_factstats.go +++ b/src/github.com/ebay/akutan/api/impl/http_factstats.go @@ -18,9 +18,9 @@ package impl import ( "net/http" - "github.com/ebay/beam/rpc" - statsutil "github.com/ebay/beam/util/stats" - "github.com/ebay/beam/util/web" + "github.com/ebay/akutan/rpc" + statsutil "github.com/ebay/akutan/util/stats" + "github.com/ebay/akutan/util/web" "github.com/julienschmidt/httprouter" opentracing "github.com/opentracing/opentracing-go" ) diff --git a/src/github.com/ebay/beam/api/impl/http_params.go b/src/github.com/ebay/akutan/api/impl/http_params.go similarity index 98% rename from src/github.com/ebay/beam/api/impl/http_params.go rename to src/github.com/ebay/akutan/api/impl/http_params.go index c0fe651..4fee5ec 100644 --- a/src/github.com/ebay/beam/api/impl/http_params.go +++ b/src/github.com/ebay/akutan/api/impl/http_params.go @@ -20,7 +20,7 @@ import ( "strconv" "time" - "github.com/ebay/beam/util/web" + "github.com/ebay/akutan/util/web" ) // Silence bin/unused. diff --git a/src/github.com/ebay/beam/api/impl/http_query.go b/src/github.com/ebay/akutan/api/impl/http_query.go similarity index 95% rename from src/github.com/ebay/beam/api/impl/http_query.go rename to src/github.com/ebay/akutan/api/impl/http_query.go index e77fb69..d44b017 100644 --- a/src/github.com/ebay/beam/api/impl/http_query.go +++ b/src/github.com/ebay/akutan/api/impl/http_query.go @@ -21,14 +21,14 @@ import ( "net/http" "strconv" - "github.com/ebay/beam/api" - "github.com/ebay/beam/msg/facts" - "github.com/ebay/beam/query/planner" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/space" - "github.com/ebay/beam/util/web" - "github.com/ebay/beam/viewclient" - "github.com/ebay/beam/viewclient/fanout" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/msg/facts" + "github.com/ebay/akutan/query/planner" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/space" + "github.com/ebay/akutan/util/web" + "github.com/ebay/akutan/viewclient" + "github.com/ebay/akutan/viewclient/fanout" "github.com/julienschmidt/httprouter" opentracing "github.com/opentracing/opentracing-go" log "github.com/sirupsen/logrus" diff --git a/src/github.com/ebay/beam/api/impl/http_ride.go b/src/github.com/ebay/akutan/api/impl/http_ride.go similarity index 94% rename from src/github.com/ebay/beam/api/impl/http_ride.go rename to src/github.com/ebay/akutan/api/impl/http_ride.go index c17226d..cf6d5bd 100644 --- a/src/github.com/ebay/beam/api/impl/http_ride.go +++ b/src/github.com/ebay/akutan/api/impl/http_ride.go @@ -20,10 +20,10 @@ import ( "net/http" "strconv" - "github.com/ebay/beam/partitioning" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/errors" - "github.com/ebay/beam/util/web" + "github.com/ebay/akutan/partitioning" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/errors" + "github.com/ebay/akutan/util/web" "github.com/julienschmidt/httprouter" ) diff --git a/src/github.com/ebay/beam/api/impl/impl_kg.go b/src/github.com/ebay/akutan/api/impl/impl_kg.go similarity index 89% rename from src/github.com/ebay/beam/api/impl/impl_kg.go rename to src/github.com/ebay/akutan/api/impl/impl_kg.go index a4f4a92..dff9462 100644 --- a/src/github.com/ebay/beam/api/impl/impl_kg.go +++ b/src/github.com/ebay/akutan/api/impl/impl_kg.go @@ -21,25 +21,25 @@ import ( "fmt" "time" - "github.com/ebay/beam/api" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logencoder" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/cmp" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/util/tracing" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logencoder" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/cmp" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/util/tracing" opentracing "github.com/opentracing/opentracing-go" log "github.com/sirupsen/logrus" ) -// Wipe implements the Wipe function in the BeamFactStore gRPC API. If Wiping is enabled in the +// Wipe implements the Wipe function in the FactStore gRPC API. If Wiping is enabled in the // configuration this will delete all facts in the store. It is expected that this is only enabled // in development environments. This blocks until all active views have processed the Wipe request. func (s *Server) Wipe(ctx context.Context, w *api.WipeRequest) (*api.WipeResult, error) { span, ctx := opentracing.StartSpanFromContext(ctx, "append wipe") enc := logencoder.Encode(&logentry.WipeCommand{}) - index, err := s.beamLog.AppendSingle(ctx, enc) + index, err := s.aLog.AppendSingle(ctx, enc) span.Finish() if err != nil { return nil, err @@ -142,23 +142,23 @@ func (s *Server) resolveIndex(ctx context.Context, idx blog.Index) (blog.Index, tracing.UpdateMetric(span, metrics.resolveIndexLatencySeconds) defer span.Finish() - info, err := s.beamLog.Info(ctx) + info, err := s.aLog.Info(ctx) if err != nil { return 0, err } return info.LastIndex, nil } -// beamLogInfo is the subset of the blog.BeamLog interface used by +// aLogInfo is the subset of the blog.AkutanLog interface used by // resolveIndexConstraint & fetchLatestLogIndex. -type beamLogInfo interface { +type aLogInfo interface { Info(ctx context.Context) (*blog.Info, error) } // fetchRecentLogIndex returns the last known log index, which is probably // stale. As a special consideration, it only returns 0 if the log was empty at // the time the function was invoked. -func (s *Server) fetchRecentLogIndex(ctx context.Context, log beamLogInfo) (blog.Index, error) { +func (s *Server) fetchRecentLogIndex(ctx context.Context, log aLogInfo) (blog.Index, error) { s.lock.Lock() recent := s.locked.recentIndex s.lock.Unlock() @@ -172,7 +172,7 @@ func (s *Server) fetchRecentLogIndex(ctx context.Context, log beamLogInfo) (blog // and return a suitable log index to use. If 'idx' specifies an index we don't // know how to resolve, or has an invalid combination of index and constraint an // error is returned. -func (s *Server) resolveIndexConstraint(ctx context.Context, log beamLogInfo, idx api.LogIndex) (blog.Index, error) { +func (s *Server) resolveIndexConstraint(ctx context.Context, log aLogInfo, idx api.LogIndex) (blog.Index, error) { switch idx.Constraint { case api.LogIndexExact: if idx.Index == 0 { @@ -216,7 +216,7 @@ func (s *Server) resolveIndexConstraint(ctx context.Context, log beamLogInfo, id // fetchLatestLogIndex requests the latest log index from the log store and // returns it. -func (s *Server) fetchLatestLogIndex(ctx context.Context, log beamLogInfo) (blog.Index, error) { +func (s *Server) fetchLatestLogIndex(ctx context.Context, log aLogInfo) (blog.Index, error) { info, err := log.Info(ctx) if err != nil { return 0, err diff --git a/src/github.com/ebay/beam/api/impl/impl_kg_query.go b/src/github.com/ebay/akutan/api/impl/impl_kg_query.go similarity index 86% rename from src/github.com/ebay/beam/api/impl/impl_kg_query.go rename to src/github.com/ebay/akutan/api/impl/impl_kg_query.go index d10a210..281edda 100644 --- a/src/github.com/ebay/beam/api/impl/impl_kg_query.go +++ b/src/github.com/ebay/akutan/api/impl/impl_kg_query.go @@ -19,18 +19,18 @@ import ( "context" "fmt" - "github.com/ebay/beam/api" - "github.com/ebay/beam/query" - "github.com/ebay/beam/query/exec" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/errors" - "github.com/ebay/beam/util/parallel" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/query" + "github.com/ebay/akutan/query/exec" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/errors" + "github.com/ebay/akutan/util/parallel" log "github.com/sirupsen/logrus" ) // QueryFacts implements a streaming api for executing queries against the view store. -func (s *Server) QueryFacts(req *api.QueryFactsRequest, res api.BeamFactStore_QueryFactsServer) error { +func (s *Server) QueryFacts(req *api.QueryFactsRequest, res api.FactStore_QueryFactsServer) error { return s.queryFactsImpl(res.Context(), req, res.Send) } @@ -73,14 +73,14 @@ func (s *Server) queryFactsImpl(ctx context.Context, req *api.QueryFactsRequest, return errors.Any(wait(), err) } -// Query implements the query method in the BeamFactStore gRPC interface -func (s *Server) Query(req *api.QueryRequest, res api.BeamFactStore_QueryServer) error { +// Query implements the query method in the FactStore gRPC interface +func (s *Server) Query(req *api.QueryRequest, res api.FactStore_QueryServer) error { return s.query(res.Context(), req, res.Send) } func (s *Server) query(ctx context.Context, req *api.QueryRequest, send func(*api.QueryResult) error) error { log.Debugf("Query: %v", req) - index, err := s.resolveIndexConstraint(ctx, s.beamLog, req.Index) + index, err := s.resolveIndexConstraint(ctx, s.aLog, req.Index) if err != nil { return err } @@ -125,7 +125,7 @@ func toKGValue(o exec.Value) api.KGValue { r := api.KGValue{} var unit *api.KGID if o.KGObject.UnitID() != 0 { - unit = &api.KGID{QName: o.UnitExtID, BeamId: o.KGObject.UnitID()} + unit = &api.KGID{QName: o.UnitExtID, SysId: o.KGObject.UnitID()} } switch o.KGObject.ValueType() { case rpc.KtBool: @@ -135,11 +135,11 @@ func toKGValue(o exec.Value) api.KGValue { case rpc.KtInt64: r.Value = &api.KGValue_Int64{Int64: &api.KGInt64{Value: o.KGObject.ValInt64(), Unit: unit}} case rpc.KtKID: - r.Value = &api.KGValue_Node{Node: &api.KGID{QName: o.ExtID, BeamId: o.KGObject.ValKID()}} + r.Value = &api.KGValue_Node{Node: &api.KGID{QName: o.ExtID, SysId: o.KGObject.ValKID()}} case rpc.KtString: var lang *api.KGID if o.KGObject.LangID() != 0 { - lang = &api.KGID{QName: o.LangExtID, BeamId: o.KGObject.LangID()} + lang = &api.KGID{QName: o.LangExtID, SysId: o.KGObject.LangID()} } r.Value = &api.KGValue_Str{Str: &api.KGString{Value: o.KGObject.ValString(), Lang: lang}} case rpc.KtTimestamp: diff --git a/src/github.com/ebay/beam/api/impl/impl_kg_query_test.go b/src/github.com/ebay/akutan/api/impl/impl_kg_query_test.go similarity index 92% rename from src/github.com/ebay/beam/api/impl/impl_kg_query_test.go rename to src/github.com/ebay/akutan/api/impl/impl_kg_query_test.go index a4c5e5d..5e03581 100644 --- a/src/github.com/ebay/beam/api/impl/impl_kg_query_test.go +++ b/src/github.com/ebay/akutan/api/impl/impl_kg_query_test.go @@ -21,13 +21,13 @@ import ( "testing" "time" - "github.com/ebay/beam/api" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/config" - "github.com/ebay/beam/query" - "github.com/ebay/beam/query/exec" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/query" + "github.com/ebay/akutan/query/exec" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) @@ -100,7 +100,7 @@ func Test_Query(t *testing.T) { queryEngine := mockQuery{results: test.input, err: test.inputErr} s := Server{ queryEngine: &queryEngine, - cfg: &config.Beam{ + cfg: &config.Akutan{ API: &config.API{}, }, } @@ -166,14 +166,14 @@ func Test_ToKGValue(t *testing.T) { } tests := []test{{ input: exec.Value{KGObject: rpc.AKID(42), ExtID: "rdf:type"}, - expected: api.KGValue{Value: &api.KGValue_Node{Node: &api.KGID{QName: "rdf:type", BeamId: 42}}}, + expected: api.KGValue{Value: &api.KGValue_Node{Node: &api.KGID{QName: "rdf:type", SysId: 42}}}, }, { input: exec.Value{KGObject: rpc.AInt64(42, 0)}, expected: api.KGValue{Value: &api.KGValue_Int64{Int64: &api.KGInt64{Value: 42, Unit: nil}}}, }, { input: exec.Value{KGObject: rpc.AInt64(42, 10), UnitExtID: ""}, expected: api.KGValue{Value: &api.KGValue_Int64{Int64: &api.KGInt64{ - Value: 42, Unit: &api.KGID{QName: "", BeamId: 10}, + Value: 42, Unit: &api.KGID{QName: "", SysId: 10}, }}}, }, { input: exec.Value{KGObject: rpc.AFloat64(42, 0)}, @@ -181,7 +181,7 @@ func Test_ToKGValue(t *testing.T) { }, { input: exec.Value{KGObject: rpc.AFloat64(42, 10), UnitExtID: ""}, expected: api.KGValue{Value: &api.KGValue_Float64{Float64: &api.KGFloat64{ - Value: 42, Unit: &api.KGID{QName: "", BeamId: 10}, + Value: 42, Unit: &api.KGID{QName: "", SysId: 10}, }}}, }, { input: exec.Value{KGObject: rpc.ABool(true, 0)}, @@ -189,7 +189,7 @@ func Test_ToKGValue(t *testing.T) { }, { input: exec.Value{KGObject: rpc.ABool(true, 11), UnitExtID: ""}, expected: api.KGValue{Value: &api.KGValue_Bool{Bool: &api.KGBool{ - Value: true, Unit: &api.KGID{QName: "", BeamId: 11}, + Value: true, Unit: &api.KGID{QName: "", SysId: 11}, }}}, }, { input: exec.Value{KGObject: rpc.AString("Alice", 0)}, @@ -197,7 +197,7 @@ func Test_ToKGValue(t *testing.T) { }, { input: exec.Value{KGObject: rpc.AString("Alice", 11), LangExtID: "en"}, expected: api.KGValue{Value: &api.KGValue_Str{Str: &api.KGString{ - Value: "Alice", Lang: &api.KGID{QName: "en", BeamId: 11}, + Value: "Alice", Lang: &api.KGID{QName: "en", SysId: 11}, }}}, }, { input: exec.Value{KGObject: rpc.ATimestampYMD(2019, 1, 7, 0)}, diff --git a/src/github.com/ebay/beam/api/impl/impl_kg_test.go b/src/github.com/ebay/akutan/api/impl/impl_kg_test.go similarity index 98% rename from src/github.com/ebay/beam/api/impl/impl_kg_test.go rename to src/github.com/ebay/akutan/api/impl/impl_kg_test.go index 4fb44c9..c4084cd 100644 --- a/src/github.com/ebay/beam/api/impl/impl_kg_test.go +++ b/src/github.com/ebay/akutan/api/impl/impl_kg_test.go @@ -20,9 +20,9 @@ import ( "fmt" "testing" - "github.com/ebay/beam/api" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/api/impl/impl_kg_waitfor.go b/src/github.com/ebay/akutan/api/impl/impl_kg_waitfor.go similarity index 94% rename from src/github.com/ebay/beam/api/impl/impl_kg_waitfor.go rename to src/github.com/ebay/akutan/api/impl/impl_kg_waitfor.go index fd608fc..a050358 100644 --- a/src/github.com/ebay/beam/api/impl/impl_kg_waitfor.go +++ b/src/github.com/ebay/akutan/api/impl/impl_kg_waitfor.go @@ -19,9 +19,9 @@ import ( "context" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/util/clocks" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/util/clocks" + "github.com/ebay/akutan/util/cmp" log "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/api/impl/kgstats/fetcher.go b/src/github.com/ebay/akutan/api/impl/kgstats/fetcher.go similarity index 98% rename from src/github.com/ebay/beam/api/impl/kgstats/fetcher.go rename to src/github.com/ebay/akutan/api/impl/kgstats/fetcher.go index d32c600..4e548d3 100644 --- a/src/github.com/ebay/beam/api/impl/kgstats/fetcher.go +++ b/src/github.com/ebay/akutan/api/impl/kgstats/fetcher.go @@ -22,8 +22,8 @@ import ( "sync" "time" - "github.com/ebay/beam/query/planner" - "github.com/ebay/beam/util/clocks" + "github.com/ebay/akutan/query/planner" + "github.com/ebay/akutan/util/clocks" "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/api/impl/kgstats/fetcher_test.go b/src/github.com/ebay/akutan/api/impl/kgstats/fetcher_test.go similarity index 97% rename from src/github.com/ebay/beam/api/impl/kgstats/fetcher_test.go rename to src/github.com/ebay/akutan/api/impl/kgstats/fetcher_test.go index ba97bf7..ee4aff3 100644 --- a/src/github.com/ebay/beam/api/impl/kgstats/fetcher_test.go +++ b/src/github.com/ebay/akutan/api/impl/kgstats/fetcher_test.go @@ -21,9 +21,9 @@ import ( "testing" "time" - "github.com/ebay/beam/query/planner" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/clocks" + "github.com/ebay/akutan/query/planner" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/clocks" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/api/impl/metrics.go b/src/github.com/ebay/akutan/api/impl/metrics.go similarity index 94% rename from src/github.com/ebay/beam/api/impl/metrics.go rename to src/github.com/ebay/akutan/api/impl/metrics.go index c1d368c..3f860b1 100644 --- a/src/github.com/ebay/beam/api/impl/metrics.go +++ b/src/github.com/ebay/akutan/api/impl/metrics.go @@ -16,7 +16,7 @@ package impl import ( - metricsutil "github.com/ebay/beam/util/metrics" + metricsutil "github.com/ebay/akutan/util/metrics" "github.com/prometheus/client_golang/prometheus" ) @@ -30,7 +30,7 @@ func init() { mr := metricsutil.Registry{R: prometheus.DefaultRegisterer} metrics = apiMetrics{ resolveIndexLatencySeconds: mr.NewSummary(prometheus.SummaryOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "api", Name: "resolve_index_latency_seconds", Help: `The time it takes to fetch the latest linearizable index from the log.`, diff --git a/src/github.com/ebay/beam/api/impl/update.go b/src/github.com/ebay/akutan/api/impl/update.go similarity index 80% rename from src/github.com/ebay/beam/api/impl/update.go rename to src/github.com/ebay/akutan/api/impl/update.go index 05daff8..91480dc 100644 --- a/src/github.com/ebay/beam/api/impl/update.go +++ b/src/github.com/ebay/akutan/api/impl/update.go @@ -19,19 +19,19 @@ import ( "context" "time" - "github.com/ebay/beam/api" - "github.com/ebay/beam/update" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/update" ) -// Insert implements the gRPC method of the BeamFactStore service. +// Insert implements the gRPC method of the FactStore service. func (s *Server) Insert(ctx context.Context, req *api.InsertRequest) (*api.InsertResult, error) { // TODO: we should probably do this on all our RPC handlers ctx, cancel := context.WithTimeout(ctx, 30*time.Second) defer cancel() - recentIdx, err := s.fetchRecentLogIndex(ctx, s.beamLog) + recentIdx, err := s.fetchRecentLogIndex(ctx, s.aLog) if err != nil { return nil, err } - return update.Insert(ctx, req, recentIdx, s.source, s.beamLog) + return update.Insert(ctx, req, recentIdx, s.source, s.aLog) } diff --git a/src/github.com/ebay/beam/api/readme.go b/src/github.com/ebay/akutan/api/readme.go similarity index 95% rename from src/github.com/ebay/beam/api/readme.go rename to src/github.com/ebay/akutan/api/readme.go index 635c293..d991a6a 100644 --- a/src/github.com/ebay/beam/api/readme.go +++ b/src/github.com/ebay/akutan/api/readme.go @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Package api contains ProtoBuf-generated types for the external gRPC API to Beam. +// Package api contains ProtoBuf-generated types for the external gRPC API to Akutan. package api /* @@ -79,12 +79,12 @@ API server. The API server will convert these types from the rpc package into their API equivalents. This allows us to easily evolve the external API and our internal APIs. -API types are defined in proto/api/beam_api.proto file +API types are defined in proto/api/akutan_api.proto file logentry types are defined in the logentry package, see -src/github.com/ebay/beam/logentry/commands.proto +src/github.com/ebay/akutan/logentry/commands.proto rpc types are defined in the rpc package, see -src/github.com/ebay/beam/rpc/views.proto +src/github.com/ebay/akutan/rpc/views.proto */ diff --git a/src/github.com/ebay/beam/blog/kafka/kafka.go b/src/github.com/ebay/akutan/blog/kafka/kafka.go similarity index 72% rename from src/github.com/ebay/beam/blog/kafka/kafka.go rename to src/github.com/ebay/akutan/blog/kafka/kafka.go index 6c4e08c..1b12404 100644 --- a/src/github.com/ebay/beam/blog/kafka/kafka.go +++ b/src/github.com/ebay/akutan/blog/kafka/kafka.go @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Package kafka implements a Kafka client as a blog.BeamLog. +// Package kafka implements a Kafka client as a blog.AkutanLog. package kafka import ( @@ -21,20 +21,20 @@ import ( "fmt" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/config" - "github.com/ebay/beam/discovery" - "github.com/ebay/beam/util/clocks" - "github.com/ebay/beam/util/errors" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/discovery" + "github.com/ebay/akutan/util/clocks" + "github.com/ebay/akutan/util/errors" log "github.com/sirupsen/logrus" sarama "gopkg.in/Shopify/sarama.v1" ) -const topic = "beam" +const topic = "akutan" -// Log is a client to Kafka. It implements blog.BeamLog. +// Log is a client to Kafka. It implements blog.AkutanLog. // TODO: many of these methods are misbehaved in that they handle errors -// differently than described in blog.BeamLog. +// differently than described in blog.AkutanLog. type Log struct { client sarama.Client producer sarama.SyncProducer @@ -44,14 +44,14 @@ type Log struct { func init() { blog.Factories["kafka"] = func( - ctx context.Context, cfg *config.Beam, brokers discovery.Locator, - ) (blog.BeamLog, error) { + ctx context.Context, cfg *config.Akutan, brokers discovery.Locator, + ) (blog.AkutanLog, error) { return NewLog(ctx, cfg, brokers) } } // NewLog constructs a new Log. -func NewLog(ctx context.Context, cfg *config.Beam, brokers discovery.Locator) (*Log, error) { +func NewLog(ctx context.Context, cfg *config.Akutan, brokers discovery.Locator) (*Log, error) { sarama.MaxRequestSize = 11 * 1024 * 1024 kconfig := sarama.NewConfig() kconfig.Version = sarama.V0_11_0_0 // need 0.11 for DeleteRecords @@ -64,7 +64,7 @@ func NewLog(ctx context.Context, cfg *config.Beam, brokers discovery.Locator) (* kconfig.Consumer.Fetch.Default = 4 * 1024 * 1024 kconfig.Consumer.Fetch.Max = 25 * 1024 * 1024 kconfig.Consumer.MaxProcessingTime = time.Second / 2 - kconfig.ClientID = "beam" + kconfig.ClientID = "akutan" // Look for at least one Kafka broker. if len(brokers.Cached().Endpoints) == 0 { @@ -115,25 +115,25 @@ func NewLog(ctx context.Context, cfg *config.Beam, brokers discovery.Locator) (* return bl, nil } -func (beamLog *Log) lastIndex(context.Context) (index int64, err error) { - offset, err := beamLog.client.GetOffset(topic, 0, sarama.OffsetNewest) +func (aLog *Log) lastIndex(context.Context) (index int64, err error) { + offset, err := aLog.client.GetOffset(topic, 0, sarama.OffsetNewest) return offset, err } -func (beamLog *Log) firstIndex(context.Context) (index int64, err error) { - offset, err := beamLog.client.GetOffset(topic, 0, sarama.OffsetOldest) +func (aLog *Log) firstIndex(context.Context) (index int64, err error) { + offset, err := aLog.client.GetOffset(topic, 0, sarama.OffsetOldest) return offset + 1, err } -// Info implements the method from blog.BeamLog. -func (beamLog *Log) Info(ctx context.Context) (*blog.Info, error) { +// Info implements the method from blog.AkutanLog. +func (aLog *Log) Info(ctx context.Context) (*blog.Info, error) { var info blog.Info - lastIndex, err := beamLog.lastIndex(ctx) + lastIndex, err := aLog.lastIndex(ctx) if err != nil { return nil, err } info.LastIndex = uint64(lastIndex) - firstIndex, err := beamLog.firstIndex(ctx) + firstIndex, err := aLog.firstIndex(ctx) if err != nil { return nil, err } @@ -143,11 +143,11 @@ func (beamLog *Log) Info(ctx context.Context) (*blog.Info, error) { return &info, nil } -// InfoStream implements the method from blog.BeamLog. -func (beamLog *Log) InfoStream(ctx context.Context, infoCh chan<- *blog.Info) error { +// InfoStream implements the method from blog.AkutanLog. +func (aLog *Log) InfoStream(ctx context.Context, infoCh chan<- *blog.Info) error { defer close(infoCh) for { - info, err := beamLog.Info(ctx) + info, err := aLog.Info(ctx) if err != nil { return err } @@ -156,11 +156,11 @@ func (beamLog *Log) InfoStream(ctx context.Context, infoCh chan<- *blog.Info) er } } -// Append implements the method from blog.BeamLog. -func (beamLog *Log) Append(ctx context.Context, msgs [][]byte) ([]blog.Index, error) { +// Append implements the method from blog.AkutanLog. +func (aLog *Log) Append(ctx context.Context, msgs [][]byte) ([]blog.Index, error) { indexes := make([]blog.Index, len(msgs)) for i := range msgs { - _, offset, err := beamLog.producer.SendMessage(&sarama.ProducerMessage{ + _, offset, err := aLog.producer.SendMessage(&sarama.ProducerMessage{ Topic: topic, Value: sarama.ByteEncoder(msgs[i]), }) @@ -172,26 +172,26 @@ func (beamLog *Log) Append(ctx context.Context, msgs [][]byte) ([]blog.Index, er return indexes, nil } -// AppendSingle implements the method from blog.BeamLog. -func (beamLog *Log) AppendSingle(ctx context.Context, data []byte) (blog.Index, error) { - indexes, err := beamLog.Append(ctx, [][]byte{data}) +// AppendSingle implements the method from blog.AkutanLog. +func (aLog *Log) AppendSingle(ctx context.Context, data []byte) (blog.Index, error) { + indexes, err := aLog.Append(ctx, [][]byte{data}) if err != nil { return 0, err } return indexes[0], err } -// Read implements the method from blog.BeamLog. -func (beamLog *Log) Read(ctx context.Context, startIndex blog.Index, entriesCh chan<- []blog.Entry) error { +// Read implements the method from blog.AkutanLog. +func (aLog *Log) Read(ctx context.Context, startIndex blog.Index, entriesCh chan<- []blog.Entry) error { defer close(entriesCh) // When unable to determine log start/end index due to Kafka unavailable or // network failure, wait for a brief duration and continue to retry. for { - fi, err1 := beamLog.firstIndex(ctx) - li, err2 := beamLog.lastIndex(ctx) + fi, err1 := aLog.firstIndex(ctx) + li, err2 := aLog.lastIndex(ctx) if err := errors.Any(err1, err2); err == nil { - log.Infof("beamLog topic %s: firstIndex:%d, lastIndex:%d startConsumer startIndex:%d", topic, fi, li, startIndex) + log.Infof("aLog topic %s: firstIndex:%d, lastIndex:%d startConsumer startIndex:%d", topic, fi, li, startIndex) break } else { log.Errorf("Unable to determine log start/end: %v", err) @@ -201,7 +201,7 @@ func (beamLog *Log) Read(ctx context.Context, startIndex blog.Index, entriesCh c if startIndex == 0 { startIndex = 1 } - consumer, err := beamLog.consumer.ConsumePartition(topic, 0, int64(startIndex)-1) + consumer, err := aLog.consumer.ConsumePartition(topic, 0, int64(startIndex)-1) if err != nil { if err == sarama.ErrOffsetOutOfRange { return blog.TruncatedError{Requested: startIndex} @@ -265,8 +265,8 @@ func (beamLog *Log) Read(ctx context.Context, startIndex blog.Index, entriesCh c } } -// Discard implements the method from blog.BeamLog. -func (beamLog *Log) Discard(ctx context.Context, startIndex blog.Index) error { +// Discard implements the method from blog.AkutanLog. +func (aLog *Log) Discard(ctx context.Context, startIndex blog.Index) error { request := sarama.DeleteRecordsRequest{ Topics: map[string]*sarama.DeleteRecordsRequestTopic{ topic: &sarama.DeleteRecordsRequestTopic{ @@ -276,7 +276,7 @@ func (beamLog *Log) Discard(ctx context.Context, startIndex blog.Index) error { }, }, } - response, err := beamLog.broker.DeleteRecords(&request) + response, err := aLog.broker.DeleteRecords(&request) if err != nil { return err } diff --git a/src/github.com/ebay/beam/blog/beamlog.go b/src/github.com/ebay/akutan/blog/log.go similarity index 76% rename from src/github.com/ebay/beam/blog/beamlog.go rename to src/github.com/ebay/akutan/blog/log.go index c1bccaa..47ceac2 100644 --- a/src/github.com/ebay/beam/blog/beamlog.go +++ b/src/github.com/ebay/akutan/blog/log.go @@ -13,17 +13,17 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Package blog contains interfaces to Beam's data log. +// Package blog contains interfaces to Akutan's data log. package blog import ( "context" "fmt" - "github.com/ebay/beam/config" - "github.com/ebay/beam/discovery" - "github.com/ebay/beam/discovery/discoveryfactory" - "github.com/ebay/beam/logspec" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/discovery" + "github.com/ebay/akutan/discovery/discoveryfactory" + "github.com/ebay/akutan/logspec" ) // An Index identifies entries in the log. It starts at 1. @@ -35,8 +35,8 @@ type Entry = logspec.Entry // Info describes log metadata. type Info = logspec.InfoReply_OK -// A BeamLog is a client to Beam's data log. -type BeamLog interface { +// A AkutanLog is a client to Akutan's data log. +type AkutanLog interface { // Append adds entries to the log. The data items might end up out of order in // the log and at non-consecutive indexes. If all the entries are appended // successfully, returns the corresponding indexes (in a slice the same length @@ -71,10 +71,10 @@ type BeamLog interface { InfoStream(ctx context.Context, infoCh chan<- *Info) error } -// Disconnector is an optional interface that some BeamLog implementations provide. +// Disconnector is an optional interface that some AkutanLog implementations provide. type Disconnector interface { // Disconnect closes the connection to the current server, without blocking. The - // BeamLog instance remains usable; it will automatically re-connect as needed. + // AkutanLog instance remains usable; it will automatically re-connect as needed. // // This is used by the logping package to measure the latency of different log // servers. @@ -89,7 +89,7 @@ type TruncatedError struct { // Error implements the method defined by 'error'. func (err TruncatedError) Error() string { - return fmt.Sprintf("Beam log truncated before requested index (%v)", + return fmt.Sprintf("Akutan log truncated before requested index (%v)", err.Requested) } @@ -99,14 +99,14 @@ func IsTruncatedError(err error) bool { return ok } -// A ClosedError is returned when attempting to use a BeamLog after the log's -// background context has been canceled. This error indicates the BeamLog +// A ClosedError is returned when attempting to use a AkutanLog after the log's +// background context has been canceled. This error indicates the AkutanLog // instance is no longer useful and the process is likely shutting down. type ClosedError struct{} // Error implements the method defined by 'error'. func (err ClosedError) Error() string { - return "BeamLog client has been closed (client shutdown)" + return "AkutanLog client has been closed (client shutdown)" } // IsClosedError returns true if err has type ClosedError, false otherwise. @@ -115,10 +115,10 @@ func IsClosedError(err error) bool { return ok } -// Factories is a registry of named BeamLog constructors. +// Factories is a registry of named AkutanLog constructors. var Factories = make(map[string]Factory) -// A Factory creates a BeamLog instance. The only errors returned are fatal +// A Factory creates a AkutanLog instance. The only errors returned are fatal // errors in the configuration. // // A factory returns immediately. The given context is used for all background @@ -126,19 +126,19 @@ var Factories = make(map[string]Factory) // current requests, and prevent future requests from opening new connections. // // Note, however, that the Kafka factory is not well-behaved at this time. -type Factory = func(ctx context.Context, cfg *config.Beam, servers discovery.Locator) (BeamLog, error) +type Factory = func(ctx context.Context, cfg *config.Akutan, servers discovery.Locator) (AkutanLog, error) -// New returns a new BeamLog instance. It assumes the factory corresponding to -// cfg.BeamLog (default "kafka") has been registered in the Factories map. It +// New returns a new AkutanLog instance. It assumes the factory corresponding to +// cfg.AkutanLog (default "kafka") has been registered in the Factories map. It // takes the same arguments as Factory. // // It assumes that cfg.BrokerList is set to a list of host:port pairs. -func New(ctx context.Context, cfg *config.Beam) (BeamLog, error) { - factory, ok := Factories[cfg.BeamLog.Type] +func New(ctx context.Context, cfg *config.Akutan) (AkutanLog, error) { + factory, ok := Factories[cfg.AkutanLog.Type] if !ok { - return nil, fmt.Errorf("no BeamLog %v factory found", cfg.BeamLog.Type) + return nil, fmt.Errorf("no AkutanLog %v factory found", cfg.AkutanLog.Type) } - locator, err := discoveryfactory.NewLocator(ctx, &cfg.BeamLog.Locator) + locator, err := discoveryfactory.NewLocator(ctx, &cfg.AkutanLog.Locator) if err != nil { return nil, err } diff --git a/src/github.com/ebay/beam/blog/logspecclient/append.go b/src/github.com/ebay/akutan/blog/logspecclient/append.go similarity index 86% rename from src/github.com/ebay/beam/blog/logspecclient/append.go rename to src/github.com/ebay/akutan/blog/logspecclient/append.go index 43a8060..4f2db93 100644 --- a/src/github.com/ebay/beam/blog/logspecclient/append.go +++ b/src/github.com/ebay/akutan/blog/logspecclient/append.go @@ -19,8 +19,8 @@ import ( "context" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logspec" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logspec" "github.com/sirupsen/logrus" ) @@ -81,17 +81,17 @@ func (batch *appendBatch) bytes() int { return size } -// AppendSingle implements the method defined by blog.BeamLog. -func (beamLog *Log) AppendSingle(ctx context.Context, data []byte) (blog.Index, error) { - indexes, err := beamLog.Append(ctx, [][]byte{data}) +// AppendSingle implements the method defined by blog.AkutanLog. +func (aLog *Log) AppendSingle(ctx context.Context, data []byte) (blog.Index, error) { + indexes, err := aLog.Append(ctx, [][]byte{data}) if err != nil { return 0, err } return indexes[0], err } -// Append implements the method defined by blog.BeamLog. -func (beamLog *Log) Append(ctx context.Context, data [][]byte) ([]blog.Index, error) { +// Append implements the method defined by blog.AkutanLog. +func (aLog *Log) Append(ctx context.Context, data [][]byte) ([]blog.Index, error) { // futures contains the data as split into different requests. Each future is // <= appendBatchSize in total bytes (or consists of a single larger entry). futures := make([]appendFuture, 0, 1) @@ -118,12 +118,12 @@ func (beamLog *Log) Append(ctx context.Context, data [][]byte) ([]blog.Index, er totalSize += bytesLen(data[i]) switch { // i is a single large entry - case bytesLen(data[i]) > beamLog.appendBatchSize: + case bytesLen(data[i]) > aLog.appendBatchSize: addFuture(i) size = bytesLen(data[i]) // [start:i] is full - case size+bytesLen(data[i]) > beamLog.appendBatchSize: + case size+bytesLen(data[i]) > aLog.appendBatchSize: addFuture(i) size = bytesLen(data[i]) @@ -140,9 +140,9 @@ func (beamLog *Log) Append(ctx context.Context, data [][]byte) ([]blog.Index, er select { case <-ctx.Done(): return nil, ctx.Err() - case <-beamLog.ctx.Done(): + case <-aLog.ctx.Done(): return nil, blog.ClosedError{} - case beamLog.unbatchedAppends <- future: + case aLog.unbatchedAppends <- future: } } @@ -152,7 +152,7 @@ func (beamLog *Log) Append(ctx context.Context, data [][]byte) ([]blog.Index, er select { case <-ctx.Done(): return nil, ctx.Err() - case <-beamLog.ctx.Done(): + case <-aLog.ctx.Done(): return nil, blog.ClosedError{} case rangeIndexes := <-future.resCh: indexes = append(indexes, rangeIndexes...) @@ -164,7 +164,7 @@ func (beamLog *Log) Append(ctx context.Context, data [][]byte) ([]blog.Index, er // batchAppends is a long-running goroutine that collects append futures from // the unbatchedAppends channel, combines small ones together, and sends the // combined batch to the batchedAppends channel. -func (beamLog *Log) batchAppends() { +func (aLog *Log) batchAppends() { // The current batch that futures are accumulated into. var batch []appendFuture batchBytes := 0 @@ -179,10 +179,10 @@ func (beamLog *Log) batchAppends() { batchedAppends chan appendBatch } if len(overflow) == 0 { - masked.unbatchedAppends = beamLog.unbatchedAppends + masked.unbatchedAppends = aLog.unbatchedAppends } if len(batch) > 0 { - masked.batchedAppends = beamLog.batchedAppends + masked.batchedAppends = aLog.batchedAppends } select { @@ -192,7 +192,7 @@ func (beamLog *Log) batchAppends() { for _, data := range future.data { futureBytes += bytesLen(data) } - if batchBytes+futureBytes <= beamLog.appendBatchSize { + if batchBytes+futureBytes <= aLog.appendBatchSize { batch = append(batch, future) batchBytes += futureBytes } else { @@ -210,7 +210,7 @@ func (beamLog *Log) batchAppends() { } // Log is exiting. - case <-beamLog.ctx.Done(): + case <-aLog.ctx.Done(): return } } @@ -219,7 +219,7 @@ func (beamLog *Log) batchAppends() { // runAppends is a long-running goroutine that is the main event loop for // driving appends. It coordinates opening streams, sending requests, and // receiving replies. -func (beamLog *Log) runAppends() { +func (aLog *Log) runAppends() { // An open stream or nil. var stream *appendStream @@ -258,7 +258,7 @@ func (beamLog *Log) runAppends() { } // The main event loop. - for beamLog.ctx.Err() == nil { + for aLog.ctx.Err() == nil { // Remove the expired futures from the first batch in the queue. for len(queue) > 0 { queue[0].filterExpired() @@ -272,15 +272,15 @@ func (beamLog *Log) runAppends() { // append will never open a stream. if len(queue) > 0 && stream == nil { var err error - stream, err = beamLog.newAppendStream() - if err != nil { // ErrClosed or beamLog.ctx.Err() + stream, err = aLog.newAppendStream() + if err != nil { // ErrClosed or aLog.ctx.Err() return } } var logger *logrus.Entry if stream == nil { - logger = beamLog.logger.WithField("RPC", "Append") + logger = aLog.logger.WithField("RPC", "Append") } else { logger = stream.logger } @@ -299,7 +299,7 @@ func (beamLog *Log) runAppends() { // panic when using queue[0] directly. var first *appendBatch if len(queue) == 0 { - masked.batchedAppends = beamLog.batchedAppends + masked.batchedAppends = aLog.batchedAppends } if stream != nil { masked.streamCtxDone = stream.ctx.Done() @@ -314,7 +314,7 @@ func (beamLog *Log) runAppends() { // Wait for the next event. select { // The entire Log is shutting down. - case <-beamLog.ctx.Done(): + case <-aLog.ctx.Done(): return // The stream is closed: clean up. @@ -359,7 +359,7 @@ func (beamLog *Log) runAppends() { case *logspec.AppendReply_Redirect: stream.cancel() - _ = beamLog.handleRedirect(stream.client, res.Redirect) + _ = aLog.handleRedirect(stream.client, res.Redirect) logger.WithFields(logrus.Fields{ "from": stream.client.server(), "to": res.Redirect.Host, @@ -369,15 +369,15 @@ func (beamLog *Log) runAppends() { case *logspec.AppendReply_Full: stream.cancel() logger.Errorf("Blocked: log capacity is full") - beamLog.disconnectFrom(stream.client) - _ = beamLog.clock.SleepUntil(beamLog.ctx, - beamLog.clock.Now().Add(fullBackoff)) + aLog.disconnectFrom(stream.client) + _ = aLog.clock.SleepUntil(aLog.ctx, + aLog.clock.Now().Add(fullBackoff)) reset() default: // unknown non-OK reply stream.cancel() logger.Warnf("Got unknown non-OK reply") - beamLog.handleUnknownError(beamLog.ctx, stream.client) + aLog.handleUnknownError(aLog.ctx, stream.client) reset() } @@ -385,7 +385,7 @@ func (beamLog *Log) runAppends() { case err := <-masked.streamErrCh: stream.cancel() logger.WithError(err).Warnf("Got error when receiving") - beamLog.handleRPCError(beamLog.ctx, stream.client, err) + aLog.handleRPCError(aLog.ctx, stream.client, err) reset() } } @@ -395,7 +395,7 @@ func (beamLog *Log) runAppends() { // It provides a channel-based interface, whereas gRPC only has blocking calls. type appendStream struct { logger *logrus.Entry - // A child of beamLog.ctx. The stream.stream.Context() is a child of this one. + // A child of aLog.ctx. The stream.stream.Context() is a child of this one. ctx context.Context // Aborts 'ctx'. cancel func() @@ -408,11 +408,11 @@ type appendStream struct { // newAppendStream opens an appendStream with a server. The only error it // returns is ErrClosed. -func (beamLog *Log) newAppendStream() (*appendStream, error) { +func (aLog *Log) newAppendStream() (*appendStream, error) { for { - logger := beamLog.logger.WithField("RPC", "Append") - ctx, cancel := context.WithCancel(beamLog.ctx) - client, err := beamLog.getConnection() + logger := aLog.logger.WithField("RPC", "Append") + ctx, cancel := context.WithCancel(aLog.ctx) + client, err := aLog.getConnection() if err != nil { // blog.ErrClosed cancel() return nil, err @@ -427,7 +427,7 @@ func (beamLog *Log) newAppendStream() (*appendStream, error) { logger.WithFields(logrus.Fields{ "error": err, }).Warnf("Opening stream failed") - beamLog.handleRPCError(ctx, client, err) + aLog.handleRPCError(ctx, client, err) continue } stream := &appendStream{ @@ -440,8 +440,8 @@ func (beamLog *Log) newAppendStream() (*appendStream, error) { replyCh: make(chan *logspec.AppendReply), errCh: make(chan error), } - go beamLog.sendAppendRequests(stream) - go beamLog.recvAppendReplies(stream) + go aLog.sendAppendRequests(stream) + go aLog.recvAppendReplies(stream) return stream, nil } } @@ -449,7 +449,7 @@ func (beamLog *Log) newAppendStream() (*appendStream, error) { // sendAppendRequests sends request on a single append stream. This goroutine // has the same lifetime as the stream, and there is one per stream. It cancels // the stream and returns upon encountering any errors. -func (beamLog *Log) sendAppendRequests(stream *appendStream) { +func (aLog *Log) sendAppendRequests(stream *appendStream) { defer stream.cancel() seq := uint64(0) for { @@ -479,7 +479,7 @@ func (beamLog *Log) sendAppendRequests(stream *appendStream) { // them to the stream's replyCh. This goroutine has the same lifetime as the // stream, and there is one per stream. It cancels the stream, sends on // stream.errCh, and returns upon encountering any errors. -func (beamLog *Log) recvAppendReplies(stream *appendStream) { +func (aLog *Log) recvAppendReplies(stream *appendStream) { defer stream.cancel() for { res, err := stream.stream.Recv() diff --git a/src/github.com/ebay/beam/blog/logspecclient/append_test.go b/src/github.com/ebay/akutan/blog/logspecclient/append_test.go similarity index 98% rename from src/github.com/ebay/beam/blog/logspecclient/append_test.go rename to src/github.com/ebay/akutan/blog/logspecclient/append_test.go index 8add3b6..cefe634 100644 --- a/src/github.com/ebay/beam/blog/logspecclient/append_test.go +++ b/src/github.com/ebay/akutan/blog/logspecclient/append_test.go @@ -22,9 +22,9 @@ import ( "testing" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/util/random" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/util/random" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/blog/logspecclient/client.go b/src/github.com/ebay/akutan/blog/logspecclient/client.go similarity index 66% rename from src/github.com/ebay/beam/blog/logspecclient/client.go rename to src/github.com/ebay/akutan/blog/logspecclient/client.go index beed04c..530b474 100644 --- a/src/github.com/ebay/beam/blog/logspecclient/client.go +++ b/src/github.com/ebay/akutan/blog/logspecclient/client.go @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Package logspecclient implements a client for the beam/logspec API. +// Package logspecclient implements a client for the akutan/logspec API. package logspecclient import ( @@ -26,13 +26,13 @@ import ( "sync" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/config" - "github.com/ebay/beam/discovery" - "github.com/ebay/beam/logspec" - "github.com/ebay/beam/util/clocks" - grpcclientutil "github.com/ebay/beam/util/grpc/client" - "github.com/ebay/beam/util/random" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/discovery" + "github.com/ebay/akutan/logspec" + "github.com/ebay/akutan/util/clocks" + grpcclientutil "github.com/ebay/akutan/util/grpc/client" + "github.com/ebay/akutan/util/random" "github.com/sirupsen/logrus" "google.golang.org/grpc" "google.golang.org/grpc/codes" @@ -44,8 +44,8 @@ const fullBackoff = 2 * backoff func init() { factory := func( - ctx context.Context, cfg *config.Beam, servers discovery.Locator, - ) (blog.BeamLog, error) { + ctx context.Context, cfg *config.Akutan, servers discovery.Locator, + ) (blog.AkutanLog, error) { return New(ctx, cfg, servers) } blog.Factories["logspec"] = factory @@ -103,7 +103,7 @@ func (cc *clientConn) server() string { return cc.locked.server } -// internalOptions contains various things used by the beamLog that unit tests +// internalOptions contains various things used by the akutanLog that unit tests // may want to have different values for. type internalOptions struct { clock clocks.Source @@ -122,19 +122,17 @@ func defaultInternalOptions() internalOptions { // New constructs a Log. func New( ctx context.Context, - cfg *config.Beam, - servers discovery.Locator, + cfg *config.Akutan, servers discovery.Locator, ) (*Log, error) { return newLog(ctx, cfg, servers, defaultInternalOptions()) } func newLog( ctx context.Context, - cfg *config.Beam, - servers discovery.Locator, + cfg *config.Akutan, servers discovery.Locator, opts internalOptions, ) (*Log, error) { - beamLog := &Log{ + aLog := &Log{ ctx: ctx, logger: logrus.NewEntry(logrus.StandardLogger()), servers: servers, @@ -147,31 +145,31 @@ func newLog( // Run cleanup after ctx is canceled. go func() { <-ctx.Done() - beamLog.Disconnect() + aLog.Disconnect() }() if opts.startGoroutines { - go beamLog.batchAppends() - go beamLog.runAppends() + go aLog.batchAppends() + go aLog.runAppends() } - return beamLog, nil + return aLog, nil } -// Discard implements the method declared in blog.BeamLog. -func (beamLog *Log) Discard(ctx context.Context, firstIndex blog.Index) error { +// Discard implements the method declared in blog.AkutanLog. +func (aLog *Log) Discard(ctx context.Context, firstIndex blog.Index) error { for { - client, err := beamLog.getConnection() + client, err := aLog.getConnection() if err != nil { return err } - err = beamLog.tryDiscard(ctx, client, firstIndex) + err = aLog.tryDiscard(ctx, client, firstIndex) switch err { case nil: return nil case ctx.Err(): return err default: - beamLog.logger.WithFields(logrus.Fields{ + aLog.logger.WithFields(logrus.Fields{ "RPC": "Discard", "server": client.server(), "error": err, @@ -181,41 +179,41 @@ func (beamLog *Log) Discard(ctx context.Context, firstIndex blog.Index) error { } } -func (beamLog *Log) tryDiscard(ctx context.Context, client *clientConn, firstIndex blog.Index) error { +func (aLog *Log) tryDiscard(ctx context.Context, client *clientConn, firstIndex blog.Index) error { req := logspec.DiscardRequest{ FirstIndex: firstIndex, } res, err := client.service.Discard(ctx, &req) if err != nil { - return beamLog.handleRPCError(ctx, client, err) + return aLog.handleRPCError(ctx, client, err) } switch res := res.Reply.(type) { case *logspec.DiscardReply_Ok: return nil case *logspec.DiscardReply_Redirect: - return beamLog.handleRedirect(client, res.Redirect) + return aLog.handleRedirect(client, res.Redirect) default: - return beamLog.handleUnknownError(ctx, client) + return aLog.handleUnknownError(ctx, client) } } -// Read implements the method declared in blog.BeamLog. -func (beamLog *Log) Read(ctx context.Context, nextIndex blog.Index, entriesCh chan<- []blog.Entry) error { +// Read implements the method declared in blog.AkutanLog. +func (aLog *Log) Read(ctx context.Context, nextIndex blog.Index, entriesCh chan<- []blog.Entry) error { defer close(entriesCh) for { - client, err := beamLog.getConnection() + client, err := aLog.getConnection() if err != nil { return err } - err = beamLog.tryRead(ctx, client, &nextIndex, entriesCh) + err = aLog.tryRead(ctx, client, &nextIndex, entriesCh) switch { case err == ctx.Err(): return err case blog.IsTruncatedError(err): return err default: - beamLog.disconnectFrom(client) - beamLog.logger.WithFields(logrus.Fields{ + aLog.disconnectFrom(client) + aLog.logger.WithFields(logrus.Fields{ "RPC": "Read", "server": client.server(), "error": err, @@ -225,13 +223,13 @@ func (beamLog *Log) Read(ctx context.Context, nextIndex blog.Index, entriesCh ch } } -func (beamLog *Log) tryRead(ctx context.Context, client *clientConn, nextIndex *blog.Index, entriesCh chan<- []blog.Entry) error { +func (aLog *Log) tryRead(ctx context.Context, client *clientConn, nextIndex *blog.Index, entriesCh chan<- []blog.Entry) error { ctx, cancelFunc := context.WithCancel(ctx) defer cancelFunc() // Also cancel the stream when the entire log is shutting down. go func() { select { - case <-beamLog.ctx.Done(): + case <-aLog.ctx.Done(): cancelFunc() case <-ctx.Done(): } @@ -242,12 +240,12 @@ func (beamLog *Log) tryRead(ctx context.Context, client *clientConn, nextIndex * } stream, err := client.service.Read(ctx, &req) if err != nil { - return beamLog.handleRPCError(ctx, client, err) + return aLog.handleRPCError(ctx, client, err) } for { res, err := stream.Recv() if err != nil { - return beamLog.handleRPCError(ctx, client, err) + return aLog.handleRPCError(ctx, client, err) } switch res := res.Reply.(type) { case *logspec.ReadReply_Ok: @@ -279,30 +277,30 @@ func (beamLog *Log) tryRead(ctx context.Context, client *clientConn, nextIndex * return ctx.Err() } case *logspec.ReadReply_Redirect: - return beamLog.handleRedirect(client, res.Redirect) + return aLog.handleRedirect(client, res.Redirect) case *logspec.ReadReply_Truncated: return blog.TruncatedError{Requested: req.NextIndex} default: - return beamLog.handleUnknownError(ctx, client) + return aLog.handleUnknownError(ctx, client) } } } -// Info implements the method declared in blog.BeamLog. -func (beamLog *Log) Info(ctx context.Context) (*blog.Info, error) { +// Info implements the method declared in blog.AkutanLog. +func (aLog *Log) Info(ctx context.Context) (*blog.Info, error) { for { - client, err := beamLog.getConnection() + client, err := aLog.getConnection() if err != nil { return nil, err } - info, err := beamLog.tryInfo(ctx, client) + info, err := aLog.tryInfo(ctx, client) switch err { case nil: return info, nil case ctx.Err(): return nil, err default: - beamLog.logger.WithFields(logrus.Fields{ + aLog.logger.WithFields(logrus.Fields{ "RPC": "Info", "server": client.server(), "error": err, @@ -312,36 +310,36 @@ func (beamLog *Log) Info(ctx context.Context) (*blog.Info, error) { } } -func (beamLog *Log) tryInfo(ctx context.Context, client *clientConn) (*blog.Info, error) { +func (aLog *Log) tryInfo(ctx context.Context, client *clientConn) (*blog.Info, error) { req := logspec.InfoRequest{} res, err := client.service.Info(ctx, &req) if err != nil { - return nil, beamLog.handleRPCError(ctx, client, err) + return nil, aLog.handleRPCError(ctx, client, err) } switch res := res.Reply.(type) { case *logspec.InfoReply_Ok: return res.Ok, nil case *logspec.InfoReply_Redirect: - return nil, beamLog.handleRedirect(client, res.Redirect) + return nil, aLog.handleRedirect(client, res.Redirect) default: - return nil, beamLog.handleUnknownError(ctx, client) + return nil, aLog.handleUnknownError(ctx, client) } } -// InfoStream implements the method declared in blog.BeamLog. -func (beamLog *Log) InfoStream(ctx context.Context, infoCh chan<- *blog.Info) error { +// InfoStream implements the method declared in blog.AkutanLog. +func (aLog *Log) InfoStream(ctx context.Context, infoCh chan<- *blog.Info) error { defer close(infoCh) for { - client, err := beamLog.getConnection() + client, err := aLog.getConnection() if err != nil { return err } - err = beamLog.tryInfoStream(ctx, client, infoCh) + err = aLog.tryInfoStream(ctx, client, infoCh) switch err { case ctx.Err(): return err default: - beamLog.logger.WithFields(logrus.Fields{ + aLog.logger.WithFields(logrus.Fields{ "RPC": "InfoStream", "server": client.server(), "error": err, @@ -351,13 +349,13 @@ func (beamLog *Log) InfoStream(ctx context.Context, infoCh chan<- *blog.Info) er } } -func (beamLog *Log) tryInfoStream(ctx context.Context, client *clientConn, infoCh chan<- *blog.Info) error { +func (aLog *Log) tryInfoStream(ctx context.Context, client *clientConn, infoCh chan<- *blog.Info) error { ctx, cancelFunc := context.WithCancel(ctx) defer cancelFunc() // Also cancel the stream when the entire log is shutting down. go func() { select { - case <-beamLog.ctx.Done(): + case <-aLog.ctx.Done(): cancelFunc() case <-ctx.Done(): } @@ -366,12 +364,12 @@ func (beamLog *Log) tryInfoStream(ctx context.Context, client *clientConn, infoC req := logspec.InfoRequest{} stream, err := client.service.InfoStream(ctx, &req) if err != nil { - return beamLog.handleRPCError(ctx, client, err) + return aLog.handleRPCError(ctx, client, err) } for { res, err := stream.Recv() if err != nil { - return beamLog.handleRPCError(ctx, client, err) + return aLog.handleRPCError(ctx, client, err) } switch res := res.Reply.(type) { case *logspec.InfoReply_Ok: @@ -381,9 +379,9 @@ func (beamLog *Log) tryInfoStream(ctx context.Context, client *clientConn, infoC return ctx.Err() } case *logspec.InfoReply_Redirect: - return beamLog.handleRedirect(client, res.Redirect) + return aLog.handleRedirect(client, res.Redirect) default: - return beamLog.handleUnknownError(ctx, client) + return aLog.handleUnknownError(ctx, client) } } } @@ -392,16 +390,16 @@ func (beamLog *Log) tryInfoStream(ctx context.Context, client *clientConn, infoC // connection if needed. getConnection will return quickly, even if it needs a // new connection. It returns either an open connection and a nil error, or // ErrClosed. It swallows connection errors and retries them. -func (beamLog *Log) getConnection() (*clientConn, error) { - beamLog.lock.Lock() - defer beamLog.lock.Unlock() - if beamLog.ctx.Err() != nil { +func (aLog *Log) getConnection() (*clientConn, error) { + aLog.lock.Lock() + defer aLog.lock.Unlock() + if aLog.ctx.Err() != nil { return nil, blog.ClosedError{} } - if beamLog.locked.client == nil { - beamLog.connectAnyLocked() + if aLog.locked.client == nil { + aLog.connectAnyLocked() } - return beamLog.locked.client, nil + return aLog.locked.client, nil } func init() { @@ -412,29 +410,29 @@ func init() { // connectAnyLocked opens a new connection to some available server. It // disconnects any existing connection and saves the new connection for later // use. connectAnyLocked will return quickly (since grpc.Dial returns quickly). -// It must be called with the beamLog.lock held. Returns nil on success, a +// It must be called with the aLog.lock held. Returns nil on success, a // context error if the log is shutting down, or (unlikely) some immediate // connection error on failure. -func (beamLog *Log) connectAnyLocked() { - if beamLog.locked.client != nil { - beamLog.disconnectFromLocked(beamLog.locked.client) // clears out beamLog.locked.client +func (aLog *Log) connectAnyLocked() { + if aLog.locked.client != nil { + aLog.disconnectFromLocked(aLog.locked.client) // clears out aLog.locked.client } - locatorString := beamLog.servers.String() + locatorString := aLog.servers.String() cc := new(clientConn) // This string will be overwritten by the Dialer from another goroutine later. cc.locked.server = locatorString dialer := func(ctx context.Context, target string) (net.Conn, error) { - result, err := discovery.GetNonempty(ctx, beamLog.servers) + result, err := discovery.GetNonempty(ctx, aLog.servers) if err != nil { return nil, err } endpoints := result.Endpoints // If there are enough endpoints, ignore the most recently used endpoint. - if len(endpoints) > 1 && beamLog.locked.lastEndpoint != "" { + if len(endpoints) > 1 && aLog.locked.lastEndpoint != "" { endpoints = make([]*discovery.Endpoint, 0, len(endpoints)-1) for _, e := range result.Endpoints { - if e.String() != beamLog.locked.lastEndpoint { + if e.String() != aLog.locked.lastEndpoint { endpoints = append(endpoints, e) } } @@ -444,91 +442,91 @@ func (beamLog *Log) connectAnyLocked() { endpoints = result.Endpoints } } - beamLog.locked.lastEndpoint = "" + aLog.locked.lastEndpoint = "" endpoint := endpoints[rand.Intn(len(endpoints))] endpointStr := endpoint.String() cc.lock.Lock() cc.locked.server = endpointStr cc.lock.Unlock() - beamLog.logger.WithFields(logrus.Fields{ + aLog.logger.WithFields(logrus.Fields{ "server": endpointStr, }).Infof("Logspec client connecting to") return new(net.Dialer).DialContext(ctx, endpoint.Network, endpoint.HostPort()) } - conn := grpcclientutil.InsecureDialContext(beamLog.ctx, locatorString, grpc.WithContextDialer(dialer)) + conn := grpcclientutil.InsecureDialContext(aLog.ctx, locatorString, grpc.WithContextDialer(dialer)) cc.conn = conn cc.service = logspec.NewLogClient(conn) - beamLog.locked.client = cc + aLog.locked.client = cc } // connectToLocked is like connectAnyLocked but opens a connection to the // particular server given by 'address'. -func (beamLog *Log) connectToLocked(address string) { - if beamLog.locked.client != nil { - beamLog.disconnectFromLocked(beamLog.locked.client) // clears out beamLog.locked.client +func (aLog *Log) connectToLocked(address string) { + if aLog.locked.client != nil { + aLog.disconnectFromLocked(aLog.locked.client) // clears out aLog.locked.client } - conn := grpcclientutil.InsecureDialContext(beamLog.ctx, address) + conn := grpcclientutil.InsecureDialContext(aLog.ctx, address) cc := &clientConn{ conn: conn, service: logspec.NewLogClient(conn), } cc.locked.server = address - beamLog.locked.client = cc - beamLog.logger.WithFields(logrus.Fields{ + aLog.locked.client = cc + aLog.logger.WithFields(logrus.Fields{ "server": address, }).Infof("Logspec client connecting to") } // Disconnect implements the method declared in blog.Disconnector. -func (beamLog *Log) Disconnect() { - beamLog.lock.Lock() - defer beamLog.lock.Unlock() - if beamLog.locked.client != nil { - beamLog.disconnectFromLocked(beamLog.locked.client) +func (aLog *Log) Disconnect() { + aLog.lock.Lock() + defer aLog.lock.Unlock() + if aLog.locked.client != nil { + aLog.disconnectFromLocked(aLog.locked.client) metrics.disconnectsTotal.Inc() } } // disconnectFrom closes the connection to 'from' and ensures it won't be -// returned by getConnection. It must be called without holding beamLog.lock. -func (beamLog *Log) disconnectFrom(from *clientConn) { - beamLog.lock.Lock() - defer beamLog.lock.Unlock() - beamLog.disconnectFromLocked(from) +// returned by getConnection. It must be called without holding aLog.lock. +func (aLog *Log) disconnectFrom(from *clientConn) { + aLog.lock.Lock() + defer aLog.lock.Unlock() + aLog.disconnectFromLocked(from) } // disconnectFromLocked closes the connection to 'from' and ensures it won't be -// returned by getConnection. It must be called with beamLog.lock held. -func (beamLog *Log) disconnectFromLocked(from *clientConn) { +// returned by getConnection. It must be called with aLog.lock held. +func (aLog *Log) disconnectFromLocked(from *clientConn) { err := from.conn.Close() if err != nil { if status.Code(err) != codes.Canceled { - beamLog.logger.WithFields(logrus.Fields{ + aLog.logger.WithFields(logrus.Fields{ "server": from.server(), "error": err, }).Warnf("Error closing connection") } } - if beamLog.locked.client == from { - beamLog.locked.lastEndpoint = from.server() - beamLog.locked.client = nil + if aLog.locked.client == from { + aLog.locked.lastEndpoint = from.server() + aLog.locked.client = nil } } // handleRedirect disconnects from 'from' and, if 'info' contains a host // address, tries to use that for the next connection. It returns quickly and // always returns a non-nil error with a message describing the redirection. -func (beamLog *Log) handleRedirect(from *clientConn, info *logspec.Redirect) error { +func (aLog *Log) handleRedirect(from *clientConn, info *logspec.Redirect) error { metrics.redirectsTotal.Inc() - beamLog.lock.Lock() - defer beamLog.lock.Unlock() - if beamLog.locked.client == from { - beamLog.disconnectFromLocked(from) // clears out beamLog.locked.client - if beamLog.ctx.Err() == nil && info.Host != "" { - beamLog.connectToLocked(info.Host) + aLog.lock.Lock() + defer aLog.lock.Unlock() + if aLog.locked.client == from { + aLog.disconnectFromLocked(from) // clears out aLog.locked.client + if aLog.ctx.Err() == nil && info.Host != "" { + aLog.connectToLocked(info.Host) } } else { - beamLog.disconnectFromLocked(from) + aLog.disconnectFromLocked(from) } if info.Host != "" { return fmt.Errorf("redirected to %v", info.Host) @@ -539,9 +537,9 @@ func (beamLog *Log) handleRedirect(from *clientConn, info *logspec.Redirect) err // handleUnknownError is called for non-OK replies that the client doesn't understand. // It disconnects from 'from' and waits 'backoff', then returns with either ctx.Err() // or a non-nil error mentioning a non-OK reply. -func (beamLog *Log) handleUnknownError(ctx context.Context, from *clientConn) error { - beamLog.disconnectFrom(from) - err := beamLog.clock.SleepUntil(ctx, beamLog.clock.Now().Add(backoff)) +func (aLog *Log) handleUnknownError(ctx context.Context, from *clientConn) error { + aLog.disconnectFrom(from) + err := aLog.clock.SleepUntil(ctx, aLog.clock.Now().Add(backoff)) if err != nil { return err } @@ -550,9 +548,9 @@ func (beamLog *Log) handleUnknownError(ctx context.Context, from *clientConn) er // handleRPCError is called for gRPC errors. It disconnects from 'from' and // waits 'backoff', then returns with either ctx.Err() or rpcErr. -func (beamLog *Log) handleRPCError(ctx context.Context, from *clientConn, rpcErr error) error { - beamLog.disconnectFrom(from) - err := beamLog.clock.SleepUntil(ctx, beamLog.clock.Now().Add(backoff)) +func (aLog *Log) handleRPCError(ctx context.Context, from *clientConn, rpcErr error) error { + aLog.disconnectFrom(from) + err := aLog.clock.SleepUntil(ctx, aLog.clock.Now().Add(backoff)) if err != nil { return err } diff --git a/src/github.com/ebay/beam/blog/logspecclient/client_test.go b/src/github.com/ebay/akutan/blog/logspecclient/client_test.go similarity index 98% rename from src/github.com/ebay/beam/blog/logspecclient/client_test.go rename to src/github.com/ebay/akutan/blog/logspecclient/client_test.go index f700865..0468f53 100644 --- a/src/github.com/ebay/beam/blog/logspecclient/client_test.go +++ b/src/github.com/ebay/akutan/blog/logspecclient/client_test.go @@ -21,10 +21,10 @@ import ( "testing" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/discovery" - "github.com/ebay/beam/logspec" - "github.com/ebay/beam/util/parallel" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/discovery" + "github.com/ebay/akutan/logspec" + "github.com/ebay/akutan/util/parallel" "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -33,7 +33,7 @@ import ( // Ensures that Log satisfies the intended interfaces. var ( - _ blog.BeamLog = (*Log)(nil) + _ blog.AkutanLog = (*Log)(nil) _ blog.Disconnector = (*Log)(nil) ) diff --git a/src/github.com/ebay/beam/blog/logspecclient/common_test.go b/src/github.com/ebay/akutan/blog/logspecclient/common_test.go similarity index 97% rename from src/github.com/ebay/beam/blog/logspecclient/common_test.go rename to src/github.com/ebay/akutan/blog/logspecclient/common_test.go index 7a9ed3f..6c316c7 100644 --- a/src/github.com/ebay/beam/blog/logspecclient/common_test.go +++ b/src/github.com/ebay/akutan/blog/logspecclient/common_test.go @@ -22,11 +22,11 @@ import ( "testing" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/config" - "github.com/ebay/beam/discovery" - "github.com/ebay/beam/logspec" - "github.com/ebay/beam/util/clocks" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/discovery" + "github.com/ebay/akutan/logspec" + "github.com/ebay/akutan/util/clocks" log "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -69,8 +69,8 @@ func setup(t *testing.T) (*mockServer, *Log, func()) { endpoint.Host, endpoint.Port, err = net.SplitHostPort(server.listener.Addr().String()) assert.NoError(t, err) log, err := newLog(ctx, - &config.Beam{ - BeamLog: config.BeamLog{ + &config.Akutan{ + AkutanLog: config.AkutanLog{ Type: "logspec", }, }, diff --git a/src/github.com/ebay/beam/blog/logspecclient/metrics.go b/src/github.com/ebay/akutan/blog/logspecclient/metrics.go similarity index 95% rename from src/github.com/ebay/beam/blog/logspecclient/metrics.go rename to src/github.com/ebay/akutan/blog/logspecclient/metrics.go index e049732..8d10359 100644 --- a/src/github.com/ebay/beam/blog/logspecclient/metrics.go +++ b/src/github.com/ebay/akutan/blog/logspecclient/metrics.go @@ -16,7 +16,7 @@ package logspecclient import ( - metricsutil "github.com/ebay/beam/util/metrics" + metricsutil "github.com/ebay/akutan/util/metrics" "github.com/prometheus/client_golang/prometheus" ) @@ -37,7 +37,7 @@ func init() { mr := metricsutil.Registry{R: prometheus.DefaultRegisterer} metrics = clientMetrics{ appendCallBytes: mr.NewHistogram(prometheus.HistogramOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "logspecclient", Name: "append_call_bytes", Help: `The number of bytes passed to the append function. @@ -55,7 +55,7 @@ This metric will not measure retried requests. Buckets: prometheus.ExponentialBuckets(16, 10.0, 8), }), appendRequestBytes: mr.NewHistogram(prometheus.HistogramOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "logspecclient", Name: "append_request_bytes", Help: `The size of a batched append request. @@ -67,7 +67,7 @@ that either load is low or batching isn't happening effectively. Buckets: prometheus.ExponentialBuckets(16, 10.0, 8), }), appendRTTSeconds: mr.NewSummary(prometheus.SummaryOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "logspecclient", Name: "append_rtt_seconds", Help: `The round trip time in seconds between sending an append request and receiving a confirmation response. @@ -80,7 +80,7 @@ For this reason the gRPC middleware-measured RTT for append may be inaccurate. Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.95: 0.005, 0.99: 0.001}, }), readBytes: mr.NewHistogram(prometheus.HistogramOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "logspecclient", Name: "read_bytes", Help: `The read size in bytes @@ -91,7 +91,7 @@ outside the gRPC middleware metrics as read also uses bidirectional streaming. Buckets: prometheus.ExponentialBuckets(16, 10.0, 8), }), readEntries: mr.NewHistogram(prometheus.HistogramOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "logspecclient", Name: "read_entries", Help: `The number of entries received in a read from the log @@ -102,7 +102,7 @@ of entries each of these reads contains. Buckets: prometheus.ExponentialBuckets(1, 10.0, 7), }), redirectsTotal: mr.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "logspecclient", Name: "redirects_total", Help: `The number of times the client received a redirect reply from the log. @@ -113,7 +113,7 @@ get counted in this metrics but only 1 will be processed. `, }), disconnectsTotal: mr.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "logspecclient", Name: "disconnects_total", Help: `The number of times the client closed its connection to the log service. @@ -123,7 +123,7 @@ connection from the log service. The disconnect is initiated by the client. `, }), outstandingAppendRequests: mr.NewGauge(prometheus.GaugeOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "logspecclient", Name: "outstanding_append_requests", Help: `The current number of append requests sent but waiting for replies from the log. diff --git a/src/github.com/ebay/beam/blog/mockblog/log.go b/src/github.com/ebay/akutan/blog/mockblog/log.go similarity index 91% rename from src/github.com/ebay/beam/blog/mockblog/log.go rename to src/github.com/ebay/akutan/blog/mockblog/log.go index 726500f..17629c4 100644 --- a/src/github.com/ebay/beam/blog/mockblog/log.go +++ b/src/github.com/ebay/akutan/blog/mockblog/log.go @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Package mockblog contains an in-process, in-memory implementation of a Beam +// Package mockblog contains an in-process, in-memory implementation of a Akutan // log client and server. This is a high-level mock intended for unit testing. package mockblog @@ -21,16 +21,16 @@ import ( "context" "sync" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry/logencoder" - "github.com/ebay/beam/logspec" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry/logencoder" + "github.com/ebay/akutan/logspec" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/cmp" "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" ) -// Log is an in-process, in-memory implementation of blog.BeamLog. It logically +// Log is an in-process, in-memory implementation of blog.AkutanLog. It logically // includes both the client and the server. type Log struct { // A background context that is only closed when the log shuts down. @@ -54,8 +54,8 @@ type Log struct { } } -// Log implements blog.BeamLog. -var _ blog.BeamLog = (*Log)(nil) +// Log implements blog.AkutanLog. +var _ blog.AkutanLog = (*Log)(nil) // New constructs a Log. ctx is a background context that can be closed to shut // down readers. @@ -68,7 +68,7 @@ func New(ctx context.Context) *Log { return log } -// AppendSingle implements the method declared in blog.BeamLog. +// AppendSingle implements the method declared in blog.AkutanLog. func (log *Log) AppendSingle(ctx context.Context, data []byte) (blog.Index, error) { indexes, err := log.Append(ctx, [][]byte{data}) if err != nil { @@ -77,7 +77,7 @@ func (log *Log) AppendSingle(ctx context.Context, data []byte) (blog.Index, erro return indexes[0], nil } -// Append implements the method declared in blog.BeamLog. +// Append implements the method declared in blog.AkutanLog. func (log *Log) Append(ctx context.Context, proposals [][]byte) ([]blog.Index, error) { log.lock.Lock() defer log.lock.Unlock() @@ -116,7 +116,7 @@ func (log *Log) lastIndexLocked() blog.Index { return log.locked.startIndex + uint64(len(log.locked.entries)) - 1 } -// Read implements the method declared in blog.BeamLog. +// Read implements the method declared in blog.AkutanLog. func (log *Log) Read(ctx context.Context, nextIndex blog.Index, entriesCh chan<- []blog.Entry) error { defer close(entriesCh) for { @@ -166,7 +166,7 @@ func (log *Log) Read(ctx context.Context, nextIndex blog.Index, entriesCh chan<- } } -// Discard implements the method declared in blog.BeamLog. +// Discard implements the method declared in blog.AkutanLog. func (log *Log) Discard(ctx context.Context, firstIndex blog.Index) error { log.lock.Lock() defer log.lock.Unlock() @@ -193,7 +193,7 @@ func (log *Log) Discard(ctx context.Context, firstIndex blog.Index) error { return nil } -// Info implements the method declared in blog.BeamLog. +// Info implements the method declared in blog.AkutanLog. func (log *Log) Info(ctx context.Context) (*blog.Info, error) { info, _ := log.info() return info, nil @@ -212,7 +212,7 @@ func (log *Log) info() (*blog.Info, chan struct{}) { }, log.locked.changed } -// InfoStream implements the method declared in blog.BeamLog. +// InfoStream implements the method declared in blog.AkutanLog. func (log *Log) InfoStream(ctx context.Context, infoCh chan<- *blog.Info) error { defer close(infoCh) for { @@ -263,7 +263,7 @@ func (log *Log) Entries(start blog.Index) ([]blog.Entry, error) { } // DecodedEntries returns all of the entries presently in the log, starting with -// the given position, already decoded into Beam log commands. +// the given position, already decoded into Akutan log commands. func (log *Log) DecodedEntries(start rpc.LogPosition, ) (decoded []logencoder.Entry, next rpc.LogPosition, err error) { entries, err := log.Entries(start.Index) diff --git a/src/github.com/ebay/beam/blog/mockblog/log_test.go b/src/github.com/ebay/akutan/blog/mockblog/log_test.go similarity index 97% rename from src/github.com/ebay/beam/blog/mockblog/log_test.go rename to src/github.com/ebay/akutan/blog/mockblog/log_test.go index 70eb9b1..481505f 100644 --- a/src/github.com/ebay/beam/blog/mockblog/log_test.go +++ b/src/github.com/ebay/akutan/blog/mockblog/log_test.go @@ -23,11 +23,11 @@ import ( "testing" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logencoder" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/parallel" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logencoder" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/parallel" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/config/c.go b/src/github.com/ebay/akutan/config/c.go similarity index 94% rename from src/github.com/ebay/beam/config/c.go rename to src/github.com/ebay/akutan/config/c.go index a82aa75..af17961 100644 --- a/src/github.com/ebay/beam/config/c.go +++ b/src/github.com/ebay/akutan/config/c.go @@ -13,15 +13,15 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Package config contains the configuration for a Beam server. The +// Package config contains the configuration for a Akutan server. The // configuration is typically loaded from a JSON file on disk. package config -// Beam describes the configuration for a Beam server. -type Beam struct { - // How to access the Beam database change request log. Required on all +// Akutan describes the configuration for a Akutan server. +type Akutan struct { + // How to access the database change request log. Required on all // servers. - BeamLog BeamLog `json:"beamLog"` + AkutanLog AkutanLog `json:"akutanLog"` // Where to find the GRPC ports of all the view instances. Required on all // servers. @@ -61,9 +61,9 @@ type Locator struct { PortName string `json:"portName,omitempty"` } -// BeamLog contains configuration describing how to access the Beam database +// AkutanLog contains configuration describing how to access the Akutan database // change request log. -type BeamLog struct { +type AkutanLog struct { // Either "logspec" for the logspec store, or "kafka" Type string `json:"type"` @@ -116,7 +116,7 @@ type DiskView struct { // Either "hashsp" or "hashpo". Required. // - // "hashsp" and "hashpo" are two critically important hash-spaces for Beam; + // "hashsp" and "hashpo" are two critically important hash-spaces for Akutan; // each covers the entire set of facts stored. Facts in the "hashsp" space // are distributed by the hash of the fact's subject and predicate. Facts in // the "hashpo" space are distributed by the hash of the fact's predicate diff --git a/src/github.com/ebay/beam/config/load.go b/src/github.com/ebay/akutan/config/load.go similarity index 90% rename from src/github.com/ebay/beam/config/load.go rename to src/github.com/ebay/akutan/config/load.go index f27505b..f8bb5f1 100644 --- a/src/github.com/ebay/beam/config/load.go +++ b/src/github.com/ebay/akutan/config/load.go @@ -21,13 +21,13 @@ import ( "fmt" "os" - "github.com/ebay/beam/util/errors" + "github.com/ebay/akutan/util/errors" ) // Load parses the configuration from the given JSON file. Upon success, it // returns a non-nil configuration. Otherwise, it returns an error, which // already includes the filename. -func Load(filename string) (*Beam, error) { +func Load(filename string) (*Akutan, error) { f, err := os.Open(filename) if err != nil { return nil, err @@ -36,8 +36,8 @@ func Load(filename string) (*Beam, error) { reader := bufio.NewReader(f) decoder := json.NewDecoder(reader) decoder.DisallowUnknownFields() - cfg := new(Beam) - // This **Beam double-pointer appears to be required to detect an invalid + cfg := new(Akutan) + // This **Akutan double-pointer appears to be required to detect an invalid // input of "null". See Test_Load/file_contains_null test. err = decoder.Decode(&cfg) if err != nil { @@ -55,7 +55,7 @@ func Load(filename string) (*Beam, error) { // Write marshalls the configuration as JSON to the given file. It truncates the // file if it already exists. It returns nil upon success. Otherwise, it returns // an error, which already includes the filename. -func Write(cfg *Beam, filename string) error { +func Write(cfg *Akutan, filename string) error { f, err := os.Create(filename) if err != nil { return err diff --git a/src/github.com/ebay/beam/config/load_test.go b/src/github.com/ebay/akutan/config/load_test.go similarity index 91% rename from src/github.com/ebay/beam/config/load_test.go rename to src/github.com/ebay/akutan/config/load_test.go index 6cf5018..73c3d3a 100644 --- a/src/github.com/ebay/beam/config/load_test.go +++ b/src/github.com/ebay/akutan/config/load_test.go @@ -28,7 +28,7 @@ import ( ) func Test_Load(t *testing.T) { - dir, err := ioutil.TempDir("", "beam-config-test") + dir, err := ioutil.TempDir("", "config-test") require.NoError(t, err) defer os.RemoveAll(dir) @@ -79,28 +79,28 @@ func Test_Load(t *testing.T) { t.Run("ok", func(t *testing.T) { err = ioutil.WriteFile(filepath.Join(dir, "ok.json"), []byte(`{ - "beamLog": {"type": "logspec"} + "akutanLog": {"type": "logspec"} }`), 0644) require.NoError(t, err) cfg, err := Load(filepath.Join(dir, "ok.json")) if assert.NoError(t, err) { - assert.Equal(t, "logspec", cfg.BeamLog.Type) + assert.Equal(t, "logspec", cfg.AkutanLog.Type) } }) } func Test_Write(t *testing.T) { - dir, err := ioutil.TempDir("", "beam-config-test") + dir, err := ioutil.TempDir("", "config-test") require.NoError(t, err) defer os.RemoveAll(dir) // Happy path. - err = Write(&Beam{}, filepath.Join(dir, "ok.json")) + err = Write(&Akutan{}, filepath.Join(dir, "ok.json")) assert.NoError(t, err) // Simulate an error from encoder.Encode(). marshalJSONErr = errors.New("ants in pants") - err = Write(&Beam{Tracing: &Tracing{}}, filepath.Join(dir, "ants.json")) + err = Write(&Akutan{Tracing: &Tracing{}}, filepath.Join(dir, "ants.json")) marshalJSONErr = nil if assert.Error(t, err) { assert.Regexp(t, `^failed to write .*/ants\.json: .*ants in pants`, @@ -110,7 +110,7 @@ func Test_Write(t *testing.T) { // Errors from os.Create already include the filename. err = os.MkdirAll(filepath.Join(dir, "subdir"), 0755) require.NoError(t, err) - err = Write(&Beam{}, filepath.Join(dir, "subdir")) + err = Write(&Akutan{}, filepath.Join(dir, "subdir")) if assert.Error(t, err) { assert.Contains(t, err.Error(), "subdir") } diff --git a/src/github.com/ebay/beam/discovery/discovery.go b/src/github.com/ebay/akutan/discovery/discovery.go similarity index 100% rename from src/github.com/ebay/beam/discovery/discovery.go rename to src/github.com/ebay/akutan/discovery/discovery.go diff --git a/src/github.com/ebay/beam/discovery/discovery_test.go b/src/github.com/ebay/akutan/discovery/discovery_test.go similarity index 100% rename from src/github.com/ebay/beam/discovery/discovery_test.go rename to src/github.com/ebay/akutan/discovery/discovery_test.go diff --git a/src/github.com/ebay/beam/discovery/discoveryfactory/factory.go b/src/github.com/ebay/akutan/discovery/discoveryfactory/factory.go similarity index 97% rename from src/github.com/ebay/beam/discovery/discoveryfactory/factory.go rename to src/github.com/ebay/akutan/discovery/discoveryfactory/factory.go index cd1e003..2aeb842 100644 --- a/src/github.com/ebay/beam/discovery/discoveryfactory/factory.go +++ b/src/github.com/ebay/akutan/discovery/discoveryfactory/factory.go @@ -23,8 +23,8 @@ import ( "fmt" "sync" - "github.com/ebay/beam/config" - "github.com/ebay/beam/discovery" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/discovery" ) // All of the discovery implementations are registered here at diff --git a/src/github.com/ebay/beam/discovery/discoveryfactory/factory_test.go b/src/github.com/ebay/akutan/discovery/discoveryfactory/factory_test.go similarity index 97% rename from src/github.com/ebay/beam/discovery/discoveryfactory/factory_test.go rename to src/github.com/ebay/akutan/discovery/discoveryfactory/factory_test.go index 0fd69eb..cb67d0f 100644 --- a/src/github.com/ebay/beam/discovery/discoveryfactory/factory_test.go +++ b/src/github.com/ebay/akutan/discovery/discoveryfactory/factory_test.go @@ -20,7 +20,7 @@ import ( "fmt" "testing" - "github.com/ebay/beam/config" + "github.com/ebay/akutan/config" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/discovery/discoveryfactory/kube.go b/src/github.com/ebay/akutan/discovery/discoveryfactory/kube.go similarity index 91% rename from src/github.com/ebay/beam/discovery/discoveryfactory/kube.go rename to src/github.com/ebay/akutan/discovery/discoveryfactory/kube.go index 9d62a14..1d8787b 100644 --- a/src/github.com/ebay/beam/discovery/discoveryfactory/kube.go +++ b/src/github.com/ebay/akutan/discovery/discoveryfactory/kube.go @@ -19,9 +19,9 @@ import ( "context" "errors" - "github.com/ebay/beam/config" - "github.com/ebay/beam/discovery" - "github.com/ebay/beam/discovery/kubediscovery" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/discovery" + "github.com/ebay/akutan/discovery/kubediscovery" ) func init() { diff --git a/src/github.com/ebay/beam/discovery/discoveryfactory/kube_test.go b/src/github.com/ebay/akutan/discovery/discoveryfactory/kube_test.go similarity index 97% rename from src/github.com/ebay/beam/discovery/discoveryfactory/kube_test.go rename to src/github.com/ebay/akutan/discovery/discoveryfactory/kube_test.go index 727a463..489ed8a 100644 --- a/src/github.com/ebay/beam/discovery/discoveryfactory/kube_test.go +++ b/src/github.com/ebay/akutan/discovery/discoveryfactory/kube_test.go @@ -19,7 +19,7 @@ import ( "context" "testing" - "github.com/ebay/beam/config" + "github.com/ebay/akutan/config" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/discovery/discoveryfactory/static.go b/src/github.com/ebay/akutan/discovery/discoveryfactory/static.go similarity index 95% rename from src/github.com/ebay/beam/discovery/discoveryfactory/static.go rename to src/github.com/ebay/akutan/discovery/discoveryfactory/static.go index 39fe5ab..b51360d 100644 --- a/src/github.com/ebay/beam/discovery/discoveryfactory/static.go +++ b/src/github.com/ebay/akutan/discovery/discoveryfactory/static.go @@ -19,8 +19,8 @@ import ( "context" "net" - "github.com/ebay/beam/config" - "github.com/ebay/beam/discovery" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/discovery" ) func init() { diff --git a/src/github.com/ebay/beam/discovery/kubediscovery/kubelocator.go b/src/github.com/ebay/akutan/discovery/kubediscovery/kubelocator.go similarity index 98% rename from src/github.com/ebay/beam/discovery/kubediscovery/kubelocator.go rename to src/github.com/ebay/akutan/discovery/kubediscovery/kubelocator.go index 0395cbd..ac67cc5 100644 --- a/src/github.com/ebay/beam/discovery/kubediscovery/kubelocator.go +++ b/src/github.com/ebay/akutan/discovery/kubediscovery/kubelocator.go @@ -24,8 +24,8 @@ import ( "strings" "time" - "github.com/ebay/beam/discovery" - "github.com/ebay/beam/util/clocks" + "github.com/ebay/akutan/discovery" + "github.com/ebay/akutan/util/clocks" "github.com/ericchiang/k8s" corev1 "github.com/ericchiang/k8s/apis/core/v1" "github.com/sirupsen/logrus" diff --git a/src/github.com/ebay/beam/discovery/kubediscovery/kubelocator_test.go b/src/github.com/ebay/akutan/discovery/kubediscovery/kubelocator_test.go similarity index 92% rename from src/github.com/ebay/beam/discovery/kubediscovery/kubelocator_test.go rename to src/github.com/ebay/akutan/discovery/kubediscovery/kubelocator_test.go index e20efa8..de08082 100644 --- a/src/github.com/ebay/beam/discovery/kubediscovery/kubelocator_test.go +++ b/src/github.com/ebay/akutan/discovery/kubediscovery/kubelocator_test.go @@ -26,7 +26,7 @@ import ( "testing/quick" "time" - "github.com/ebay/beam/discovery" + "github.com/ebay/akutan/discovery" "github.com/ericchiang/k8s" corev1 "github.com/ericchiang/k8s/apis/core/v1" metav1 "github.com/ericchiang/k8s/apis/meta/v1" @@ -40,7 +40,7 @@ func Test_NewLocator(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) defer cancel() - loc, err := kube.NewLocator(ctx, "grpc", "beam/type in (diskview)") + loc, err := kube.NewLocator(ctx, "grpc", "akutan/type in (diskview)") assert.NoError(err) assert.Equal(uint64(0), loc.Cached().Version) assert.Equal("v=0[]", stringify(loc.Cached())) @@ -51,7 +51,7 @@ func Test_NewLocator(t *testing.T) { mock.pods = append(mock.pods, pod) ctx, cancel = context.WithCancel(context.Background()) defer cancel() - loc, err = kube.NewLocator(ctx, "grpc", "beam/type in (diskview)") + loc, err = kube.NewLocator(ctx, "grpc", "akutan/type in (diskview)") assert.NoError(err) assert.Equal(uint64(1), loc.Cached().Version) assert.Equal("v=1[{tcp://diskview-1:9980}]", stringify(loc.Cached())) @@ -60,7 +60,7 @@ func Test_NewLocator(t *testing.T) { ctx, cancel = context.WithCancel(context.Background()) // Deliberately cancel the ctx. cancel() - loc, err = kube.NewLocator(ctx, "grpc", "beam/type in (diskview)") + loc, err = kube.NewLocator(ctx, "grpc", "akutan/type in (diskview)") assert.NoError(err) assert.Equal(uint64(0), loc.Cached().Version) assert.Equal("v=0[]", stringify(loc.Cached())) @@ -75,7 +75,7 @@ func Test_discoverLoop_context(t *testing.T) { locator := &kubeLocator{ client: kube, portName: "kafka", - selector: "beam/type in (blog)", + selector: "akutan/type in (blog)", current: discovery.NewStaticLocator(nil), } // Test context cancel. @@ -264,7 +264,7 @@ func Test_tryDiscover(t *testing.T) { locator := &kubeLocator{ client: kube, portName: test.portName, - selector: "beam/type in (diskview)", + selector: "akutan/type in (diskview)", current: discovery.NewStaticLocator(nil), } // Setup @@ -297,23 +297,23 @@ func Test_KubeLocator_String(t *testing.T) { assert := assert.New(t) locator := &kubeLocator{ portName: "grpc", - selector: "beam/type in (diskview)", + selector: "akutan/type in (diskview)", current: discovery.NewStaticLocator(nil), } - assert.Equal("Empty KubeLocator(portName=grpc, selector={beam/type in (diskview)})", + assert.Equal("Empty KubeLocator(portName=grpc, selector={akutan/type in (diskview)})", locator.String()) locator.current.Set([]*discovery.Endpoint{ &discovery.Endpoint{Network: "tcp", Host: "diskview-1", Port: "9980"}, }) - assert.Equal("KubeLocator(portName=grpc, selector={beam/type in (diskview)}, tcp://diskview-1:9980)", + assert.Equal("KubeLocator(portName=grpc, selector={akutan/type in (diskview)}, tcp://diskview-1:9980)", locator.String()) locator.current.Set([]*discovery.Endpoint{ &discovery.Endpoint{Network: "tcp", Host: "diskview-1", Port: "9980"}, &discovery.Endpoint{Network: "tcp", Host: "diskview-2", Port: "9980"}, }) - assert.Equal("KubeLocator(portName=grpc, selector={beam/type in (diskview)}, len=2, first=tcp://diskview-1:9980)", + assert.Equal("KubeLocator(portName=grpc, selector={akutan/type in (diskview)}, len=2, first=tcp://diskview-1:9980)", locator.String()) } @@ -366,13 +366,13 @@ func stringify(result discovery.Result) string { for _, e := range result.Endpoints { b.WriteString("{") b.WriteString(e.String()) - if val, exists := e.Annotations["beam/partition"]; exists { + if val, exists := e.Annotations["akutan/partition"]; exists { b.WriteString(fmt.Sprintf("|p=%v", val)) } - if val, exists := e.Annotations["beam/partitionCount"]; exists { + if val, exists := e.Annotations["akutan/partitionCount"]; exists { b.WriteString(fmt.Sprintf("|pc=%v", val)) } - if val, exists := e.Annotations["beam/features"]; exists { + if val, exists := e.Annotations["akutan/features"]; exists { b.WriteString(fmt.Sprintf("|f=%v", val)) } b.WriteString("}") @@ -434,17 +434,17 @@ func (spec mockPod) build() *corev1.Pod { a[key] = strconv.Itoa(value) } } - set("beam/partition", spec.partition) - set("beam/partitionCount", spec.numPartitions) + set("akutan/partition", spec.partition) + set("akutan/partitionCount", spec.numPartitions) if len(spec.features) > 0 { - a["beam/features"] = strings.Join(spec.features, ",") + a["akutan/features"] = strings.Join(spec.features, ",") } pod := &corev1.Pod{ Metadata: &metav1.ObjectMeta{ Name: &spec.name, Labels: map[string]string{ - "beam/type": spec.typeName, + "akutan/type": spec.typeName, }, Annotations: a, }, diff --git a/src/github.com/ebay/beam/discovery/static.go b/src/github.com/ebay/akutan/discovery/static.go similarity index 100% rename from src/github.com/ebay/beam/discovery/static.go rename to src/github.com/ebay/akutan/discovery/static.go diff --git a/src/github.com/ebay/beam/discovery/static_test.go b/src/github.com/ebay/akutan/discovery/static_test.go similarity index 100% rename from src/github.com/ebay/beam/discovery/static_test.go rename to src/github.com/ebay/akutan/discovery/static_test.go diff --git a/src/github.com/ebay/beam/diskview/beam-diskview/main.go b/src/github.com/ebay/akutan/diskview/akutan-diskview/main.go similarity index 73% rename from src/github.com/ebay/beam/diskview/beam-diskview/main.go rename to src/github.com/ebay/akutan/diskview/akutan-diskview/main.go index fa71309..63cea57 100644 --- a/src/github.com/ebay/beam/diskview/beam-diskview/main.go +++ b/src/github.com/ebay/akutan/diskview/akutan-diskview/main.go @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Command beam-diskview runs a DiskView daemon. +// Command akutan-diskview runs a DiskView daemon. package main import ( @@ -21,21 +21,21 @@ import ( "net/http" _ "net/http/pprof" - _ "github.com/ebay/beam/blog/kafka" // side-effect: registers "kafka" blog implementation - _ "github.com/ebay/beam/blog/logspecclient" // side-effect: registers "logspec" blog implementation - "github.com/ebay/beam/config" - "github.com/ebay/beam/diskview" - _ "github.com/ebay/beam/diskview/rocksdb" // side-effect: registers "rocksdb" database implementation - "github.com/ebay/beam/util/debuglog" - "github.com/ebay/beam/util/profiling" - "github.com/ebay/beam/util/signals" - "github.com/ebay/beam/util/tracing" + _ "github.com/ebay/akutan/blog/kafka" // side-effect: registers "kafka" blog implementation + _ "github.com/ebay/akutan/blog/logspecclient" // side-effect: registers "logspec" blog implementation + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/diskview" + _ "github.com/ebay/akutan/diskview/rocksdb" // side-effect: registers "rocksdb" database implementation + "github.com/ebay/akutan/util/debuglog" + "github.com/ebay/akutan/util/profiling" + "github.com/ebay/akutan/util/signals" + "github.com/ebay/akutan/util/tracing" log "github.com/sirupsen/logrus" ) func main() { debuglog.Configure(debuglog.Options{}) - cfgFile := flag.String("cfg", "config.json", "Beam config file") + cfgFile := flag.String("cfg", "config.json", "Config file") startProfile := flag.String("sp", "", "If set will generate a CPU Profile to the named file for startup processing [unless the view hits the HWM]") logLevel := flag.String("log", "info", "Initial logging level [can be changed later via API call]") pprof := flag.String("pprof", "", "If set will start a HTTP server with the pprof endpoints enabled") @@ -53,7 +53,7 @@ func main() { } log.Infof("Using config: %+v", cfg) - tracer, err := tracing.New("beam-diskview", cfg.Tracing) + tracer, err := tracing.New("akutan-diskview", cfg.Tracing) if err != nil { log.Fatalf("Unable to initialize distributed tracing: %v", err) } @@ -78,5 +78,5 @@ func main() { } signals.WaitForQuit() - log.Info("Beam DiskView Exiting") + log.Info("Akutan DiskView Exiting") } diff --git a/src/github.com/ebay/beam/diskview/apply.go b/src/github.com/ebay/akutan/diskview/apply.go similarity index 93% rename from src/github.com/ebay/beam/diskview/apply.go rename to src/github.com/ebay/akutan/diskview/apply.go index 9dd7b2f..b93afa9 100644 --- a/src/github.com/ebay/beam/diskview/apply.go +++ b/src/github.com/ebay/akutan/diskview/apply.go @@ -18,13 +18,13 @@ package diskview import ( "fmt" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/diskview/database" - "github.com/ebay/beam/diskview/keys" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logencoder" - "github.com/ebay/beam/logentry/logread" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/diskview/database" + "github.com/ebay/akutan/diskview/keys" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logencoder" + "github.com/ebay/akutan/logentry/logread" + "github.com/ebay/akutan/rpc" log "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/diskview/apply_test.go b/src/github.com/ebay/akutan/diskview/apply_test.go similarity index 95% rename from src/github.com/ebay/beam/diskview/apply_test.go rename to src/github.com/ebay/akutan/diskview/apply_test.go index ca9cc89..8484be7 100644 --- a/src/github.com/ebay/beam/diskview/apply_test.go +++ b/src/github.com/ebay/akutan/diskview/apply_test.go @@ -18,12 +18,12 @@ package diskview import ( "testing" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logencoder" - "github.com/ebay/beam/logentry/logwrite" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/space" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logencoder" + "github.com/ebay/akutan/logentry/logwrite" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/space" "github.com/google/btree" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/diskview/carousel_load.go b/src/github.com/ebay/akutan/diskview/carousel_load.go similarity index 95% rename from src/github.com/ebay/beam/diskview/carousel_load.go rename to src/github.com/ebay/akutan/diskview/carousel_load.go index 29a7e4a..0ecf84e 100644 --- a/src/github.com/ebay/beam/diskview/carousel_load.go +++ b/src/github.com/ebay/akutan/diskview/carousel_load.go @@ -20,11 +20,11 @@ import ( "fmt" "time" - "github.com/ebay/beam/diskview/keys" - "github.com/ebay/beam/partitioning" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/viewclient" - "github.com/ebay/beam/viewclient/viewreg" + "github.com/ebay/akutan/diskview/keys" + "github.com/ebay/akutan/partitioning" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/viewclient" + "github.com/ebay/akutan/viewclient/viewreg" "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/diskview/carousel_svr.go b/src/github.com/ebay/akutan/diskview/carousel_svr.go similarity index 98% rename from src/github.com/ebay/beam/diskview/carousel_svr.go rename to src/github.com/ebay/akutan/diskview/carousel_svr.go index 1543ffb..202d682 100644 --- a/src/github.com/ebay/beam/diskview/carousel_svr.go +++ b/src/github.com/ebay/akutan/diskview/carousel_svr.go @@ -23,12 +23,12 @@ import ( "sync/atomic" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/diskview/database" - "github.com/ebay/beam/diskview/keys" - "github.com/ebay/beam/logentry/logencoder" - "github.com/ebay/beam/partitioning" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/diskview/database" + "github.com/ebay/akutan/diskview/keys" + "github.com/ebay/akutan/logentry/logencoder" + "github.com/ebay/akutan/partitioning" + "github.com/ebay/akutan/rpc" log "github.com/sirupsen/logrus" ) @@ -530,7 +530,7 @@ func (view *DiskView) LogStatus(ctx context.Context, r *rpc.LogStatusRequest) (* } if res.NextPosition == logencoder.LogInitialPosition() { // is this really a valid empty cluster, or is this a new instance in an existing cluster, see where the actual log is at - info, err := view.beamLog.Info(ctx) + info, err := view.aLog.Info(ctx) if err != nil { return nil, fmt.Errorf("unable to determine tail of log: %v", err) } diff --git a/src/github.com/ebay/beam/diskview/counts.go b/src/github.com/ebay/akutan/diskview/counts.go similarity index 98% rename from src/github.com/ebay/beam/diskview/counts.go rename to src/github.com/ebay/akutan/diskview/counts.go index 1822e7d..e592759 100644 --- a/src/github.com/ebay/beam/diskview/counts.go +++ b/src/github.com/ebay/akutan/diskview/counts.go @@ -21,9 +21,9 @@ import ( "sync/atomic" "time" - "github.com/ebay/beam/diskview/keys" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/clocks" + "github.com/ebay/akutan/diskview/keys" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/clocks" proto "github.com/gogo/protobuf/proto" log "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/diskview/counts_test.go b/src/github.com/ebay/akutan/diskview/counts_test.go similarity index 97% rename from src/github.com/ebay/beam/diskview/counts_test.go rename to src/github.com/ebay/akutan/diskview/counts_test.go index b406899..51a0310 100644 --- a/src/github.com/ebay/beam/diskview/counts_test.go +++ b/src/github.com/ebay/akutan/diskview/counts_test.go @@ -20,10 +20,10 @@ import ( "testing" "time" - "github.com/ebay/beam/diskview/database" - "github.com/ebay/beam/diskview/keys" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/clocks" + "github.com/ebay/akutan/diskview/database" + "github.com/ebay/akutan/diskview/keys" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/clocks" proto "github.com/gogo/protobuf/proto" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/diskview/database/db.go b/src/github.com/ebay/akutan/diskview/database/db.go similarity index 100% rename from src/github.com/ebay/beam/diskview/database/db.go rename to src/github.com/ebay/akutan/diskview/database/db.go diff --git a/src/github.com/ebay/beam/diskview/database/factory.go b/src/github.com/ebay/akutan/diskview/database/factory.go similarity index 96% rename from src/github.com/ebay/beam/diskview/database/factory.go rename to src/github.com/ebay/akutan/diskview/database/factory.go index 6a20a14..8732d60 100644 --- a/src/github.com/ebay/beam/diskview/database/factory.go +++ b/src/github.com/ebay/akutan/diskview/database/factory.go @@ -19,8 +19,8 @@ import ( "fmt" "sync" - "github.com/ebay/beam/config" - "github.com/ebay/beam/partitioning" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/partitioning" ) // Factory defines a method for creating new instances of DB. Specific DB engines diff --git a/src/github.com/ebay/beam/diskview/diskview.go b/src/github.com/ebay/akutan/diskview/diskview.go similarity index 94% rename from src/github.com/ebay/beam/diskview/diskview.go rename to src/github.com/ebay/akutan/diskview/diskview.go index 1112f69..15418b1 100644 --- a/src/github.com/ebay/beam/diskview/diskview.go +++ b/src/github.com/ebay/akutan/diskview/diskview.go @@ -30,19 +30,19 @@ import ( "sync" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/config" - "github.com/ebay/beam/diskview/database" - "github.com/ebay/beam/diskview/keys" - "github.com/ebay/beam/logentry/logencoder" - "github.com/ebay/beam/msg/facts" - "github.com/ebay/beam/partitioning" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/space" - "github.com/ebay/beam/util/clocks" - grpcserverutil "github.com/ebay/beam/util/grpc/server" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/util/profiling" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/diskview/database" + "github.com/ebay/akutan/diskview/keys" + "github.com/ebay/akutan/logentry/logencoder" + "github.com/ebay/akutan/msg/facts" + "github.com/ebay/akutan/partitioning" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/space" + "github.com/ebay/akutan/util/clocks" + grpcserverutil "github.com/ebay/akutan/util/grpc/server" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/util/profiling" proto "github.com/gogo/protobuf/proto" "github.com/google/btree" grpc_prometheus "github.com/grpc-ecosystem/go-grpc-prometheus" @@ -56,8 +56,8 @@ var startTime = time.Now() // from the log, applies them to a local database, and responds to lookup requests. // It has both a local go interface, as well as a gRPC API for the API tier to use. type DiskView struct { - cfg *config.Beam - beamLog blog.BeamLog + cfg *config.Akutan + aLog blog.AkutanLog carousel carouselConductor lock sync.RWMutex @@ -105,9 +105,9 @@ func (k pendingItem) Less(other btree.Item) bool { // New constructs a new DiskView instance based on the supplied configuration. // This won't start processing the log or responding to API requests until you // subsequently call Start() -func New(cfg *config.Beam) (*DiskView, error) { +func New(cfg *config.Akutan) (*DiskView, error) { if cfg.DiskView == nil { - return nil, fmt.Errorf("diskView field missing in Beam config") + return nil, fmt.Errorf("diskView field missing in Akutan config") } diskview := DiskView{ cfg: cfg, @@ -147,7 +147,7 @@ func New(cfg *config.Beam) (*DiskView, error) { } meta, err := diskview.readMeta() if err != nil { - log.Fatalf("Error reading beammeta key from db: %v", err) + log.Fatalf("Error reading meta key from db: %v", err) } if meta.RestartPosition != nil { log.Infof("Restart index is %v (with version %d)", meta.RestartPosition.Index, meta.RestartPosition.Version) @@ -176,7 +176,7 @@ func (view *DiskView) Close() { // Once this is completed, the API server will be started. func (view *DiskView) Start() error { var err error - view.beamLog, err = blog.New(context.TODO(), view.cfg) + view.aLog, err = blog.New(context.TODO(), view.cfg) if err != nil { return err } @@ -186,7 +186,7 @@ func (view *DiskView) Start() error { } if view.cfg.DiskView.CarouselCatchupLag > 0 { // see if we should do a carousel catchup first - info, err := view.beamLog.Info(context.TODO()) + info, err := view.aLog.Info(context.TODO()) if err != nil { // TODO: I don't understand this logic or this message. log.Warnf("Unable to determine position of the tail of the log, skiping carousel catchup check, will catchup from log: %v", err) @@ -351,7 +351,7 @@ func (view *DiskView) consumeLog() { } } }) - err := view.beamLog.Read(context.Background(), view.nextPosition.Index, ch) + err := view.aLog.Read(context.Background(), view.nextPosition.Index, ch) wait() if err != nil { log.Errorf("Error reading from log: %v", err) @@ -474,7 +474,7 @@ func (view *DiskView) SetLogLevel(ctx context.Context, req *rpc.LogLevelRequest) // LastLogIndex returns the most recent log index that we can see in the log, this view may // not have processed this or prior entries yet. func (view *DiskView) LastLogIndex() (blog.Index, error) { - info, err := view.beamLog.Info(context.TODO()) + info, err := view.aLog.Info(context.TODO()) if err != nil { return 0, err } diff --git a/src/github.com/ebay/beam/diskview/diskview_test.go b/src/github.com/ebay/akutan/diskview/diskview_test.go similarity index 100% rename from src/github.com/ebay/beam/diskview/diskview_test.go rename to src/github.com/ebay/akutan/diskview/diskview_test.go diff --git a/src/github.com/ebay/beam/diskview/keys/keys.go b/src/github.com/ebay/akutan/diskview/keys/keys.go similarity index 96% rename from src/github.com/ebay/beam/diskview/keys/keys.go rename to src/github.com/ebay/akutan/diskview/keys/keys.go index 05a7e61..d0d4eb2 100644 --- a/src/github.com/ebay/beam/diskview/keys/keys.go +++ b/src/github.com/ebay/akutan/diskview/keys/keys.go @@ -22,8 +22,8 @@ import ( "encoding/binary" "fmt" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/rpc" log "github.com/sirupsen/logrus" ) @@ -36,8 +36,8 @@ var ( prefixPOSBytes = []byte("p") prefixSPOBytes = []byte("s") - beamMetaKeyBytes = []byte("beammeta") - beamStatsKeyBytes = []byte("beamstats") + viewMetaKeyBytes = []byte("viewmeta") + viewStatsKeyBytes = []byte("viewstats") ) // Spec is a common interface that all Key types implement. @@ -229,7 +229,7 @@ func (m MetaKey) isKeySpec() {} // Bytes returns the byte key version of the MetaKey. func (m MetaKey) Bytes() []byte { - return append([]byte(nil), beamMetaKeyBytes...) + return append([]byte(nil), viewMetaKeyBytes...) } // StatsKey represents the static key that is used to store fact statistics. @@ -240,7 +240,7 @@ func (s StatsKey) isKeySpec() {} // Bytes returns the key bytes for the StatsKey. func (s StatsKey) Bytes() []byte { - return append([]byte(nil), beamStatsKeyBytes...) + return append([]byte(nil), viewStatsKeyBytes...) } // ParseKey will parse a serialized key and return a FactKey, MetaKey, StatsKey @@ -253,10 +253,10 @@ func ParseKey(key []byte) (Spec, error) { case bytes.HasPrefix(key, prefixSPOBytes) && len(key) >= minFactKeySize: return toFactKey(rpc.KeyEncodingSPO, key) - case bytes.Equal(key, beamMetaKeyBytes): + case bytes.Equal(key, viewMetaKeyBytes): return MetaKey{}, nil - case bytes.Equal(key, beamStatsKeyBytes): + case bytes.Equal(key, viewStatsKeyBytes): return StatsKey{}, nil } return nil, fmt.Errorf("keys.ParseKey unable to determine key type: %s", key) diff --git a/src/github.com/ebay/beam/diskview/keys/keys_test.go b/src/github.com/ebay/akutan/diskview/keys/keys_test.go similarity index 96% rename from src/github.com/ebay/beam/diskview/keys/keys_test.go rename to src/github.com/ebay/akutan/diskview/keys/keys_test.go index 18e5a78..315f518 100644 --- a/src/github.com/ebay/beam/diskview/keys/keys_test.go +++ b/src/github.com/ebay/akutan/diskview/keys/keys_test.go @@ -20,9 +20,9 @@ import ( "testing" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) @@ -302,14 +302,14 @@ func Test_ParseKey(t *testing.T) { func Test_staticKeys(t *testing.T) { m := MetaKey{}.Bytes() - assert.Equal(t, []byte("beammeta"), m) + assert.Equal(t, []byte("viewmeta"), m) m[0] = 'x' - assert.Equal(t, []byte("beammeta"), beamMetaKeyBytes, "Caller to MakeKey should not be able to mutate Keys internal beamMeta key") + assert.Equal(t, []byte("viewmeta"), viewMetaKeyBytes, "Caller to MakeKey should not be able to mutate Keys internal viewmeta key") m = StatsKey{}.Bytes() - assert.Equal(t, []byte("beamstats"), m) + assert.Equal(t, []byte("viewstats"), m) m[0] = 'x' - assert.Equal(t, []byte("beamstats"), beamStatsKeyBytes, "Caller to MakeKey should not be able to mutate Keys internal beamStats key") + assert.Equal(t, []byte("viewstats"), viewStatsKeyBytes, "Caller to MakeKey should not be able to mutate Keys internal viewstats key") } type keySpec struct { diff --git a/src/github.com/ebay/beam/diskview/lookup.go b/src/github.com/ebay/akutan/diskview/lookup.go similarity index 98% rename from src/github.com/ebay/beam/diskview/lookup.go rename to src/github.com/ebay/akutan/diskview/lookup.go index f278d01..e9f9199 100644 --- a/src/github.com/ebay/beam/diskview/lookup.go +++ b/src/github.com/ebay/akutan/diskview/lookup.go @@ -19,11 +19,11 @@ import ( "context" "fmt" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/diskview/database" - "github.com/ebay/beam/diskview/keys" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/tracing" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/diskview/database" + "github.com/ebay/akutan/diskview/keys" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/tracing" "github.com/google/btree" opentracing "github.com/opentracing/opentracing-go" log "github.com/sirupsen/logrus" diff --git a/src/github.com/ebay/beam/diskview/lookup_test.go b/src/github.com/ebay/akutan/diskview/lookup_test.go similarity index 97% rename from src/github.com/ebay/beam/diskview/lookup_test.go rename to src/github.com/ebay/akutan/diskview/lookup_test.go index 41aaaa4..c9067b5 100644 --- a/src/github.com/ebay/beam/diskview/lookup_test.go +++ b/src/github.com/ebay/akutan/diskview/lookup_test.go @@ -25,16 +25,16 @@ import ( "testing" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/config" - "github.com/ebay/beam/diskview/database" - "github.com/ebay/beam/diskview/keys" - _ "github.com/ebay/beam/diskview/rocksdb" // ensure rocksdb database type is registered - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logread" - "github.com/ebay/beam/logentry/logwrite" - "github.com/ebay/beam/msg/facts" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/diskview/database" + "github.com/ebay/akutan/diskview/keys" + _ "github.com/ebay/akutan/diskview/rocksdb" // ensure rocksdb database type is registered + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logread" + "github.com/ebay/akutan/logentry/logwrite" + "github.com/ebay/akutan/msg/facts" + "github.com/ebay/akutan/rpc" "github.com/google/btree" log "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" @@ -462,7 +462,7 @@ func setupLookupTestSuite(t *testing.T) *lookupTestSuite { var err error s.dir, err = ioutil.TempDir("", t.Name()) require.NoError(t, err) - cfg := &config.Beam{ + cfg := &config.Akutan{ DiskView: &config.DiskView{ Space: "hashpo", FirstHash: "0x0000000000000000", diff --git a/src/github.com/ebay/beam/diskview/meta.go b/src/github.com/ebay/akutan/diskview/meta.go similarity index 100% rename from src/github.com/ebay/beam/diskview/meta.go rename to src/github.com/ebay/akutan/diskview/meta.go diff --git a/src/github.com/ebay/beam/diskview/meta.proto b/src/github.com/ebay/akutan/diskview/meta.proto similarity index 97% rename from src/github.com/ebay/beam/diskview/meta.proto rename to src/github.com/ebay/akutan/diskview/meta.proto index 5480b2f..fa464e6 100644 --- a/src/github.com/ebay/beam/diskview/meta.proto +++ b/src/github.com/ebay/akutan/diskview/meta.proto @@ -18,7 +18,7 @@ package diskview; import "github.com/gogo/protobuf/gogoproto/gogo.proto"; import "google/protobuf/timestamp.proto"; -import "github.com/ebay/beam/rpc/views.proto"; +import "github.com/ebay/akutan/rpc/views.proto"; message MetaValue { // obsolete: int64 replayIndex = 1; diff --git a/src/github.com/ebay/beam/diskview/metrics.go b/src/github.com/ebay/akutan/diskview/metrics.go similarity index 95% rename from src/github.com/ebay/beam/diskview/metrics.go rename to src/github.com/ebay/akutan/diskview/metrics.go index 5c6637f..71c6e67 100644 --- a/src/github.com/ebay/beam/diskview/metrics.go +++ b/src/github.com/ebay/akutan/diskview/metrics.go @@ -16,7 +16,7 @@ package diskview import ( - metricsutil "github.com/ebay/beam/util/metrics" + metricsutil "github.com/ebay/akutan/util/metrics" "github.com/prometheus/client_golang/prometheus" ) @@ -30,7 +30,7 @@ func init() { mr := metricsutil.Registry{R: prometheus.DefaultRegisterer} metrics = diskViewMetrics{ lookupStallForLogEntriesSeconds: mr.NewSummary(prometheus.SummaryOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "diskview", Name: "lookup_stall_for_log_entries_seconds", Help: `How long Lookup waits for the requested index to have been applied from the log. diff --git a/src/github.com/ebay/beam/diskview/rocksdb/doc.go b/src/github.com/ebay/akutan/diskview/rocksdb/doc.go similarity index 100% rename from src/github.com/ebay/beam/diskview/rocksdb/doc.go rename to src/github.com/ebay/akutan/diskview/rocksdb/doc.go diff --git a/src/github.com/ebay/beam/diskview/rocksdb/metrics.go b/src/github.com/ebay/akutan/diskview/rocksdb/metrics.go similarity index 98% rename from src/github.com/ebay/beam/diskview/rocksdb/metrics.go rename to src/github.com/ebay/akutan/diskview/rocksdb/metrics.go index 27dfc95..7362e48 100644 --- a/src/github.com/ebay/beam/diskview/rocksdb/metrics.go +++ b/src/github.com/ebay/akutan/diskview/rocksdb/metrics.go @@ -18,7 +18,7 @@ package rocksdb import ( "fmt" - metricsutil "github.com/ebay/beam/util/metrics" + metricsutil "github.com/ebay/akutan/util/metrics" "github.com/prometheus/client_golang/prometheus" ) @@ -208,7 +208,7 @@ level-based.`, h := fmt.Sprintf("%s\n\nThis value is periodically copied from the RocksDB property\n'%s'.", p.help, p.property) pm[i].gauge = mr.NewGauge(prometheus.GaugeOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "rocksdb", Name: p.name, Help: h, @@ -217,7 +217,7 @@ level-based.`, metrics = rocksdbMetrics{ propertiesCollectionDurationSeconds: mr.NewSummary(prometheus.SummaryOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "rocksdb", Name: "properties_collection_duration_seconds", Help: `The time it takes to read RocksDB properties. diff --git a/src/github.com/ebay/beam/diskview/rocksdb/rocksdb.go b/src/github.com/ebay/akutan/diskview/rocksdb/rocksdb.go similarity index 98% rename from src/github.com/ebay/beam/diskview/rocksdb/rocksdb.go rename to src/github.com/ebay/akutan/diskview/rocksdb/rocksdb.go index 516005f..0eef3a7 100644 --- a/src/github.com/ebay/beam/diskview/rocksdb/rocksdb.go +++ b/src/github.com/ebay/akutan/diskview/rocksdb/rocksdb.go @@ -28,10 +28,10 @@ import ( "strings" "time" - "github.com/ebay/beam/config" - "github.com/ebay/beam/diskview/database" - pbytes "github.com/ebay/beam/util/bytes" - "github.com/ebay/beam/util/clocks" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/diskview/database" + pbytes "github.com/ebay/akutan/util/bytes" + "github.com/ebay/akutan/util/clocks" log "github.com/sirupsen/logrus" "github.com/tecbot/gorocksdb" ) diff --git a/src/github.com/ebay/beam/diskview/rocksdb/rocksdb_test.go b/src/github.com/ebay/akutan/diskview/rocksdb/rocksdb_test.go similarity index 98% rename from src/github.com/ebay/beam/diskview/rocksdb/rocksdb_test.go rename to src/github.com/ebay/akutan/diskview/rocksdb/rocksdb_test.go index 0513fde..71c2a39 100644 --- a/src/github.com/ebay/beam/diskview/rocksdb/rocksdb_test.go +++ b/src/github.com/ebay/akutan/diskview/rocksdb/rocksdb_test.go @@ -23,8 +23,8 @@ import ( "os" "testing" - "github.com/ebay/beam/config" - "github.com/ebay/beam/util/random" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/util/random" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/tecbot/gorocksdb" diff --git a/src/github.com/ebay/beam/diskview/wipe.go b/src/github.com/ebay/akutan/diskview/wipe.go similarity index 94% rename from src/github.com/ebay/beam/diskview/wipe.go rename to src/github.com/ebay/akutan/diskview/wipe.go index c3be5ba..8e170ab 100644 --- a/src/github.com/ebay/beam/diskview/wipe.go +++ b/src/github.com/ebay/akutan/diskview/wipe.go @@ -19,11 +19,11 @@ import ( "fmt" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/diskview/database" - "github.com/ebay/beam/diskview/keys" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/diskview/database" + "github.com/ebay/akutan/diskview/keys" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/rpc" log "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/diskview/wipe_test.go b/src/github.com/ebay/akutan/diskview/wipe_test.go similarity index 96% rename from src/github.com/ebay/beam/diskview/wipe_test.go rename to src/github.com/ebay/akutan/diskview/wipe_test.go index 9eb9863..80ce7be 100644 --- a/src/github.com/ebay/beam/diskview/wipe_test.go +++ b/src/github.com/ebay/akutan/diskview/wipe_test.go @@ -19,10 +19,10 @@ import ( "bytes" "testing" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/diskview/database" - "github.com/ebay/beam/diskview/keys" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/diskview/database" + "github.com/ebay/akutan/diskview/keys" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/facts/cache/cache.go b/src/github.com/ebay/akutan/facts/cache/cache.go similarity index 98% rename from src/github.com/ebay/beam/facts/cache/cache.go rename to src/github.com/ebay/akutan/facts/cache/cache.go index 70e46ac..438c795 100644 --- a/src/github.com/ebay/beam/facts/cache/cache.go +++ b/src/github.com/ebay/akutan/facts/cache/cache.go @@ -20,8 +20,8 @@ package cache import ( "sync" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/rpc" ) // Design notes/direction diff --git a/src/github.com/ebay/beam/facts/cache/cache_test.go b/src/github.com/ebay/akutan/facts/cache/cache_test.go similarity index 99% rename from src/github.com/ebay/beam/facts/cache/cache_test.go rename to src/github.com/ebay/akutan/facts/cache/cache_test.go index d4bcd38..da74300 100644 --- a/src/github.com/ebay/beam/facts/cache/cache_test.go +++ b/src/github.com/ebay/akutan/facts/cache/cache_test.go @@ -18,7 +18,7 @@ package cache import ( "testing" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/infer/doc.go b/src/github.com/ebay/akutan/infer/doc.go similarity index 100% rename from src/github.com/ebay/beam/infer/doc.go rename to src/github.com/ebay/akutan/infer/doc.go diff --git a/src/github.com/ebay/beam/infer/fwd_search.go b/src/github.com/ebay/akutan/infer/fwd_search.go similarity index 97% rename from src/github.com/ebay/beam/infer/fwd_search.go rename to src/github.com/ebay/akutan/infer/fwd_search.go index ce3f950..bf1fde2 100644 --- a/src/github.com/ebay/beam/infer/fwd_search.go +++ b/src/github.com/ebay/akutan/infer/fwd_search.go @@ -18,10 +18,10 @@ package infer import ( "context" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/viewclient/lookups" opentracing "github.com/opentracing/opentracing-go" ) diff --git a/src/github.com/ebay/beam/infer/fwd_search_test.go b/src/github.com/ebay/akutan/infer/fwd_search_test.go similarity index 98% rename from src/github.com/ebay/beam/infer/fwd_search_test.go rename to src/github.com/ebay/akutan/infer/fwd_search_test.go index 54139f0..dfa791e 100644 --- a/src/github.com/ebay/beam/infer/fwd_search_test.go +++ b/src/github.com/ebay/akutan/infer/fwd_search_test.go @@ -19,8 +19,8 @@ import ( "context" "testing" - "github.com/ebay/beam/facts/cache" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/facts/cache" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/infer/infer_po.go b/src/github.com/ebay/akutan/infer/infer_po.go similarity index 98% rename from src/github.com/ebay/beam/infer/infer_po.go rename to src/github.com/ebay/akutan/infer/infer_po.go index 40d5c19..deec81c 100644 --- a/src/github.com/ebay/beam/infer/infer_po.go +++ b/src/github.com/ebay/akutan/infer/infer_po.go @@ -18,9 +18,9 @@ package infer import ( "context" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/viewclient/lookups" opentracing "github.com/opentracing/opentracing-go" ) diff --git a/src/github.com/ebay/beam/infer/infer_po_test.go b/src/github.com/ebay/akutan/infer/infer_po_test.go similarity index 98% rename from src/github.com/ebay/beam/infer/infer_po_test.go rename to src/github.com/ebay/akutan/infer/infer_po_test.go index 1b8724b..d0ccff4 100644 --- a/src/github.com/ebay/beam/infer/infer_po_test.go +++ b/src/github.com/ebay/akutan/infer/infer_po_test.go @@ -21,9 +21,9 @@ import ( "sort" "testing" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/viewclient/lookups" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/infer/infer_sp.go b/src/github.com/ebay/akutan/infer/infer_sp.go similarity index 98% rename from src/github.com/ebay/beam/infer/infer_sp.go rename to src/github.com/ebay/akutan/infer/infer_sp.go index 37ee092..99b2eaf 100644 --- a/src/github.com/ebay/beam/infer/infer_sp.go +++ b/src/github.com/ebay/akutan/infer/infer_sp.go @@ -18,8 +18,8 @@ package infer import ( "context" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/viewclient/lookups" opentracing "github.com/opentracing/opentracing-go" ) diff --git a/src/github.com/ebay/beam/infer/infer_sp_test.go b/src/github.com/ebay/akutan/infer/infer_sp_test.go similarity index 95% rename from src/github.com/ebay/beam/infer/infer_sp_test.go rename to src/github.com/ebay/akutan/infer/infer_sp_test.go index db650a5..dde652f 100644 --- a/src/github.com/ebay/beam/infer/infer_sp_test.go +++ b/src/github.com/ebay/akutan/infer/infer_sp_test.go @@ -19,9 +19,9 @@ import ( "context" "testing" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/viewclient/lookups" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/infer/infer_spo.go b/src/github.com/ebay/akutan/infer/infer_spo.go similarity index 98% rename from src/github.com/ebay/beam/infer/infer_spo.go rename to src/github.com/ebay/akutan/infer/infer_spo.go index fc66781..8f74f2a 100644 --- a/src/github.com/ebay/beam/infer/infer_spo.go +++ b/src/github.com/ebay/akutan/infer/infer_spo.go @@ -18,10 +18,10 @@ package infer import ( "context" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/facts/cache" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/facts/cache" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/viewclient/lookups" ) // SPORequest defines 1..N lookups to be executed at the supplied index diff --git a/src/github.com/ebay/beam/infer/infer_spo_test.go b/src/github.com/ebay/akutan/infer/infer_spo_test.go similarity index 98% rename from src/github.com/ebay/beam/infer/infer_spo_test.go rename to src/github.com/ebay/akutan/infer/infer_spo_test.go index ae3dafd..b887133 100644 --- a/src/github.com/ebay/beam/infer/infer_spo_test.go +++ b/src/github.com/ebay/akutan/infer/infer_spo_test.go @@ -19,9 +19,9 @@ import ( "context" "testing" - "github.com/ebay/beam/facts/cache" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/parallel" + "github.com/ebay/akutan/facts/cache" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/parallel" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/src/github.com/ebay/beam/infer/mockstore_for_test.go b/src/github.com/ebay/akutan/infer/mockstore_for_test.go similarity index 98% rename from src/github.com/ebay/beam/infer/mockstore_for_test.go rename to src/github.com/ebay/akutan/infer/mockstore_for_test.go index 17fe1a7..68ec33a 100644 --- a/src/github.com/ebay/beam/infer/mockstore_for_test.go +++ b/src/github.com/ebay/akutan/infer/mockstore_for_test.go @@ -19,9 +19,9 @@ import ( "context" "testing" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/cmp" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/logentry/commands.proto b/src/github.com/ebay/akutan/logentry/commands.proto similarity index 98% rename from src/github.com/ebay/beam/logentry/commands.proto rename to src/github.com/ebay/akutan/logentry/commands.proto index 7885e38..288d189 100644 --- a/src/github.com/ebay/beam/logentry/commands.proto +++ b/src/github.com/ebay/akutan/logentry/commands.proto @@ -26,7 +26,7 @@ import "google/protobuf/timestamp.proto"; // In commentary, Writer refers to any service that creates & writes log // entries. Reader refers to any service that reads and processes log messages. // -// The file src/github.com/ebay/beam/api/readme.go contains details of how the types +// The file src/github.com/ebay/akutan/api/readme.go contains details of how the types // in related packages are used, and why they exist. // About Versioning @@ -201,7 +201,7 @@ message WipeCommand { } // SkippedCommand represents a log entry that should be skipped. We don't expect -// these to be peristed to the log by Beam, but log reads where the log service +// these to be peristed to the log by Akutan, but log reads where the log service // marks the entry as skipped are mapped to this type. message SkippedCommand { } diff --git a/src/github.com/ebay/beam/logentry/doc.go b/src/github.com/ebay/akutan/logentry/doc.go similarity index 100% rename from src/github.com/ebay/beam/logentry/doc.go rename to src/github.com/ebay/akutan/logentry/doc.go diff --git a/src/github.com/ebay/beam/logentry/logencoder/cmds.go b/src/github.com/ebay/akutan/logentry/logencoder/cmds.go similarity index 100% rename from src/github.com/ebay/beam/logentry/logencoder/cmds.go rename to src/github.com/ebay/akutan/logentry/logencoder/cmds.go diff --git a/src/github.com/ebay/beam/logentry/logencoder/decode.go b/src/github.com/ebay/akutan/logentry/logencoder/decode.go similarity index 98% rename from src/github.com/ebay/beam/logentry/logencoder/decode.go rename to src/github.com/ebay/akutan/logentry/logencoder/decode.go index ae98c47..aa6252c 100644 --- a/src/github.com/ebay/beam/logentry/logencoder/decode.go +++ b/src/github.com/ebay/akutan/logentry/logencoder/decode.go @@ -18,9 +18,9 @@ package logencoder import ( "fmt" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/rpc" "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/logentry/logencoder/decode_test.go b/src/github.com/ebay/akutan/logentry/logencoder/decode_test.go similarity index 97% rename from src/github.com/ebay/beam/logentry/logencoder/decode_test.go rename to src/github.com/ebay/akutan/logentry/logencoder/decode_test.go index ef0904b..a11b2ec 100644 --- a/src/github.com/ebay/beam/logentry/logencoder/decode_test.go +++ b/src/github.com/ebay/akutan/logentry/logencoder/decode_test.go @@ -19,9 +19,9 @@ import ( "fmt" "testing" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/logentry/logencoder/encode.go b/src/github.com/ebay/akutan/logentry/logencoder/encode.go similarity index 94% rename from src/github.com/ebay/beam/logentry/logencoder/encode.go rename to src/github.com/ebay/akutan/logentry/logencoder/encode.go index d5b8da6..75b0d82 100644 --- a/src/github.com/ebay/beam/logentry/logencoder/encode.go +++ b/src/github.com/ebay/akutan/logentry/logencoder/encode.go @@ -16,7 +16,7 @@ package logencoder import ( - "github.com/ebay/beam/logentry" + "github.com/ebay/akutan/logentry" "github.com/sirupsen/logrus" ) @@ -30,7 +30,7 @@ type ProtobufCommand interface { } // Encode will take the supplied command and serialize into a format -// suitable for persisting to the beam log. cmd should be one of the +// suitable for persisting to the log. cmd should be one of the // *Command types from the logentry package. If its unable to serialize // the Command, that implies a programmer error somewhere, and it will // panic. diff --git a/src/github.com/ebay/beam/logentry/logencoder/encode_test.go b/src/github.com/ebay/akutan/logentry/logencoder/encode_test.go similarity index 95% rename from src/github.com/ebay/beam/logentry/logencoder/encode_test.go rename to src/github.com/ebay/akutan/logentry/logencoder/encode_test.go index 9a27ba6..deb2e71 100644 --- a/src/github.com/ebay/beam/logentry/logencoder/encode_test.go +++ b/src/github.com/ebay/akutan/logentry/logencoder/encode_test.go @@ -20,9 +20,9 @@ import ( "errors" "testing" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logwrite" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logwrite" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/logentry/logread/fact.go b/src/github.com/ebay/akutan/logentry/logread/fact.go similarity index 96% rename from src/github.com/ebay/beam/logentry/logread/fact.go rename to src/github.com/ebay/akutan/logentry/logread/fact.go index 564156c..129074f 100644 --- a/src/github.com/ebay/beam/logentry/logread/fact.go +++ b/src/github.com/ebay/akutan/logentry/logread/fact.go @@ -20,9 +20,9 @@ package logread import ( "fmt" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/rpc" ) // ToRPCFact converts a log representation of a InsertFact into the internal diff --git a/src/github.com/ebay/beam/logentry/logread/fact_test.go b/src/github.com/ebay/akutan/logentry/logread/fact_test.go similarity index 91% rename from src/github.com/ebay/beam/logentry/logread/fact_test.go rename to src/github.com/ebay/akutan/logentry/logread/fact_test.go index 370744a..2486840 100644 --- a/src/github.com/ebay/beam/logentry/logread/fact_test.go +++ b/src/github.com/ebay/akutan/logentry/logread/fact_test.go @@ -19,12 +19,12 @@ import ( "testing" "time" - "github.com/ebay/beam/api" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logwrite" - "github.com/ebay/beam/msg/kgobject" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logwrite" + "github.com/ebay/akutan/msg/kgobject" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/logentry/logread/kid.go b/src/github.com/ebay/akutan/logentry/logread/kid.go similarity index 97% rename from src/github.com/ebay/beam/logentry/logread/kid.go rename to src/github.com/ebay/akutan/logentry/logread/kid.go index bd311cf..5fe3f87 100644 --- a/src/github.com/ebay/beam/logentry/logread/kid.go +++ b/src/github.com/ebay/akutan/logentry/logread/kid.go @@ -16,8 +16,8 @@ package logread import ( - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/logentry/logread/kid_test.go b/src/github.com/ebay/akutan/logentry/logread/kid_test.go similarity index 95% rename from src/github.com/ebay/beam/logentry/logread/kid_test.go rename to src/github.com/ebay/akutan/logentry/logread/kid_test.go index fe20044..faea1bc 100644 --- a/src/github.com/ebay/beam/logentry/logread/kid_test.go +++ b/src/github.com/ebay/akutan/logentry/logread/kid_test.go @@ -18,8 +18,8 @@ package logread import ( "testing" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/logentry/logwrite/builder.go b/src/github.com/ebay/akutan/logentry/logwrite/builder.go similarity index 99% rename from src/github.com/ebay/beam/logentry/logwrite/builder.go rename to src/github.com/ebay/akutan/logentry/logwrite/builder.go index dd37e35..871dd34 100644 --- a/src/github.com/ebay/beam/logentry/logwrite/builder.go +++ b/src/github.com/ebay/akutan/logentry/logwrite/builder.go @@ -18,7 +18,7 @@ package logwrite import ( "time" - "github.com/ebay/beam/logentry" + "github.com/ebay/akutan/logentry" ) // InsertFactBuilder is used to construct new logentry.InsertFact instances. It diff --git a/src/github.com/ebay/beam/logentry/logwrite/builder_test.go b/src/github.com/ebay/akutan/logentry/logwrite/builder_test.go similarity index 98% rename from src/github.com/ebay/beam/logentry/logwrite/builder_test.go rename to src/github.com/ebay/akutan/logentry/logwrite/builder_test.go index 4ca4af0..a2340e8 100644 --- a/src/github.com/ebay/beam/logentry/logwrite/builder_test.go +++ b/src/github.com/ebay/akutan/logentry/logwrite/builder_test.go @@ -19,7 +19,7 @@ import ( "testing" "time" - "github.com/ebay/beam/logentry" + "github.com/ebay/akutan/logentry" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/logentry/logwrite/doc.go b/src/github.com/ebay/akutan/logentry/logwrite/doc.go similarity index 100% rename from src/github.com/ebay/beam/logentry/logwrite/doc.go rename to src/github.com/ebay/akutan/logentry/logwrite/doc.go diff --git a/src/github.com/ebay/beam/logentry/logwrite/kgobject.go b/src/github.com/ebay/akutan/logentry/logwrite/kgobject.go similarity index 98% rename from src/github.com/ebay/beam/logentry/logwrite/kgobject.go rename to src/github.com/ebay/akutan/logentry/logwrite/kgobject.go index 46fcaa8..768c284 100644 --- a/src/github.com/ebay/beam/logentry/logwrite/kgobject.go +++ b/src/github.com/ebay/akutan/logentry/logwrite/kgobject.go @@ -18,7 +18,7 @@ package logwrite import ( "time" - "github.com/ebay/beam/logentry" + "github.com/ebay/akutan/logentry" ) // koKid returns a KIDOrOffset configured with the supplied KID diff --git a/src/github.com/ebay/beam/logspec/doc.go b/src/github.com/ebay/akutan/logspec/doc.go similarity index 90% rename from src/github.com/ebay/beam/logspec/doc.go rename to src/github.com/ebay/akutan/logspec/doc.go index f549a7e..6cc17db 100644 --- a/src/github.com/ebay/beam/logspec/doc.go +++ b/src/github.com/ebay/akutan/logspec/doc.go @@ -13,5 +13,5 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Package logspec contains ProtoBuf-generated types for Beam's log. +// Package logspec contains ProtoBuf-generated types for Akutan's log. package logspec diff --git a/src/github.com/ebay/beam/msg/facts/wellknown.go b/src/github.com/ebay/akutan/msg/facts/wellknown.go similarity index 99% rename from src/github.com/ebay/beam/msg/facts/wellknown.go rename to src/github.com/ebay/akutan/msg/facts/wellknown.go index 21f52e2..bb9a907 100644 --- a/src/github.com/ebay/beam/msg/facts/wellknown.go +++ b/src/github.com/ebay/akutan/msg/facts/wellknown.go @@ -19,7 +19,7 @@ package facts import ( "fmt" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/rpc" ) const ( diff --git a/src/github.com/ebay/beam/msg/facts/wellknown_test.go b/src/github.com/ebay/akutan/msg/facts/wellknown_test.go similarity index 100% rename from src/github.com/ebay/beam/msg/facts/wellknown_test.go rename to src/github.com/ebay/akutan/msg/facts/wellknown_test.go diff --git a/src/github.com/ebay/beam/msg/kgobject/make.go b/src/github.com/ebay/akutan/msg/kgobject/make.go similarity index 99% rename from src/github.com/ebay/beam/msg/kgobject/make.go rename to src/github.com/ebay/akutan/msg/kgobject/make.go index f464e24..09fe16e 100644 --- a/src/github.com/ebay/beam/msg/kgobject/make.go +++ b/src/github.com/ebay/akutan/msg/kgobject/make.go @@ -19,7 +19,7 @@ package kgobject import ( "time" - "github.com/ebay/beam/api" + "github.com/ebay/akutan/api" ) // AString returns a new KGObject instance containing the supplied string and language ID. diff --git a/src/github.com/ebay/beam/partitioning/facts.go b/src/github.com/ebay/akutan/partitioning/facts.go similarity index 99% rename from src/github.com/ebay/beam/partitioning/facts.go rename to src/github.com/ebay/akutan/partitioning/facts.go index 5858277..69dd818 100644 --- a/src/github.com/ebay/beam/partitioning/facts.go +++ b/src/github.com/ebay/akutan/partitioning/facts.go @@ -26,8 +26,8 @@ import ( "strings" "github.com/cespare/xxhash" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/space" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/space" ) // FactPartition describes a particular partitioning of fact data, the diff --git a/src/github.com/ebay/beam/partitioning/facts_test.go b/src/github.com/ebay/akutan/partitioning/facts_test.go similarity index 99% rename from src/github.com/ebay/beam/partitioning/facts_test.go rename to src/github.com/ebay/akutan/partitioning/facts_test.go index e2a3a3b..a387bb2 100644 --- a/src/github.com/ebay/beam/partitioning/facts_test.go +++ b/src/github.com/ebay/akutan/partitioning/facts_test.go @@ -19,8 +19,8 @@ import ( "fmt" "testing" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/space" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/space" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/exec/binder.go b/src/github.com/ebay/akutan/query/exec/binder.go similarity index 98% rename from src/github.com/ebay/beam/query/exec/binder.go rename to src/github.com/ebay/akutan/query/exec/binder.go index 36e0d6e..729c61b 100644 --- a/src/github.com/ebay/beam/query/exec/binder.go +++ b/src/github.com/ebay/akutan/query/exec/binder.go @@ -19,8 +19,8 @@ import ( "context" "fmt" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" ) // valueBinder allows for a queryOp to resolve the value bound to the supplied diff --git a/src/github.com/ebay/beam/query/exec/binder_test.go b/src/github.com/ebay/akutan/query/exec/binder_test.go similarity index 99% rename from src/github.com/ebay/beam/query/exec/binder_test.go rename to src/github.com/ebay/akutan/query/exec/binder_test.go index 636efc4..97c0380 100644 --- a/src/github.com/ebay/beam/query/exec/binder_test.go +++ b/src/github.com/ebay/akutan/query/exec/binder_test.go @@ -20,8 +20,8 @@ import ( "errors" "testing" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/src/github.com/ebay/beam/query/exec/distinct.go b/src/github.com/ebay/akutan/query/exec/distinct.go similarity index 96% rename from src/github.com/ebay/beam/query/exec/distinct.go rename to src/github.com/ebay/akutan/query/exec/distinct.go index d4e02ee..5cdc716 100644 --- a/src/github.com/ebay/beam/query/exec/distinct.go +++ b/src/github.com/ebay/akutan/query/exec/distinct.go @@ -19,8 +19,8 @@ import ( "context" "fmt" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/util/parallel" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/util/parallel" ) // newDistinctOp returns a new operator for the distinct operation. When diff --git a/src/github.com/ebay/beam/query/exec/distinct_test.go b/src/github.com/ebay/akutan/query/exec/distinct_test.go similarity index 98% rename from src/github.com/ebay/beam/query/exec/distinct_test.go rename to src/github.com/ebay/akutan/query/exec/distinct_test.go index 2e3474d..1d03022 100644 --- a/src/github.com/ebay/beam/query/exec/distinct_test.go +++ b/src/github.com/ebay/akutan/query/exec/distinct_test.go @@ -19,8 +19,8 @@ import ( "context" "testing" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/exec/doc.go b/src/github.com/ebay/akutan/query/exec/doc.go similarity index 100% rename from src/github.com/ebay/beam/query/exec/doc.go rename to src/github.com/ebay/akutan/query/exec/doc.go diff --git a/src/github.com/ebay/beam/query/exec/enumerate.go b/src/github.com/ebay/akutan/query/exec/enumerate.go similarity index 97% rename from src/github.com/ebay/beam/query/exec/enumerate.go rename to src/github.com/ebay/akutan/query/exec/enumerate.go index 609657b..21953c2 100644 --- a/src/github.com/ebay/beam/query/exec/enumerate.go +++ b/src/github.com/ebay/akutan/query/exec/enumerate.go @@ -19,8 +19,8 @@ import ( "context" "fmt" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/query/exec/enumerate_test.go b/src/github.com/ebay/akutan/query/exec/enumerate_test.go similarity index 96% rename from src/github.com/ebay/beam/query/exec/enumerate_test.go rename to src/github.com/ebay/akutan/query/exec/enumerate_test.go index 316f4f3..bb16333 100644 --- a/src/github.com/ebay/beam/query/exec/enumerate_test.go +++ b/src/github.com/ebay/akutan/query/exec/enumerate_test.go @@ -20,12 +20,12 @@ import ( "fmt" "testing" - "github.com/ebay/beam/facts/cache" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/clocks" - "github.com/ebay/beam/viewclient/lookups/mocklookups" + "github.com/ebay/akutan/facts/cache" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/clocks" + "github.com/ebay/akutan/viewclient/lookups/mocklookups" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/exec/events.go b/src/github.com/ebay/akutan/query/exec/events.go similarity index 96% rename from src/github.com/ebay/beam/query/exec/events.go rename to src/github.com/ebay/akutan/query/exec/events.go index d8d25e6..920ef57 100644 --- a/src/github.com/ebay/beam/query/exec/events.go +++ b/src/github.com/ebay/akutan/query/exec/events.go @@ -18,8 +18,8 @@ package exec import ( "time" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/util/clocks" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/util/clocks" ) // Events receives callbacks about the progress of the query execution. diff --git a/src/github.com/ebay/beam/query/exec/exec.go b/src/github.com/ebay/akutan/query/exec/exec.go similarity index 97% rename from src/github.com/ebay/beam/query/exec/exec.go rename to src/github.com/ebay/akutan/query/exec/exec.go index fa5259a..8d0c901 100644 --- a/src/github.com/ebay/beam/query/exec/exec.go +++ b/src/github.com/ebay/akutan/query/exec/exec.go @@ -19,10 +19,10 @@ import ( "context" "fmt" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/facts/cache" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/facts/cache" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/viewclient/lookups" opentracing "github.com/opentracing/opentracing-go" ) diff --git a/src/github.com/ebay/beam/query/exec/exec_test.go b/src/github.com/ebay/akutan/query/exec/exec_test.go similarity index 96% rename from src/github.com/ebay/beam/query/exec/exec_test.go rename to src/github.com/ebay/akutan/query/exec/exec_test.go index fe06e9e..6c8ad0f 100644 --- a/src/github.com/ebay/beam/query/exec/exec_test.go +++ b/src/github.com/ebay/akutan/query/exec/exec_test.go @@ -21,10 +21,10 @@ import ( "testing" "time" - "github.com/ebay/beam/facts/cache" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/clocks" + "github.com/ebay/akutan/facts/cache" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/clocks" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/exec/expressions.go b/src/github.com/ebay/akutan/query/exec/expressions.go similarity index 96% rename from src/github.com/ebay/beam/query/exec/expressions.go rename to src/github.com/ebay/akutan/query/exec/expressions.go index b3e40bd..b891a03 100644 --- a/src/github.com/ebay/beam/query/exec/expressions.go +++ b/src/github.com/ebay/akutan/query/exec/expressions.go @@ -18,9 +18,9 @@ package exec import ( "fmt" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" ) // exprEvaluator is used to calculate the result of an expression used in a diff --git a/src/github.com/ebay/beam/query/exec/expressions_test.go b/src/github.com/ebay/akutan/query/exec/expressions_test.go similarity index 94% rename from src/github.com/ebay/beam/query/exec/expressions_test.go rename to src/github.com/ebay/akutan/query/exec/expressions_test.go index 4971ab0..a59f8e8 100644 --- a/src/github.com/ebay/beam/query/exec/expressions_test.go +++ b/src/github.com/ebay/akutan/query/exec/expressions_test.go @@ -18,9 +18,9 @@ package exec import ( "testing" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/exec/factset.go b/src/github.com/ebay/akutan/query/exec/factset.go similarity index 98% rename from src/github.com/ebay/beam/query/exec/factset.go rename to src/github.com/ebay/akutan/query/exec/factset.go index b365314..d68efe1 100644 --- a/src/github.com/ebay/beam/query/exec/factset.go +++ b/src/github.com/ebay/akutan/query/exec/factset.go @@ -19,8 +19,8 @@ import ( "fmt" "strings" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" ) // FactSet represents the facts that make up a result row from an operator. It diff --git a/src/github.com/ebay/beam/query/exec/factset_test.go b/src/github.com/ebay/akutan/query/exec/factset_test.go similarity index 98% rename from src/github.com/ebay/beam/query/exec/factset_test.go rename to src/github.com/ebay/akutan/query/exec/factset_test.go index 8d62983..fbc2bd8 100644 --- a/src/github.com/ebay/beam/query/exec/factset_test.go +++ b/src/github.com/ebay/akutan/query/exec/factset_test.go @@ -18,8 +18,8 @@ package exec import ( "testing" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/exec/join_common_test.go b/src/github.com/ebay/akutan/query/exec/join_common_test.go similarity index 98% rename from src/github.com/ebay/beam/query/exec/join_common_test.go rename to src/github.com/ebay/akutan/query/exec/join_common_test.go index 56ee551..5e248a8 100644 --- a/src/github.com/ebay/beam/query/exec/join_common_test.go +++ b/src/github.com/ebay/akutan/query/exec/join_common_test.go @@ -19,10 +19,10 @@ import ( "errors" "testing" - "github.com/ebay/beam/facts/cache" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/facts/cache" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/exec/join_hash.go b/src/github.com/ebay/akutan/query/exec/join_hash.go similarity index 98% rename from src/github.com/ebay/beam/query/exec/join_hash.go rename to src/github.com/ebay/akutan/query/exec/join_hash.go index 52bd09e..4d19012 100644 --- a/src/github.com/ebay/beam/query/exec/join_hash.go +++ b/src/github.com/ebay/akutan/query/exec/join_hash.go @@ -19,9 +19,9 @@ import ( "context" "fmt" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/util/parallel" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/util/parallel" "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/query/exec/join_hash_test.go b/src/github.com/ebay/akutan/query/exec/join_hash_test.go similarity index 96% rename from src/github.com/ebay/beam/query/exec/join_hash_test.go rename to src/github.com/ebay/akutan/query/exec/join_hash_test.go index a70148f..27fca97 100644 --- a/src/github.com/ebay/beam/query/exec/join_hash_test.go +++ b/src/github.com/ebay/akutan/query/exec/join_hash_test.go @@ -19,8 +19,8 @@ import ( "context" "testing" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/exec/join_loop.go b/src/github.com/ebay/akutan/query/exec/join_loop.go similarity index 98% rename from src/github.com/ebay/beam/query/exec/join_loop.go rename to src/github.com/ebay/akutan/query/exec/join_loop.go index c5f2298..064e89c 100644 --- a/src/github.com/ebay/beam/query/exec/join_loop.go +++ b/src/github.com/ebay/akutan/query/exec/join_loop.go @@ -19,10 +19,10 @@ import ( "context" "fmt" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/util/errors" - "github.com/ebay/beam/util/parallel" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/util/errors" + "github.com/ebay/akutan/util/parallel" "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/query/exec/join_loop_test.go b/src/github.com/ebay/akutan/query/exec/join_loop_test.go similarity index 97% rename from src/github.com/ebay/beam/query/exec/join_loop_test.go rename to src/github.com/ebay/akutan/query/exec/join_loop_test.go index d438d48..74120a6 100644 --- a/src/github.com/ebay/beam/query/exec/join_loop_test.go +++ b/src/github.com/ebay/akutan/query/exec/join_loop_test.go @@ -19,9 +19,9 @@ import ( "context" "testing" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/exec/limit_offset.go b/src/github.com/ebay/akutan/query/exec/limit_offset.go similarity index 96% rename from src/github.com/ebay/beam/query/exec/limit_offset.go rename to src/github.com/ebay/akutan/query/exec/limit_offset.go index c187fe7..155e314 100644 --- a/src/github.com/ebay/beam/query/exec/limit_offset.go +++ b/src/github.com/ebay/akutan/query/exec/limit_offset.go @@ -20,8 +20,8 @@ import ( "fmt" "math" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/util/parallel" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/util/parallel" ) // newLimitAndOffsetOp returns a new operator for the pagination operation. It diff --git a/src/github.com/ebay/beam/query/exec/limit_offset_test.go b/src/github.com/ebay/akutan/query/exec/limit_offset_test.go similarity index 98% rename from src/github.com/ebay/beam/query/exec/limit_offset_test.go rename to src/github.com/ebay/akutan/query/exec/limit_offset_test.go index d01dc32..1192bc3 100644 --- a/src/github.com/ebay/beam/query/exec/limit_offset_test.go +++ b/src/github.com/ebay/akutan/query/exec/limit_offset_test.go @@ -19,7 +19,7 @@ import ( "math" "testing" - "github.com/ebay/beam/query/planner/plandef" + "github.com/ebay/akutan/query/planner/plandef" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/exec/lookups.go b/src/github.com/ebay/akutan/query/exec/lookups.go similarity index 97% rename from src/github.com/ebay/beam/query/exec/lookups.go rename to src/github.com/ebay/akutan/query/exec/lookups.go index a1209c7..d63ebc5 100644 --- a/src/github.com/ebay/beam/query/exec/lookups.go +++ b/src/github.com/ebay/akutan/query/exec/lookups.go @@ -19,13 +19,13 @@ import ( "context" "fmt" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/facts/cache" - "github.com/ebay/beam/infer" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/facts/cache" + "github.com/ebay/akutan/infer" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/viewclient/lookups" ) // all the InferX and LookupX operators are leaf nodes and geneate a FactSet of 1 fact diff --git a/src/github.com/ebay/beam/query/exec/lookups_test.go b/src/github.com/ebay/akutan/query/exec/lookups_test.go similarity index 99% rename from src/github.com/ebay/beam/query/exec/lookups_test.go rename to src/github.com/ebay/akutan/query/exec/lookups_test.go index cdf64a1..f18bf97 100644 --- a/src/github.com/ebay/beam/query/exec/lookups_test.go +++ b/src/github.com/ebay/akutan/query/exec/lookups_test.go @@ -19,11 +19,11 @@ import ( "errors" "testing" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/facts/cache" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/viewclient/lookups/mocklookups" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/facts/cache" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/viewclient/lookups/mocklookups" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/exec/orderby.go b/src/github.com/ebay/akutan/query/exec/orderby.go similarity index 96% rename from src/github.com/ebay/beam/query/exec/orderby.go rename to src/github.com/ebay/akutan/query/exec/orderby.go index 28878b5..5a3cd2e 100644 --- a/src/github.com/ebay/beam/query/exec/orderby.go +++ b/src/github.com/ebay/akutan/query/exec/orderby.go @@ -21,9 +21,9 @@ import ( "sort" "strings" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/parallel" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/parallel" ) // newOrderByOp returns a OrderBy operator. diff --git a/src/github.com/ebay/beam/query/exec/orderby_test.go b/src/github.com/ebay/akutan/query/exec/orderby_test.go similarity index 98% rename from src/github.com/ebay/beam/query/exec/orderby_test.go rename to src/github.com/ebay/akutan/query/exec/orderby_test.go index c479294..9ab02f6 100644 --- a/src/github.com/ebay/beam/query/exec/orderby_test.go +++ b/src/github.com/ebay/akutan/query/exec/orderby_test.go @@ -19,10 +19,10 @@ import ( "testing" "time" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/exec/projection.go b/src/github.com/ebay/akutan/query/exec/projection.go similarity index 97% rename from src/github.com/ebay/beam/query/exec/projection.go rename to src/github.com/ebay/akutan/query/exec/projection.go index 7bb9ec3..f5ba242 100644 --- a/src/github.com/ebay/beam/query/exec/projection.go +++ b/src/github.com/ebay/akutan/query/exec/projection.go @@ -19,12 +19,12 @@ import ( "context" "fmt" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/msg/facts" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/msg/facts" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/viewclient/lookups" ) // newProjection returns a projection operator (aka SELECT). When executed it diff --git a/src/github.com/ebay/beam/query/exec/projection_test.go b/src/github.com/ebay/akutan/query/exec/projection_test.go similarity index 99% rename from src/github.com/ebay/beam/query/exec/projection_test.go rename to src/github.com/ebay/akutan/query/exec/projection_test.go index 9eec8c3..a2df6b8 100644 --- a/src/github.com/ebay/beam/query/exec/projection_test.go +++ b/src/github.com/ebay/akutan/query/exec/projection_test.go @@ -23,10 +23,10 @@ import ( "testing" "time" - "github.com/ebay/beam/msg/facts" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/msg/facts" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/exec/resultchunk.go b/src/github.com/ebay/akutan/query/exec/resultchunk.go similarity index 99% rename from src/github.com/ebay/beam/query/exec/resultchunk.go rename to src/github.com/ebay/akutan/query/exec/resultchunk.go index 5209544..d813df1 100644 --- a/src/github.com/ebay/beam/query/exec/resultchunk.go +++ b/src/github.com/ebay/akutan/query/exec/resultchunk.go @@ -22,8 +22,8 @@ import ( "strings" "sync" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/util/table" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/util/table" ) // ResultChunk contains a slice of rows from a table of a single QueryOperator's diff --git a/src/github.com/ebay/beam/query/exec/resultchunk_test.go b/src/github.com/ebay/akutan/query/exec/resultchunk_test.go similarity index 98% rename from src/github.com/ebay/beam/query/exec/resultchunk_test.go rename to src/github.com/ebay/akutan/query/exec/resultchunk_test.go index 8d26a54..ea525c3 100644 --- a/src/github.com/ebay/beam/query/exec/resultchunk_test.go +++ b/src/github.com/ebay/akutan/query/exec/resultchunk_test.go @@ -22,9 +22,9 @@ import ( "testing" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/src/github.com/ebay/beam/query/exec/select.go b/src/github.com/ebay/akutan/query/exec/select.go similarity index 98% rename from src/github.com/ebay/beam/query/exec/select.go rename to src/github.com/ebay/akutan/query/exec/select.go index a3915a8..41827fe 100644 --- a/src/github.com/ebay/beam/query/exec/select.go +++ b/src/github.com/ebay/akutan/query/exec/select.go @@ -20,9 +20,9 @@ import ( "fmt" "strings" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/parallel" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/parallel" ) // TODO: What are the comparison/selection semantics for langID/unitID ? diff --git a/src/github.com/ebay/beam/query/exec/select_test.go b/src/github.com/ebay/akutan/query/exec/select_test.go similarity index 98% rename from src/github.com/ebay/beam/query/exec/select_test.go rename to src/github.com/ebay/akutan/query/exec/select_test.go index ef24c84..b6020e2 100644 --- a/src/github.com/ebay/beam/query/exec/select_test.go +++ b/src/github.com/ebay/akutan/query/exec/select_test.go @@ -19,10 +19,10 @@ import ( "math/rand" "testing" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/query/planner/search" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/random" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/query/planner/search" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/random" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/exec/testhelpers_test.go b/src/github.com/ebay/akutan/query/exec/testhelpers_test.go similarity index 98% rename from src/github.com/ebay/beam/query/exec/testhelpers_test.go rename to src/github.com/ebay/akutan/query/exec/testhelpers_test.go index 7eaafbd..8b0806c 100644 --- a/src/github.com/ebay/beam/query/exec/testhelpers_test.go +++ b/src/github.com/ebay/akutan/query/exec/testhelpers_test.go @@ -22,10 +22,10 @@ import ( "sync" "testing" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/clocks" - "github.com/ebay/beam/util/parallel" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/clocks" + "github.com/ebay/akutan/util/parallel" "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/src/github.com/ebay/beam/query/internal/debug/doc.go b/src/github.com/ebay/akutan/query/internal/debug/doc.go similarity index 100% rename from src/github.com/ebay/beam/query/internal/debug/doc.go rename to src/github.com/ebay/akutan/query/internal/debug/doc.go diff --git a/src/github.com/ebay/beam/query/internal/debug/exec.go b/src/github.com/ebay/akutan/query/internal/debug/exec.go similarity index 95% rename from src/github.com/ebay/beam/query/internal/debug/exec.go rename to src/github.com/ebay/akutan/query/internal/debug/exec.go index 4632480..1968f9b 100644 --- a/src/github.com/ebay/beam/query/internal/debug/exec.go +++ b/src/github.com/ebay/akutan/query/internal/debug/exec.go @@ -21,11 +21,11 @@ import ( "sync" "time" - "github.com/ebay/beam/query/exec" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/util/bytes" - "github.com/ebay/beam/util/clocks" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/query/exec" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/util/bytes" + "github.com/ebay/akutan/util/clocks" + "github.com/ebay/akutan/util/cmp" ) // execEvents implements qexec.Events, capturing OpCompleted events. It diff --git a/src/github.com/ebay/beam/query/internal/debug/exec_test.go b/src/github.com/ebay/akutan/query/internal/debug/exec_test.go similarity index 96% rename from src/github.com/ebay/beam/query/internal/debug/exec_test.go rename to src/github.com/ebay/akutan/query/internal/debug/exec_test.go index 2fc993c..aadc1a7 100644 --- a/src/github.com/ebay/beam/query/internal/debug/exec_test.go +++ b/src/github.com/ebay/akutan/query/internal/debug/exec_test.go @@ -19,8 +19,8 @@ import ( "testing" "time" - "github.com/ebay/beam/query/exec" - "github.com/ebay/beam/query/planner/plandef" + "github.com/ebay/akutan/query/exec" + "github.com/ebay/akutan/query/planner/plandef" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/internal/debug/lookups.go b/src/github.com/ebay/akutan/query/internal/debug/lookups.go similarity index 96% rename from src/github.com/ebay/beam/query/internal/debug/lookups.go rename to src/github.com/ebay/akutan/query/internal/debug/lookups.go index 11d863c..ce7e447 100644 --- a/src/github.com/ebay/beam/query/internal/debug/lookups.go +++ b/src/github.com/ebay/akutan/query/internal/debug/lookups.go @@ -21,11 +21,11 @@ import ( "sync" "time" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/bytes" - "github.com/ebay/beam/util/clocks" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/bytes" + "github.com/ebay/akutan/util/clocks" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/viewclient/lookups" ) // queryLookupStats tracks execution stats for all lookup RPCs used during a diff --git a/src/github.com/ebay/beam/query/internal/debug/lookups_test.go b/src/github.com/ebay/akutan/query/internal/debug/lookups_test.go similarity index 96% rename from src/github.com/ebay/beam/query/internal/debug/lookups_test.go rename to src/github.com/ebay/akutan/query/internal/debug/lookups_test.go index 1342377..8b6383c 100644 --- a/src/github.com/ebay/beam/query/internal/debug/lookups_test.go +++ b/src/github.com/ebay/akutan/query/internal/debug/lookups_test.go @@ -21,9 +21,9 @@ import ( "testing" "time" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/clocks" - "github.com/ebay/beam/viewclient/lookups/mocklookups" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/clocks" + "github.com/ebay/akutan/viewclient/lookups/mocklookups" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/internal/debug/planner_stats.go b/src/github.com/ebay/akutan/query/internal/debug/planner_stats.go similarity index 97% rename from src/github.com/ebay/beam/query/internal/debug/planner_stats.go rename to src/github.com/ebay/akutan/query/internal/debug/planner_stats.go index 0972313..329f115 100644 --- a/src/github.com/ebay/beam/query/internal/debug/planner_stats.go +++ b/src/github.com/ebay/akutan/query/internal/debug/planner_stats.go @@ -21,10 +21,10 @@ import ( "strconv" "strings" - "github.com/ebay/beam/query/planner" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/bytes" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/query/planner" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/bytes" + "github.com/ebay/akutan/util/cmp" ) // plannerStats tracks which statistic the planner asked for during the planning diff --git a/src/github.com/ebay/beam/query/internal/debug/planner_stats_test.go b/src/github.com/ebay/akutan/query/internal/debug/planner_stats_test.go similarity index 98% rename from src/github.com/ebay/beam/query/internal/debug/planner_stats_test.go rename to src/github.com/ebay/akutan/query/internal/debug/planner_stats_test.go index b51a01c..12d0ce3 100644 --- a/src/github.com/ebay/beam/query/internal/debug/planner_stats_test.go +++ b/src/github.com/ebay/akutan/query/internal/debug/planner_stats_test.go @@ -19,7 +19,7 @@ import ( "strings" "testing" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/internal/debug/tracker.go b/src/github.com/ebay/akutan/query/internal/debug/tracker.go similarity index 94% rename from src/github.com/ebay/beam/query/internal/debug/tracker.go rename to src/github.com/ebay/akutan/query/internal/debug/tracker.go index 2f1fbb8..eda90ab 100644 --- a/src/github.com/ebay/beam/query/internal/debug/tracker.go +++ b/src/github.com/ebay/akutan/query/internal/debug/tracker.go @@ -25,15 +25,15 @@ import ( "sync/atomic" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/query/exec" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/query/planner/search" - "github.com/ebay/beam/util/bytes" - "github.com/ebay/beam/util/clocks" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/query/exec" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/query/planner/search" + "github.com/ebay/akutan/util/bytes" + "github.com/ebay/akutan/util/clocks" + "github.com/ebay/akutan/viewclient/lookups" "github.com/sirupsen/logrus" ) @@ -101,7 +101,7 @@ type debugTracker struct { rewritten time.Time planned time.Time // after the rewrite is completed, the mapping of externalID to internal - // KIDs is populated in here. The data is extracted from the beamql.Query + // KIDs is populated in here. The data is extracted from the akutanql.Query externalIDs map[uint64]string // out is where the report will be written to. out *bufio.Writer diff --git a/src/github.com/ebay/beam/query/internal/debug/tracker_test.go b/src/github.com/ebay/akutan/query/internal/debug/tracker_test.go similarity index 94% rename from src/github.com/ebay/beam/query/internal/debug/tracker_test.go rename to src/github.com/ebay/akutan/query/internal/debug/tracker_test.go index 071eb2c..0a6fc94 100644 --- a/src/github.com/ebay/beam/query/internal/debug/tracker_test.go +++ b/src/github.com/ebay/akutan/query/internal/debug/tracker_test.go @@ -20,9 +20,9 @@ import ( "strings" "testing" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/util/clocks" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/util/clocks" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/metrics.go b/src/github.com/ebay/akutan/query/metrics.go similarity index 94% rename from src/github.com/ebay/beam/query/metrics.go rename to src/github.com/ebay/akutan/query/metrics.go index e45a739..3b79216 100644 --- a/src/github.com/ebay/beam/query/metrics.go +++ b/src/github.com/ebay/akutan/query/metrics.go @@ -16,7 +16,7 @@ package query import ( - metricsutil "github.com/ebay/beam/util/metrics" + metricsutil "github.com/ebay/akutan/util/metrics" "github.com/prometheus/client_golang/prometheus" ) @@ -33,14 +33,14 @@ func init() { mr := metricsutil.Registry{R: prometheus.DefaultRegisterer} metrics = queryMetrics{ parseQueryDurationSeconds: mr.NewSummary(prometheus.SummaryOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "query", Name: "parse_duration_seconds", Help: `The time it takes to parse a query.`, Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.95: 0.005, 0.99: 0.001}, }), rewriteQueryDurationSeconds: mr.NewSummary(prometheus.SummaryOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "query", Name: "rewrite_duration_seconds", Help: `The time it takes to rewrite a query. @@ -51,7 +51,7 @@ numeric IDs for any external IDs used in the query. Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.95: 0.005, 0.99: 0.001}, }), planQueryDurationSeconds: mr.NewSummary(prometheus.SummaryOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "query", Name: "planning_duration_seconds", Help: `The time it takes to come up with a query plan. @@ -66,7 +66,7 @@ usage or a change in the code. Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.95: 0.005, 0.99: 0.001}, }), executeQueryDurationSeconds: mr.NewSummary(prometheus.SummaryOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "query", Name: "execute_duration_seconds", Help: `The time it takes to execute a query. diff --git a/src/github.com/ebay/beam/query/parser/doc.go b/src/github.com/ebay/akutan/query/parser/doc.go similarity index 93% rename from src/github.com/ebay/beam/query/parser/doc.go rename to src/github.com/ebay/akutan/query/parser/doc.go index b508175..aa4fc28 100644 --- a/src/github.com/ebay/beam/query/parser/doc.go +++ b/src/github.com/ebay/akutan/query/parser/doc.go @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Package parser implements a parser combinator for the beam query language. +// Package parser implements a parser combinator for the akutan query language. // After parsing a query string into a query object, it is passed to the // planner for a cost based evaluation of possible execution paths and finally // the executor where the retrieval and join operations on the best plan are diff --git a/src/github.com/ebay/beam/query/parser/insert.go b/src/github.com/ebay/akutan/query/parser/insert.go similarity index 98% rename from src/github.com/ebay/beam/query/parser/insert.go rename to src/github.com/ebay/akutan/query/parser/insert.go index b954641..a2cff98 100644 --- a/src/github.com/ebay/beam/query/parser/insert.go +++ b/src/github.com/ebay/akutan/query/parser/insert.go @@ -19,8 +19,8 @@ import ( "fmt" "strings" - "github.com/ebay/beam/util/errors" - "github.com/ebay/beam/util/unicode" + "github.com/ebay/akutan/util/errors" + "github.com/ebay/akutan/util/unicode" ) // These are possible values for ParseInsert formats. diff --git a/src/github.com/ebay/beam/query/parser/insert_test.go b/src/github.com/ebay/akutan/query/parser/insert_test.go similarity index 100% rename from src/github.com/ebay/beam/query/parser/insert_test.go rename to src/github.com/ebay/akutan/query/parser/insert_test.go diff --git a/src/github.com/ebay/beam/query/parser/lang_callbacks.go b/src/github.com/ebay/akutan/query/parser/lang_callbacks.go similarity index 98% rename from src/github.com/ebay/beam/query/parser/lang_callbacks.go rename to src/github.com/ebay/akutan/query/parser/lang_callbacks.go index 2745d92..2930f14 100644 --- a/src/github.com/ebay/beam/query/parser/lang_callbacks.go +++ b/src/github.com/ebay/akutan/query/parser/lang_callbacks.go @@ -19,9 +19,9 @@ import ( "fmt" "time" - "github.com/ebay/beam/api" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/unicode" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/unicode" "github.com/vektah/goparsify" ) diff --git a/src/github.com/ebay/beam/query/parser/lang_def.go b/src/github.com/ebay/akutan/query/parser/lang_def.go similarity index 99% rename from src/github.com/ebay/beam/query/parser/lang_def.go rename to src/github.com/ebay/akutan/query/parser/lang_def.go index 68a9147..24da542 100644 --- a/src/github.com/ebay/beam/query/parser/lang_def.go +++ b/src/github.com/ebay/akutan/query/parser/lang_def.go @@ -19,7 +19,7 @@ import ( "fmt" "time" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/rpc" p "github.com/vektah/goparsify" ) diff --git a/src/github.com/ebay/beam/query/parser/parser.go b/src/github.com/ebay/akutan/query/parser/parser.go similarity index 96% rename from src/github.com/ebay/beam/query/parser/parser.go rename to src/github.com/ebay/akutan/query/parser/parser.go index 65fa84a..5ee7477 100644 --- a/src/github.com/ebay/beam/query/parser/parser.go +++ b/src/github.com/ebay/akutan/query/parser/parser.go @@ -21,7 +21,7 @@ import ( "unicode" "unicode/utf8" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/util/cmp" "github.com/sirupsen/logrus" "github.com/vektah/goparsify" ) @@ -33,7 +33,7 @@ const ( QueryFactPattern = "facts" ) -// MustParse parses the beam query language and panics if an error occurs. It simplifies +// MustParse parses the akutan query language and panics if an error occurs. It simplifies // variable initialization. This is primarily meant for writing unit tests. func MustParse(format, in string) *Query { query, err := Parse(format, in) @@ -67,7 +67,7 @@ type parser struct { in string } -// parse reads the query and returns a beamql.Query object. If its unable to +// parse reads the query and returns a akutanql.Query object. If its unable to // fully parse the input a ParseError will be returned that includes the // position of where it parsed to, and what the problem is. func (p *parser) parse(typ string, parser goparsify.Parser) (*goparsify.Result, error) { diff --git a/src/github.com/ebay/beam/query/parser/parser_debug.go b/src/github.com/ebay/akutan/query/parser/parser_debug.go similarity index 100% rename from src/github.com/ebay/beam/query/parser/parser_debug.go rename to src/github.com/ebay/akutan/query/parser/parser_debug.go diff --git a/src/github.com/ebay/beam/query/parser/parser_test.go b/src/github.com/ebay/akutan/query/parser/parser_test.go similarity index 100% rename from src/github.com/ebay/beam/query/parser/parser_test.go rename to src/github.com/ebay/akutan/query/parser/parser_test.go diff --git a/src/github.com/ebay/beam/query/parser/parsers.go b/src/github.com/ebay/akutan/query/parser/parsers.go similarity index 100% rename from src/github.com/ebay/beam/query/parser/parsers.go rename to src/github.com/ebay/akutan/query/parser/parsers.go diff --git a/src/github.com/ebay/beam/query/parser/parsers_test.go b/src/github.com/ebay/akutan/query/parser/parsers_test.go similarity index 100% rename from src/github.com/ebay/beam/query/parser/parsers_test.go rename to src/github.com/ebay/akutan/query/parser/parsers_test.go diff --git a/src/github.com/ebay/beam/query/parser/beamql_test.go b/src/github.com/ebay/akutan/query/parser/ql_test.go similarity index 99% rename from src/github.com/ebay/beam/query/parser/beamql_test.go rename to src/github.com/ebay/akutan/query/parser/ql_test.go index c685a1f..7393810 100644 --- a/src/github.com/ebay/beam/query/parser/beamql_test.go +++ b/src/github.com/ebay/akutan/query/parser/ql_test.go @@ -19,8 +19,8 @@ import ( "math" "time" - "github.com/ebay/beam/api" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/rpc" ) var ( diff --git a/src/github.com/ebay/beam/query/parser/query.go b/src/github.com/ebay/akutan/query/parser/query.go similarity index 99% rename from src/github.com/ebay/beam/query/parser/query.go rename to src/github.com/ebay/akutan/query/parser/query.go index d43c328..2cc3c94 100644 --- a/src/github.com/ebay/beam/query/parser/query.go +++ b/src/github.com/ebay/akutan/query/parser/query.go @@ -59,7 +59,7 @@ func (q *Query) String() string { type QueryType int const ( - // LegacyPatternQuery indicates the query should use the legacy beam query + // LegacyPatternQuery indicates the query should use the legacy akutan query // where a fact pattern is specified, and sets of facts matching the pattern // are returned. This is what is now in the Where clause of a Select query. LegacyPatternQuery QueryType = iota + 1 diff --git a/src/github.com/ebay/beam/query/parser/query_test.go b/src/github.com/ebay/akutan/query/parser/query_test.go similarity index 100% rename from src/github.com/ebay/beam/query/parser/query_test.go rename to src/github.com/ebay/akutan/query/parser/query_test.go diff --git a/src/github.com/ebay/beam/query/parser/rewriter.go b/src/github.com/ebay/akutan/query/parser/rewriter.go similarity index 97% rename from src/github.com/ebay/beam/query/parser/rewriter.go rename to src/github.com/ebay/akutan/query/parser/rewriter.go index b96eb5b..dd45751 100644 --- a/src/github.com/ebay/beam/query/parser/rewriter.go +++ b/src/github.com/ebay/akutan/query/parser/rewriter.go @@ -22,11 +22,11 @@ import ( "sort" "strings" - "github.com/ebay/beam/msg/facts" - "github.com/ebay/beam/rpc" - beamerrors "github.com/ebay/beam/util/errors" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/msg/facts" + "github.com/ebay/akutan/rpc" + moreerrors "github.com/ebay/akutan/util/errors" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/viewclient/lookups" opentracing "github.com/opentracing/opentracing-go" ) @@ -188,7 +188,7 @@ func lookupExternalIDs(ctx context.Context, lookup lookups.PO, idx uint64, in *Q err = fmt.Errorf("invalid query: entities %s do not exist", s.String()) } } - return beamerrors.Any(lookupWait(), err) + return moreerrors.Any(lookupWait(), err) } // convertToLiteralIDs will go through and convert any QName or Entity instances diff --git a/src/github.com/ebay/beam/query/parser/rewriter_test.go b/src/github.com/ebay/akutan/query/parser/rewriter_test.go similarity index 99% rename from src/github.com/ebay/beam/query/parser/rewriter_test.go rename to src/github.com/ebay/akutan/query/parser/rewriter_test.go index 0f6a74c..9b49921 100644 --- a/src/github.com/ebay/beam/query/parser/rewriter_test.go +++ b/src/github.com/ebay/akutan/query/parser/rewriter_test.go @@ -25,7 +25,7 @@ import ( "testing" "github.com/davecgh/go-spew/spew" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/src/github.com/ebay/beam/query/parser/testdata/ask/ask.bql b/src/github.com/ebay/akutan/query/parser/testdata/ask/ask.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/ask/ask.bql rename to src/github.com/ebay/akutan/query/parser/testdata/ask/ask.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/ask/ask.res b/src/github.com/ebay/akutan/query/parser/testdata/ask/ask.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/ask/ask.res rename to src/github.com/ebay/akutan/query/parser/testdata/ask/ask.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/ask/ask_where.bql b/src/github.com/ebay/akutan/query/parser/testdata/ask/ask_where.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/ask/ask_where.bql rename to src/github.com/ebay/akutan/query/parser/testdata/ask/ask_where.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/ask/ask_where.res b/src/github.com/ebay/akutan/query/parser/testdata/ask/ask_where.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/ask/ask_where.res rename to src/github.com/ebay/akutan/query/parser/testdata/ask/ask_where.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/ask/errors/ask_limit.bql b/src/github.com/ebay/akutan/query/parser/testdata/ask/errors/ask_limit.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/ask/errors/ask_limit.bql rename to src/github.com/ebay/akutan/query/parser/testdata/ask/errors/ask_limit.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/ask/errors/ask_limit.res b/src/github.com/ebay/akutan/query/parser/testdata/ask/errors/ask_limit.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/ask/errors/ask_limit.res rename to src/github.com/ebay/akutan/query/parser/testdata/ask/errors/ask_limit.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/ask/errors/ask_order.bql b/src/github.com/ebay/akutan/query/parser/testdata/ask/errors/ask_order.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/ask/errors/ask_order.bql rename to src/github.com/ebay/akutan/query/parser/testdata/ask/errors/ask_order.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/ask/errors/ask_order.res b/src/github.com/ebay/akutan/query/parser/testdata/ask/errors/ask_order.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/ask/errors/ask_order.res rename to src/github.com/ebay/akutan/query/parser/testdata/ask/errors/ask_order.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/ask/errors/ask_var.bql b/src/github.com/ebay/akutan/query/parser/testdata/ask/errors/ask_var.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/ask/errors/ask_var.bql rename to src/github.com/ebay/akutan/query/parser/testdata/ask/errors/ask_var.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/ask/errors/ask_var.res b/src/github.com/ebay/akutan/query/parser/testdata/ask/errors/ask_var.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/ask/errors/ask_var.res rename to src/github.com/ebay/akutan/query/parser/testdata/ask/errors/ask_var.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/errors/not_ask_select.bql b/src/github.com/ebay/akutan/query/parser/testdata/errors/not_ask_select.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/errors/not_ask_select.bql rename to src/github.com/ebay/akutan/query/parser/testdata/errors/not_ask_select.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/errors/not_ask_select.res b/src/github.com/ebay/akutan/query/parser/testdata/errors/not_ask_select.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/errors/not_ask_select.res rename to src/github.com/ebay/akutan/query/parser/testdata/errors/not_ask_select.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/errors/sql.bql b/src/github.com/ebay/akutan/query/parser/testdata/errors/sql.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/errors/sql.bql rename to src/github.com/ebay/akutan/query/parser/testdata/errors/sql.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/errors/sql.res b/src/github.com/ebay/akutan/query/parser/testdata/errors/sql.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/errors/sql.res rename to src/github.com/ebay/akutan/query/parser/testdata/errors/sql.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/all_types.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/all_types.res similarity index 80% rename from src/github.com/ebay/beam/query/parser/testdata/insert/all_types.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/all_types.res index fc1bec5..f879436 100644 --- a/src/github.com/ebay/beam/query/parser/testdata/insert/all_types.res +++ b/src/github.com/ebay/akutan/query/parser/testdata/insert/all_types.res @@ -1,19 +1,19 @@ Parsed: _ #1001 #1002 #1003 -_ beam:qname1 beam:qname2 beam:qname3 +_ akutan:qname1 akutan:qname2 akutan:qname3 _ ?var _ ?var #1002 ?var -_ beam:qname1 beam:qname2 true -_ beam:qname1 beam:qname2 12 -_ beam:qname1 beam:qname2 12.230000 -_ beam:qname1 beam:qname2 "banana" -_ beam:qname1 beam:qname2 '2017-01-03' (y-m-d) -_ beam:qname1 beam:qname2 true^^isEmpty -_ beam:qname1 beam:qname2 12^^inch -_ beam:qname1 beam:qname2 12.230000^^inch -_ beam:qname1 beam:qname2 "banana"@en_US -_ beam:qname1 beam:qname2 '2017-01-03' (y-m-d)^^{0 dateOfBirth} +_ akutan:qname1 akutan:qname2 true +_ akutan:qname1 akutan:qname2 12 +_ akutan:qname1 akutan:qname2 12.230000 +_ akutan:qname1 akutan:qname2 "banana" +_ akutan:qname1 akutan:qname2 '2017-01-03' (y-m-d) +_ akutan:qname1 akutan:qname2 true^^isEmpty +_ akutan:qname1 akutan:qname2 12^^inch +_ akutan:qname1 akutan:qname2 12.230000^^inch +_ akutan:qname1 akutan:qname2 "banana"@en_US +_ akutan:qname1 akutan:qname2 '2017-01-03' (y-m-d)^^{0 dateOfBirth} Parsed Details: (*parser.Insert)({ @@ -40,15 +40,15 @@ Parsed Details: }), Subject: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname1" + Value: (string) (len=13) "akutan:qname1" }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname2" + Value: (string) (len=13) "akutan:qname2" }), Object: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname3" + Value: (string) (len=13) "akutan:qname3" }), Specificity: (parser.MatchSpecificity) 0 }), @@ -107,11 +107,11 @@ Parsed Details: }), Subject: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname1" + Value: (string) (len=13) "akutan:qname1" }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname2" + Value: (string) (len=13) "akutan:qname2" }), Object: (*parser.LiteralBool)({ Unit: (parser.Unit) { @@ -127,11 +127,11 @@ Parsed Details: }), Subject: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname1" + Value: (string) (len=13) "akutan:qname1" }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname2" + Value: (string) (len=13) "akutan:qname2" }), Object: (*parser.LiteralInt)({ Unit: (parser.Unit) { @@ -147,11 +147,11 @@ Parsed Details: }), Subject: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname1" + Value: (string) (len=13) "akutan:qname1" }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname2" + Value: (string) (len=13) "akutan:qname2" }), Object: (*parser.LiteralFloat)({ Unit: (parser.Unit) { @@ -167,11 +167,11 @@ Parsed Details: }), Subject: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname1" + Value: (string) (len=13) "akutan:qname1" }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname2" + Value: (string) (len=13) "akutan:qname2" }), Object: (*parser.LiteralString)({ Language: (parser.Language) { @@ -187,11 +187,11 @@ Parsed Details: }), Subject: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname1" + Value: (string) (len=13) "akutan:qname1" }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname2" + Value: (string) (len=13) "akutan:qname2" }), Object: (*parser.LiteralTime)({ Unit: (parser.Unit) { @@ -212,11 +212,11 @@ Parsed Details: }), Subject: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname1" + Value: (string) (len=13) "akutan:qname1" }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname2" + Value: (string) (len=13) "akutan:qname2" }), Object: (*parser.LiteralBool)({ Unit: (parser.Unit) { @@ -232,11 +232,11 @@ Parsed Details: }), Subject: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname1" + Value: (string) (len=13) "akutan:qname1" }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname2" + Value: (string) (len=13) "akutan:qname2" }), Object: (*parser.LiteralInt)({ Unit: (parser.Unit) { @@ -252,11 +252,11 @@ Parsed Details: }), Subject: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname1" + Value: (string) (len=13) "akutan:qname1" }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname2" + Value: (string) (len=13) "akutan:qname2" }), Object: (*parser.LiteralFloat)({ Unit: (parser.Unit) { @@ -272,11 +272,11 @@ Parsed Details: }), Subject: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname1" + Value: (string) (len=13) "akutan:qname1" }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname2" + Value: (string) (len=13) "akutan:qname2" }), Object: (*parser.LiteralString)({ Language: (parser.Language) { @@ -292,11 +292,11 @@ Parsed Details: }), Subject: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname1" + Value: (string) (len=13) "akutan:qname1" }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:qname2" + Value: (string) (len=13) "akutan:qname2" }), Object: (*parser.LiteralTime)({ Unit: (parser.Unit) { diff --git a/src/github.com/ebay/akutan/query/parser/testdata/insert/all_types.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/all_types.tsv new file mode 100644 index 0000000..df63ba9 --- /dev/null +++ b/src/github.com/ebay/akutan/query/parser/testdata/insert/all_types.tsv @@ -0,0 +1,15 @@ +#1001 #1002 #1003 +akutan:qname1 akutan:qname2 akutan:qname3 + +?var +?var #1002 ?var +akutan:qname1 akutan:qname2 true +akutan:qname1 akutan:qname2 12 +akutan:qname1 akutan:qname2 12.23 +akutan:qname1 akutan:qname2 "banana" +akutan:qname1 akutan:qname2 '2017-01-03' +akutan:qname1 akutan:qname2 true^^ +akutan:qname1 akutan:qname2 12^^ +akutan:qname1 akutan:qname2 12.23^^ +akutan:qname1 akutan:qname2 "banana"@en_US +akutan:qname1 akutan:qname2 '2017-01-03'^^ diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/blank_lines.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/blank_lines.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/blank_lines.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/blank_lines.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/blank_lines.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/blank_lines.tsv similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/blank_lines.tsv rename to src/github.com/ebay/akutan/query/parser/testdata/insert/blank_lines.tsv diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/comment_only.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/comment_only.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/comment_only.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/comment_only.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/comment_only.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/comment_only.tsv similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/comment_only.tsv rename to src/github.com/ebay/akutan/query/parser/testdata/insert/comment_only.tsv diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/comments.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/comments.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/comments.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/comments.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/comments.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/comments.tsv similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/comments.tsv rename to src/github.com/ebay/akutan/query/parser/testdata/insert/comments.tsv diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/empty.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/empty.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/empty.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/empty.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/empty.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/empty.tsv similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/empty.tsv rename to src/github.com/ebay/akutan/query/parser/testdata/insert/empty.tsv diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_fact_id.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_fact_id.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_fact_id.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_fact_id.res diff --git a/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_fact_id.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_fact_id.tsv new file mode 100644 index 0000000..0da9525 --- /dev/null +++ b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_fact_id.tsv @@ -0,0 +1 @@ + product:shoe akutan:is product:shoe diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_object.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_object.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_object.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_object.res diff --git a/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_object.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_object.tsv new file mode 100644 index 0000000..3d42e9b --- /dev/null +++ b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_object.tsv @@ -0,0 +1 @@ +product:shoe akutan:is {1, 2, 3} diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_predicate_op.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_predicate_op.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_predicate_op.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_predicate_op.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_predicate_op.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_predicate_op.tsv similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_predicate_op.tsv rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_predicate_op.tsv diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_predicate_var.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_predicate_var.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_predicate_var.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_predicate_var.res diff --git a/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_predicate_var.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_predicate_var.tsv new file mode 100644 index 0000000..8e346de --- /dev/null +++ b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_predicate_var.tsv @@ -0,0 +1,2 @@ +?var product:shoe akutan:is product:shoe + ?var diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_subject.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_subject.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_subject.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_subject.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_subject.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_subject.tsv similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_subject.tsv rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/bad_subject.tsv diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/garbage.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/garbage.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/garbage.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/garbage.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/garbage.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/garbage.tsv similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/garbage.tsv rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/garbage.tsv diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/optional_match.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/optional_match.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/optional_match.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/optional_match.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/optional_match.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/optional_match.tsv similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/optional_match.tsv rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/optional_match.tsv diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/string_lit_nil_start.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/string_lit_nil_start.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/string_lit_nil_start.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/string_lit_nil_start.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/string_lit_nil_start.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/string_lit_nil_start.tsv similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/string_lit_nil_start.tsv rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/string_lit_nil_start.tsv diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/string_lit_nil_trailer.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/string_lit_nil_trailer.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/string_lit_nil_trailer.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/string_lit_nil_trailer.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/string_lit_nil_trailer.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/string_lit_nil_trailer.tsv similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/string_lit_nil_trailer.tsv rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/string_lit_nil_trailer.tsv diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/unused_var.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/unused_var.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/unused_var.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/unused_var.res diff --git a/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/unused_var.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/unused_var.tsv new file mode 100644 index 0000000..67dbc8a --- /dev/null +++ b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/unused_var.tsv @@ -0,0 +1,3 @@ +akutan:a akutan:b akutan:c +?var akutan:d akutan:e akutan:f +akutan:g akutan:h akutan:i diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/use_before_def.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/use_before_def.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/use_before_def.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/use_before_def.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/use_before_def.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/use_before_def.tsv similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/use_before_def.tsv rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/use_before_def.tsv diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/var_captured_twice.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/var_captured_twice.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/var_captured_twice.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/var_captured_twice.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/var_captured_twice.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/errors/var_captured_twice.tsv similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/errors/var_captured_twice.tsv rename to src/github.com/ebay/akutan/query/parser/testdata/insert/errors/var_captured_twice.tsv diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/meta_meta_meta.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/meta_meta_meta.res similarity index 89% rename from src/github.com/ebay/beam/query/parser/testdata/insert/meta_meta_meta.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/meta_meta_meta.res index 3f46bea..803000b 100644 --- a/src/github.com/ebay/beam/query/parser/testdata/insert/meta_meta_meta.res +++ b/src/github.com/ebay/akutan/query/parser/testdata/insert/meta_meta_meta.res @@ -1,8 +1,8 @@ Parsed: -?zero the:sky beam:is colors:blue -?one ?zero beam:source place:san_francisco -?two ?one beam:source web:weather_com -?three ?two beam:channel comms:web +?zero the:sky akutan:is colors:blue +?one ?zero akutan:source place:san_francisco +?two ?one akutan:source web:weather_com +?three ?two akutan:channel comms:web _ ?three data:noise 0.650000 _ ?three data:signal 0.800000 @@ -19,7 +19,7 @@ Parsed Details: }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=7) "beam:is" + Value: (string) (len=9) "akutan:is" }), Object: (*parser.QName)({ ID: (uint64) 0, @@ -36,7 +36,7 @@ Parsed Details: }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:source" + Value: (string) (len=13) "akutan:source" }), Object: (*parser.QName)({ ID: (uint64) 0, @@ -53,7 +53,7 @@ Parsed Details: }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:source" + Value: (string) (len=13) "akutan:source" }), Object: (*parser.QName)({ ID: (uint64) 0, @@ -70,7 +70,7 @@ Parsed Details: }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=12) "beam:channel" + Value: (string) (len=14) "akutan:channel" }), Object: (*parser.QName)({ ID: (uint64) 0, diff --git a/src/github.com/ebay/akutan/query/parser/testdata/insert/meta_meta_meta.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/meta_meta_meta.tsv new file mode 100644 index 0000000..aa9f6da --- /dev/null +++ b/src/github.com/ebay/akutan/query/parser/testdata/insert/meta_meta_meta.tsv @@ -0,0 +1,6 @@ +?zero the:sky akutan:is colors:blue +?one ?zero akutan:source place:san_francisco +?two ?one akutan:source web:weather_com +?three ?two akutan:channel comms:web + ?three data:noise 0.65 + ?three data:signal 0.8 diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/quads.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/quads.res similarity index 83% rename from src/github.com/ebay/beam/query/parser/testdata/insert/quads.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/quads.res index 7dc78ef..f682fce 100644 --- a/src/github.com/ebay/beam/query/parser/testdata/insert/quads.res +++ b/src/github.com/ebay/akutan/query/parser/testdata/insert/quads.res @@ -1,7 +1,7 @@ Parsed: -?fact the:sky beam:is colors:blue -_ ?fact beam:source places:san_francisco -_ ?fact beam:confidence 1.000000 +?fact the:sky akutan:is colors:blue +_ ?fact akutan:source places:san_francisco +_ ?fact akutan:confidence 1.000000 Parsed Details: (*parser.Insert)({ @@ -16,7 +16,7 @@ Parsed Details: }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=7) "beam:is" + Value: (string) (len=9) "akutan:is" }), Object: (*parser.QName)({ ID: (uint64) 0, @@ -32,7 +32,7 @@ Parsed Details: }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=11) "beam:source" + Value: (string) (len=13) "akutan:source" }), Object: (*parser.QName)({ ID: (uint64) 0, @@ -48,7 +48,7 @@ Parsed Details: }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=15) "beam:confidence" + Value: (string) (len=17) "akutan:confidence" }), Object: (*parser.LiteralFloat)({ Unit: (parser.Unit) { diff --git a/src/github.com/ebay/akutan/query/parser/testdata/insert/quads.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/quads.tsv new file mode 100644 index 0000000..8ab87a9 --- /dev/null +++ b/src/github.com/ebay/akutan/query/parser/testdata/insert/quads.tsv @@ -0,0 +1,3 @@ +?fact the:sky akutan:is colors:blue + ?fact akutan:source places:san_francisco + ?fact akutan:confidence 1.0 diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/tabs.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/tabs.res similarity index 70% rename from src/github.com/ebay/beam/query/parser/testdata/insert/tabs.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/tabs.res index 6cec726..caabfc8 100644 --- a/src/github.com/ebay/beam/query/parser/testdata/insert/tabs.res +++ b/src/github.com/ebay/akutan/query/parser/testdata/insert/tabs.res @@ -1,10 +1,10 @@ Parsed: -_ beam:a beam:b beam:c -?d beam:e beam:f beam:g -_ ?d beam:h beam:i -_ ?d beam:j beam:k -_ beam:l beam:m beam:n -_ beam:o beam:p beam:q +_ akutan:a akutan:b akutan:c +?d akutan:e akutan:f akutan:g +_ ?d akutan:h akutan:i +_ ?d akutan:j akutan:k +_ akutan:l akutan:m akutan:n +_ akutan:o akutan:p akutan:q Parsed Details: (*parser.Insert)({ @@ -14,15 +14,15 @@ Parsed Details: }), Subject: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=6) "beam:a" + Value: (string) (len=8) "akutan:a" }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=6) "beam:b" + Value: (string) (len=8) "akutan:b" }), Object: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=6) "beam:c" + Value: (string) (len=8) "akutan:c" }), Specificity: (parser.MatchSpecificity) 0 }), @@ -32,15 +32,15 @@ Parsed Details: }), Subject: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=6) "beam:e" + Value: (string) (len=8) "akutan:e" }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=6) "beam:f" + Value: (string) (len=8) "akutan:f" }), Object: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=6) "beam:g" + Value: (string) (len=8) "akutan:g" }), Specificity: (parser.MatchSpecificity) 0 }), @@ -52,11 +52,11 @@ Parsed Details: }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=6) "beam:h" + Value: (string) (len=8) "akutan:h" }), Object: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=6) "beam:i" + Value: (string) (len=8) "akutan:i" }), Specificity: (parser.MatchSpecificity) 0 }), @@ -68,11 +68,11 @@ Parsed Details: }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=6) "beam:j" + Value: (string) (len=8) "akutan:j" }), Object: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=6) "beam:k" + Value: (string) (len=8) "akutan:k" }), Specificity: (parser.MatchSpecificity) 0 }), @@ -81,15 +81,15 @@ Parsed Details: }), Subject: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=6) "beam:l" + Value: (string) (len=8) "akutan:l" }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=6) "beam:m" + Value: (string) (len=8) "akutan:m" }), Object: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=6) "beam:n" + Value: (string) (len=8) "akutan:n" }), Specificity: (parser.MatchSpecificity) 0 }), @@ -98,15 +98,15 @@ Parsed Details: }), Subject: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=6) "beam:o" + Value: (string) (len=8) "akutan:o" }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=6) "beam:p" + Value: (string) (len=8) "akutan:p" }), Object: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=6) "beam:q" + Value: (string) (len=8) "akutan:q" }), Specificity: (parser.MatchSpecificity) 0 }) diff --git a/src/github.com/ebay/akutan/query/parser/testdata/insert/tabs.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/tabs.tsv new file mode 100644 index 0000000..2482f2c --- /dev/null +++ b/src/github.com/ebay/akutan/query/parser/testdata/insert/tabs.tsv @@ -0,0 +1,6 @@ +akutan:a akutan:b akutan:c +?d akutan:e akutan:f akutan:g +?d akutan:h akutan:i + ?d akutan:j akutan:k +akutan:l akutan:m akutan:n +akutan:o akutan:p akutan:q diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/triples.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/triples.res similarity index 95% rename from src/github.com/ebay/beam/query/parser/testdata/insert/triples.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/triples.res index 311f2ff..27342fe 100644 --- a/src/github.com/ebay/beam/query/parser/testdata/insert/triples.res +++ b/src/github.com/ebay/akutan/query/parser/testdata/insert/triples.res @@ -1,5 +1,5 @@ Parsed: -_ the:sky beam:is colors:blue +_ the:sky akutan:is colors:blue _ _ phones:Pixel3 props:size 64^^units:gigabytes @@ -15,7 +15,7 @@ Parsed Details: }), Predicate: (*parser.QName)({ ID: (uint64) 0, - Value: (string) (len=7) "beam:is" + Value: (string) (len=9) "akutan:is" }), Object: (*parser.QName)({ ID: (uint64) 0, diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/triples.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/triples.tsv similarity index 72% rename from src/github.com/ebay/beam/query/parser/testdata/insert/triples.tsv rename to src/github.com/ebay/akutan/query/parser/testdata/insert/triples.tsv index f365fdd..fa41a47 100644 --- a/src/github.com/ebay/beam/query/parser/testdata/insert/triples.tsv +++ b/src/github.com/ebay/akutan/query/parser/testdata/insert/triples.tsv @@ -1,3 +1,3 @@ -the:sky beam:is colors:blue +the:sky akutan:is colors:blue phones:Pixel3 props:size 64^^units:gigabytes diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/whitespace_only.res b/src/github.com/ebay/akutan/query/parser/testdata/insert/whitespace_only.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/whitespace_only.res rename to src/github.com/ebay/akutan/query/parser/testdata/insert/whitespace_only.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/whitespace_only.tsv b/src/github.com/ebay/akutan/query/parser/testdata/insert/whitespace_only.tsv similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/insert/whitespace_only.tsv rename to src/github.com/ebay/akutan/query/parser/testdata/insert/whitespace_only.tsv diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/basics/entity_chars.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/entity_chars.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/basics/entity_chars.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/entity_chars.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/basics/entity_chars.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/entity_chars.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/basics/entity_chars.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/entity_chars.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/basics/entity_qname_var.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/entity_qname_var.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/basics/entity_qname_var.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/entity_qname_var.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/basics/entity_qname_var.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/entity_qname_var.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/basics/entity_qname_var.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/entity_qname_var.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/basics/multiline.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/multiline.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/basics/multiline.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/multiline.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/basics/multiline.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/multiline.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/basics/multiline.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/multiline.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/basics/qname_chars.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/qname_chars.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/basics/qname_chars.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/qname_chars.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/basics/qname_chars.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/qname_chars.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/basics/qname_chars.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/qname_chars.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/basics/qnames.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/qnames.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/basics/qnames.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/qnames.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/basics/qnames.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/qnames.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/basics/qnames.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/qnames.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/basics/var_qnames.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/var_qnames.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/basics/var_qnames.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/var_qnames.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/basics/var_qnames.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/var_qnames.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/basics/var_qnames.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/basics/var_qnames.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/bugfixes/guid_entity.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/bugfixes/guid_entity.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/bugfixes/guid_entity.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/bugfixes/guid_entity.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/bugfixes/guid_entity.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/bugfixes/guid_entity.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/bugfixes/guid_entity.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/bugfixes/guid_entity.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comments/all_comments.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comments/all_comments.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comments/all_comments.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comments/all_comments.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comments/all_comments.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comments/all_comments.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comments/all_comments.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comments/all_comments.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comments/comments_begin_and_end.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comments/comments_begin_and_end.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comments/comments_begin_and_end.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comments/comments_begin_and_end.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comments/comments_begin_and_end.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comments/comments_begin_and_end.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comments/comments_begin_and_end.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comments/comments_begin_and_end.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comments/first_line_comment.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comments/first_line_comment.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comments/first_line_comment.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comments/first_line_comment.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comments/first_line_comment.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comments/first_line_comment.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comments/first_line_comment.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comments/first_line_comment.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/eq.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/eq.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/eq.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/eq.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/eq.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/eq.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/eq.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/eq.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gt.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gt.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gt.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gt.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gt.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gt.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gt.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gt.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gt_entity_entity.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gt_entity_entity.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gt_entity_entity.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gt_entity_entity.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gt_entity_entity.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gt_entity_entity.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gt_entity_entity.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gt_entity_entity.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gt_entity_literal.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gt_entity_literal.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gt_entity_literal.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gt_entity_literal.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gt_entity_literal.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gt_entity_literal.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gt_entity_literal.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gt_entity_literal.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gt_entity_qname.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gt_entity_qname.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gt_entity_qname.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gt_entity_qname.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gt_entity_qname.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gt_entity_qname.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gt_entity_qname.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gt_entity_qname.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gte.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gte.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gte.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gte.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gte.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gte.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/gte.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/gte.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/lt.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/lt.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/lt.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/lt.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/lt.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/lt.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/lt.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/lt.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/lt_all_lits.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/lt_all_lits.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/lt_all_lits.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/lt_all_lits.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/lt_all_lits.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/lt_all_lits.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/lt_all_lits.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/lt_all_lits.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/lt_vars.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/lt_vars.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/lt_vars.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/lt_vars.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/lt_vars.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/lt_vars.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/lt_vars.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/lt_vars.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/lte.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/lte.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/lte.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/lte.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/lte.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/lte.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/lte.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/lte.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/not_equal_entity.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/not_equal_entity.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/not_equal_entity.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/not_equal_entity.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/not_equal_entity.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/not_equal_entity.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/not_equal_entity.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/not_equal_entity.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/not_equal_vars.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/not_equal_vars.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/not_equal_vars.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/not_equal_vars.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/not_equal_vars.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/not_equal_vars.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/comparisons/not_equal_vars.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/comparisons/not_equal_vars.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/2_terms.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/2_terms.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/2_terms.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/2_terms.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/2_terms.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/2_terms.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/2_terms.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/2_terms.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/5_terms.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/5_terms.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/5_terms.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/5_terms.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/5_terms.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/5_terms.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/5_terms.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/5_terms.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/5_terms_not_valid.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/5_terms_not_valid.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/5_terms_not_valid.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/5_terms_not_valid.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/5_terms_not_valid.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/5_terms_not_valid.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/5_terms_not_valid.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/5_terms_not_valid.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/bools.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/bools.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/bools.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/bools.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/bools.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/bools.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/bools.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/bools.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/cant_resolve_entities.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/cant_resolve_entities.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/cant_resolve_entities.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/cant_resolve_entities.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/cant_resolve_entities.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/cant_resolve_entities.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/cant_resolve_entities.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/cant_resolve_entities.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/cant_resolve_entity.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/cant_resolve_entity.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/cant_resolve_entity.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/cant_resolve_entity.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/cant_resolve_entity.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/cant_resolve_entity.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/cant_resolve_entity.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/cant_resolve_entity.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/enity_no_wrapper.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/enity_no_wrapper.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/enity_no_wrapper.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/enity_no_wrapper.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/enity_no_wrapper.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/enity_no_wrapper.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/enity_no_wrapper.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/enity_no_wrapper.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/entity_chars.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/entity_chars.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/entity_chars.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/entity_chars.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/entity_chars.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/entity_chars.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/entity_chars.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/entity_chars.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/entity_chars_subject.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/entity_chars_subject.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/entity_chars_subject.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/entity_chars_subject.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/entity_chars_subject.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/entity_chars_subject.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/entity_chars_subject.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/entity_chars_subject.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/literal_id_chars.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/literal_id_chars.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/literal_id_chars.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/literal_id_chars.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/literal_id_chars.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/literal_id_chars.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/literal_id_chars.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/literal_id_chars.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/unquoted_text_1.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/unquoted_text_1.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/unquoted_text_1.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/unquoted_text_1.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/unquoted_text_1.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/unquoted_text_1.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/unquoted_text_1.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/unquoted_text_1.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/unquoted_text_2.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/unquoted_text_2.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/unquoted_text_2.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/unquoted_text_2.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/unquoted_text_2.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/unquoted_text_2.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/unquoted_text_2.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/unquoted_text_2.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/var_chars.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/var_chars.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/var_chars.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/var_chars.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/var_chars.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/var_chars.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/var_chars.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/var_chars.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/vim.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/vim.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/vim.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/vim.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/errors/vim.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/vim.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/errors/vim.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/errors/vim.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/bools.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/bools.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/bools.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/bools.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/bools.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/bools.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/bools.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/bools.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/dates.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/dates.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/dates.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/dates.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/dates.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/dates.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/dates.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/dates.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/dates_units.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/dates_units.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/dates_units.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/dates_units.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/dates_units.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/dates_units.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/dates_units.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/dates_units.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/floats.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/floats.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/floats.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/floats.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/floats.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/floats.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/floats.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/floats.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/ints.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/ints.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/ints.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/ints.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/ints.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/ints.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/ints.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/ints.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/kid.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/kid.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/kid.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/kid.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/kid.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/kid.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/kid.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/kid.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string_lang.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string_lang.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string_lang.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string_lang.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string_lang.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string_lang.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string_lang.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string_lang.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string_langs.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string_langs.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string_langs.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string_langs.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string_langs.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string_langs.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string_langs.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string_langs.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string_lit_nil_start.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string_lit_nil_start.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string_lit_nil_start.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string_lit_nil_start.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string_lit_nil_start.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string_lit_nil_start.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string_lit_nil_start.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string_lit_nil_start.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string_lit_nil_trailer.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string_lit_nil_trailer.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string_lit_nil_trailer.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string_lit_nil_trailer.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string_lit_nil_trailer.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string_lit_nil_trailer.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/literals/string_lit_nil_trailer.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/literals/string_lit_nil_trailer.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/all_vars.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/all_vars.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/all_vars.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/all_vars.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/all_vars.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/all_vars.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/all_vars.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/all_vars.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_id.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_id.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_id.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_id.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_id.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_id.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_id.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_id.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_object_in_quad.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_object_in_quad.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_object_in_quad.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_object_in_quad.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_object_in_quad.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_object_in_quad.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_object_in_quad.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_object_in_quad.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_object_in_triple.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_object_in_triple.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_object_in_triple.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_object_in_triple.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_object_in_triple.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_object_in_triple.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_object_in_triple.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_object_in_triple.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_subject_in_quad.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_subject_in_quad.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_subject_in_quad.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_subject_in_quad.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_subject_in_quad.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_subject_in_quad.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_subject_in_quad.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_subject_in_quad.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_subject_in_triple.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_subject_in_triple.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_subject_in_triple.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_subject_in_triple.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_subject_in_triple.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_subject_in_triple.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/not_subject_in_triple.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/not_subject_in_triple.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/on_entity.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/on_entity.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/on_entity.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/on_entity.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/on_entity.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/on_entity.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/on_entity.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/on_entity.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/on_qname.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/on_qname.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/on_qname.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/on_qname.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/on_qname.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/on_qname.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/on_qname.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/on_qname.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/spacing_error.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/spacing_error.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/spacing_error.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/spacing_error.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/spacing_error.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/spacing_error.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/optionalMatch/spacing_error.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/optionalMatch/spacing_error.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/quads/bad_id_entity.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/bad_id_entity.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/quads/bad_id_entity.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/bad_id_entity.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/quads/bad_id_entity.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/bad_id_entity.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/quads/bad_id_entity.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/bad_id_entity.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/quads/literal_id_bad_object.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/literal_id_bad_object.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/quads/literal_id_bad_object.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/literal_id_bad_object.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/quads/literal_id_bad_object.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/literal_id_bad_object.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/quads/literal_id_bad_object.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/literal_id_bad_object.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/quads/literal_id_bad_subject.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/literal_id_bad_subject.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/quads/literal_id_bad_subject.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/literal_id_bad_subject.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/quads/literal_id_bad_subject.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/literal_id_bad_subject.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/quads/literal_id_bad_subject.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/literal_id_bad_subject.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/quads/mixed_quad_triple_error.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/mixed_quad_triple_error.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/quads/mixed_quad_triple_error.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/mixed_quad_triple_error.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/quads/mixed_quad_triple_error.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/mixed_quad_triple_error.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/quads/mixed_quad_triple_error.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/mixed_quad_triple_error.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/quads/with_broken_var.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/with_broken_var.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/quads/with_broken_var.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/with_broken_var.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/quads/with_broken_var.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/with_broken_var.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/quads/with_broken_var.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/quads/with_broken_var.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/dupe_values.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/dupe_values.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/dupe_values.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/dupe_values.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/dupe_values.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/dupe_values.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/dupe_values.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/dupe_values.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/dupe_values_year_int.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/dupe_values_year_int.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/dupe_values_year_int.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/dupe_values_year_int.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/dupe_values_year_int.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/dupe_values_year_int.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/dupe_values_year_int.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/dupe_values_year_int.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/empty_set.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/empty_set.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/empty_set.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/empty_set.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/empty_set.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/empty_set.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/empty_set.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/empty_set.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/enity_predicate_error.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/enity_predicate_error.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/enity_predicate_error.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/enity_predicate_error.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/enity_predicate_error.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/enity_predicate_error.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/enity_predicate_error.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/enity_predicate_error.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/entities.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/entities.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/entities.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/entities.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/entities.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/entities.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/entities.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/entities.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/entity_literal.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/entity_literal.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/entity_literal.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/entity_literal.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/entity_literal.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/entity_literal.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/entity_literal.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/entity_literal.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/entity_predicate_quad_error.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/entity_predicate_quad_error.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/entity_predicate_quad_error.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/entity_predicate_quad_error.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/entity_predicate_quad_error.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/entity_predicate_quad_error.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/entity_predicate_quad_error.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/entity_predicate_quad_error.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/floats.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/floats.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/floats.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/floats.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/floats.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/floats.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/floats.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/floats.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/floats_units.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/floats_units.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/floats_units.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/floats_units.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/floats_units.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/floats_units.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/floats_units.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/floats_units.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/just_vars.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/just_vars.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/just_vars.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/just_vars.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/just_vars.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/just_vars.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/just_vars.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/just_vars.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/missing_close_brace_error.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/missing_close_brace_error.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/missing_close_brace_error.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/missing_close_brace_error.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/missing_close_brace_error.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/missing_close_brace_error.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/missing_close_brace_error.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/missing_close_brace_error.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/mixed_types_error.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/mixed_types_error.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/mixed_types_error.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/mixed_types_error.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/mixed_types_error.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/mixed_types_error.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/mixed_types_error.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/mixed_types_error.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/mixed_types_error_2.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/mixed_types_error_2.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/mixed_types_error_2.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/mixed_types_error_2.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/mixed_types_error_2.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/mixed_types_error_2.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/mixed_types_error_2.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/mixed_types_error_2.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/not_in_operator_error.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/not_in_operator_error.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/not_in_operator_error.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/not_in_operator_error.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/not_in_operator_error.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/not_in_operator_error.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/not_in_operator_error.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/not_in_operator_error.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/qname.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/qname.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/qname.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/qname.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/qname.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/qname.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/qname.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/qname.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/qnames.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/qnames.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/qnames.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/qnames.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/qnames.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/qnames.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/qnames.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/qnames.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/qnames_whitespace.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/qnames_whitespace.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/qnames_whitespace.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/qnames_whitespace.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/qnames_whitespace.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/qnames_whitespace.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/qnames_whitespace.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/qnames_whitespace.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/quad.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/quad.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/quad.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/quad.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/quad.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/quad.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/quad.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/quad.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/string_langs.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/string_langs.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/string_langs.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/string_langs.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/string_langs.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/string_langs.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/setLiterals/string_langs.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/setLiterals/string_langs.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/unicode/bey.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/unicode/bey.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/unicode/bey.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/unicode/bey.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/unicode/bey.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/unicode/bey.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/unicode/bey.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/unicode/bey.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/unicode/japan.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/unicode/japan.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/unicode/japan.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/unicode/japan.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/unicode/japan.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/unicode/japan.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/unicode/japan.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/unicode/japan.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/unicode/quoting.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/unicode/quoting.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/unicode/quoting.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/unicode/quoting.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/unicode/quoting.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/unicode/quoting.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/unicode/quoting.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/unicode/quoting.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/whitespace/leading_lines_tabs.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/whitespace/leading_lines_tabs.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/whitespace/leading_lines_tabs.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/whitespace/leading_lines_tabs.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/whitespace/leading_lines_tabs.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/whitespace/leading_lines_tabs.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/whitespace/leading_lines_tabs.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/whitespace/leading_lines_tabs.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/whitespace/single_spaces.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/whitespace/single_spaces.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/whitespace/single_spaces.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/whitespace/single_spaces.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/whitespace/single_spaces.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/whitespace/single_spaces.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/whitespace/single_spaces.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/whitespace/single_spaces.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/whitespace/tabs.bql b/src/github.com/ebay/akutan/query/parser/testdata/legacy/whitespace/tabs.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/whitespace/tabs.bql rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/whitespace/tabs.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/legacy/whitespace/tabs.res b/src/github.com/ebay/akutan/query/parser/testdata/legacy/whitespace/tabs.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/legacy/whitespace/tabs.res rename to src/github.com/ebay/akutan/query/parser/testdata/legacy/whitespace/tabs.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/count.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/count.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/count.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/count.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/count.res b/src/github.com/ebay/akutan/query/parser/testdata/select/count.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/count.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/count.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/count_star.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/count_star.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/count_star.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/count_star.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/count_star.res b/src/github.com/ebay/akutan/query/parser/testdata/select/count_star.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/count_star.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/count_star.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/count.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/count.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/count.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/count.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/count.res b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/count.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/count.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/count.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/count_star.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/count_star.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/count_star.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/count_star.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/count_star.res b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/count_star.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/count_star.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/count_star.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/errors/count_distinct.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/errors/count_distinct.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/errors/count_distinct.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/errors/count_distinct.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/errors/count_distinct.res b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/errors/count_distinct.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/errors/count_distinct.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/errors/count_distinct.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/errors/distinct_reduced.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/errors/distinct_reduced.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/errors/distinct_reduced.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/errors/distinct_reduced.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/errors/distinct_reduced.res b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/errors/distinct_reduced.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/errors/distinct_reduced.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/errors/distinct_reduced.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/errors/star_enclosed.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/errors/star_enclosed.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/errors/star_enclosed.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/errors/star_enclosed.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/errors/star_enclosed.res b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/errors/star_enclosed.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/errors/star_enclosed.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/errors/star_enclosed.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/errors/unknown_kw.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/errors/unknown_kw.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/errors/unknown_kw.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/errors/unknown_kw.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/errors/unknown_kw.res b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/errors/unknown_kw.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/errors/unknown_kw.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/errors/unknown_kw.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/missing_where_min_whitespace.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/missing_where_min_whitespace.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/missing_where_min_whitespace.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/missing_where_min_whitespace.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/missing_where_min_whitespace.res b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/missing_where_min_whitespace.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/missing_where_min_whitespace.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/missing_where_min_whitespace.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/mixed_case_whitespace.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/mixed_case_whitespace.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/mixed_case_whitespace.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/mixed_case_whitespace.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/mixed_case_whitespace.res b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/mixed_case_whitespace.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/mixed_case_whitespace.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/mixed_case_whitespace.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/star.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/star.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/star.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/star.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/star.res b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/star.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/star.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/star.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/var.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/var.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/var.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/var.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/var.res b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/var.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/var.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/var.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/vars.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/vars.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/vars.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/vars.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/distinct/vars.res b/src/github.com/ebay/akutan/query/parser/testdata/select/distinct/vars.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/distinct/vars.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/distinct/vars.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/agg_func.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/agg_func.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/agg_func.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/agg_func.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/agg_func.res b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/agg_func.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/agg_func.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/agg_func.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/agg_star.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/agg_star.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/agg_star.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/agg_star.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/agg_star.res b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/agg_star.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/agg_star.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/agg_star.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/agg_var.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/agg_var.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/agg_var.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/agg_var.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/agg_var.res b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/agg_var.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/agg_var.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/agg_var.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/empty_where.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/empty_where.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/empty_where.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/empty_where.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/empty_where.res b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/empty_where.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/empty_where.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/empty_where.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/no_vars.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/no_vars.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/no_vars.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/no_vars.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/no_vars.res b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/no_vars.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/no_vars.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/no_vars.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/star_agg.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/star_agg.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/star_agg.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/star_agg.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/star_agg.res b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/star_agg.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/star_agg.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/star_agg.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/star_var.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/star_var.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/star_var.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/star_var.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/star_var.res b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/star_var.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/star_var.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/star_var.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/var_already_in_use.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/var_already_in_use.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/var_already_in_use.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/var_already_in_use.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/var_already_in_use.res b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/var_already_in_use.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/var_already_in_use.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/var_already_in_use.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/var_not_in_where.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/var_not_in_where.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/var_not_in_where.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/var_not_in_where.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/var_not_in_where.res b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/var_not_in_where.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/var_not_in_where.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/var_not_in_where.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/var_star.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/var_star.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/var_star.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/var_star.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/var_star.res b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/var_star.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/var_star.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/var_star.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/wrong_sep.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/wrong_sep.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/wrong_sep.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/wrong_sep.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/errors/wrong_sep.res b/src/github.com/ebay/akutan/query/parser/testdata/select/errors/wrong_sep.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/errors/wrong_sep.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/errors/wrong_sep.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/min_whitespace.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/min_whitespace.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/min_whitespace.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/min_whitespace.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/min_whitespace.res b/src/github.com/ebay/akutan/query/parser/testdata/select/min_whitespace.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/min_whitespace.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/min_whitespace.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/errors/limit_no_val.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/errors/limit_no_val.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/errors/limit_no_val.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/errors/limit_no_val.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/errors/limit_no_val.res b/src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/errors/limit_no_val.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/errors/limit_no_val.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/errors/limit_no_val.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/errors/limit_not_numeric.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/errors/limit_not_numeric.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/errors/limit_not_numeric.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/errors/limit_not_numeric.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/errors/limit_not_numeric.res b/src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/errors/limit_not_numeric.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/errors/limit_not_numeric.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/errors/limit_not_numeric.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/errors/limit_orderby.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/errors/limit_orderby.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/errors/limit_orderby.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/errors/limit_orderby.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/errors/limit_orderby.res b/src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/errors/limit_orderby.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/errors/limit_orderby.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/errors/limit_orderby.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/errors/offset_not_numeric.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/errors/offset_not_numeric.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/errors/offset_not_numeric.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/errors/offset_not_numeric.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/errors/offset_not_numeric.res b/src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/errors/offset_not_numeric.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/errors/offset_not_numeric.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/errors/offset_not_numeric.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/limit.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/limit.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/limit.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/limit.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/limit.res b/src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/limit.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/limit.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/limit.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/limit_offset.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/limit_offset.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/limit_offset.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/limit_offset.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/limit_offset.res b/src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/limit_offset.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/limit_offset.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/limit_offset.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/offset.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/offset.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/offset.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/offset.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/offset.res b/src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/offset.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/offset.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/offset.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/offset_limit.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/offset_limit.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/offset_limit.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/offset_limit.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/offset_limit.res b/src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/offset_limit.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/offset_limit.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/offset_limit.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/order_limit_offset.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/order_limit_offset.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/order_limit_offset.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/order_limit_offset.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/order_limit_offset.res b/src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/order_limit_offset.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/offsetLimit/order_limit_offset.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/offsetLimit/order_limit_offset.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/orderBy/errors/no_by.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/errors/no_by.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/orderBy/errors/no_by.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/errors/no_by.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/orderBy/errors/no_by.res b/src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/errors/no_by.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/orderBy/errors/no_by.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/errors/no_by.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/orderBy/errors/no_cond.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/errors/no_cond.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/orderBy/errors/no_cond.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/errors/no_cond.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/orderBy/errors/no_cond.res b/src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/errors/no_cond.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/orderBy/errors/no_cond.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/errors/no_cond.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/orderBy/errors/var_not_in_scope.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/errors/var_not_in_scope.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/orderBy/errors/var_not_in_scope.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/errors/var_not_in_scope.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/orderBy/errors/var_not_in_scope.res b/src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/errors/var_not_in_scope.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/orderBy/errors/var_not_in_scope.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/errors/var_not_in_scope.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/orderBy/orderby.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/orderby.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/orderBy/orderby.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/orderby.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/orderBy/orderby.res b/src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/orderby.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/orderBy/orderby.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/orderby.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/orderBy/orderby2.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/orderby2.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/orderBy/orderby2.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/orderby2.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/orderBy/orderby2.res b/src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/orderby2.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/orderBy/orderby2.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/orderBy/orderby2.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/reduced/count.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/reduced/count.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/reduced/count.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/reduced/count.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/reduced/count.res b/src/github.com/ebay/akutan/query/parser/testdata/select/reduced/count.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/reduced/count.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/reduced/count.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/reduced/many_vars.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/reduced/many_vars.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/reduced/many_vars.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/reduced/many_vars.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/reduced/many_vars.res b/src/github.com/ebay/akutan/query/parser/testdata/select/reduced/many_vars.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/reduced/many_vars.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/reduced/many_vars.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/reduced/mixed_case_whitespace.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/reduced/mixed_case_whitespace.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/reduced/mixed_case_whitespace.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/reduced/mixed_case_whitespace.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/reduced/mixed_case_whitespace.res b/src/github.com/ebay/akutan/query/parser/testdata/select/reduced/mixed_case_whitespace.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/reduced/mixed_case_whitespace.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/reduced/mixed_case_whitespace.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/reduced/star.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/reduced/star.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/reduced/star.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/reduced/star.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/reduced/star.res b/src/github.com/ebay/akutan/query/parser/testdata/select/reduced/star.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/reduced/star.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/reduced/star.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/reduced/var.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/reduced/var.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/reduced/var.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/reduced/var.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/reduced/var.res b/src/github.com/ebay/akutan/query/parser/testdata/select/reduced/var.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/reduced/var.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/reduced/var.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/star.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/star.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/star.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/star.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/star.res b/src/github.com/ebay/akutan/query/parser/testdata/select/star.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/star.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/star.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/var_scope.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/var_scope.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/var_scope.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/var_scope.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/var_scope.res b/src/github.com/ebay/akutan/query/parser/testdata/select/var_scope.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/var_scope.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/var_scope.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/vars.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/vars.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/vars.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/vars.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/vars.res b/src/github.com/ebay/akutan/query/parser/testdata/select/vars.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/vars.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/vars.res diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/where_comments.bql b/src/github.com/ebay/akutan/query/parser/testdata/select/where_comments.bql similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/where_comments.bql rename to src/github.com/ebay/akutan/query/parser/testdata/select/where_comments.bql diff --git a/src/github.com/ebay/beam/query/parser/testdata/select/where_comments.res b/src/github.com/ebay/akutan/query/parser/testdata/select/where_comments.res similarity index 100% rename from src/github.com/ebay/beam/query/parser/testdata/select/where_comments.res rename to src/github.com/ebay/akutan/query/parser/testdata/select/where_comments.res diff --git a/src/github.com/ebay/beam/query/parser/where.go b/src/github.com/ebay/akutan/query/parser/where.go similarity index 99% rename from src/github.com/ebay/beam/query/parser/where.go rename to src/github.com/ebay/akutan/query/parser/where.go index 79d9798..9f323f1 100644 --- a/src/github.com/ebay/beam/query/parser/where.go +++ b/src/github.com/ebay/akutan/query/parser/where.go @@ -20,8 +20,8 @@ import ( "strings" "time" - "github.com/ebay/beam/api" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/rpc" ) var ( diff --git a/src/github.com/ebay/beam/query/planner/common_test.go b/src/github.com/ebay/akutan/query/planner/common_test.go similarity index 97% rename from src/github.com/ebay/beam/query/planner/common_test.go rename to src/github.com/ebay/akutan/query/planner/common_test.go index e46e9aa..312f3ff 100644 --- a/src/github.com/ebay/beam/query/planner/common_test.go +++ b/src/github.com/ebay/akutan/query/planner/common_test.go @@ -22,10 +22,10 @@ import ( "strings" "testing" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/query/planner/search" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/query/planner/search" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/planner/cost.go b/src/github.com/ebay/akutan/query/planner/cost.go similarity index 97% rename from src/github.com/ebay/beam/query/planner/cost.go rename to src/github.com/ebay/akutan/query/planner/cost.go index c1d4cf8..371e8d7 100644 --- a/src/github.com/ebay/beam/query/planner/cost.go +++ b/src/github.com/ebay/akutan/query/planner/cost.go @@ -19,8 +19,8 @@ import ( "fmt" "time" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/query/planner/search" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/query/planner/search" log "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/query/planner/distinct.go b/src/github.com/ebay/akutan/query/planner/distinct.go similarity index 92% rename from src/github.com/ebay/beam/query/planner/distinct.go rename to src/github.com/ebay/akutan/query/planner/distinct.go index 0705b64..f6651b9 100644 --- a/src/github.com/ebay/beam/query/planner/distinct.go +++ b/src/github.com/ebay/akutan/query/planner/distinct.go @@ -16,8 +16,8 @@ package planner import ( - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/query/planner/search" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/query/planner/search" ) // distinctCost returns the estimated cost for the Distinct operator. diff --git a/src/github.com/ebay/beam/query/planner/enumerate.go b/src/github.com/ebay/akutan/query/planner/enumerate.go similarity index 93% rename from src/github.com/ebay/beam/query/planner/enumerate.go rename to src/github.com/ebay/akutan/query/planner/enumerate.go index 035f1ce..6466780 100644 --- a/src/github.com/ebay/beam/query/planner/enumerate.go +++ b/src/github.com/ebay/akutan/query/planner/enumerate.go @@ -16,8 +16,8 @@ package planner import ( - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/query/planner/search" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/query/planner/search" ) // enumerateLogicalProperties returns logical properties for an Enumerate operator. diff --git a/src/github.com/ebay/beam/query/planner/enumerate_test.go b/src/github.com/ebay/akutan/query/planner/enumerate_test.go similarity index 96% rename from src/github.com/ebay/beam/query/planner/enumerate_test.go rename to src/github.com/ebay/akutan/query/planner/enumerate_test.go index 7dee321..6bb11ac 100644 --- a/src/github.com/ebay/beam/query/planner/enumerate_test.go +++ b/src/github.com/ebay/akutan/query/planner/enumerate_test.go @@ -18,8 +18,8 @@ package planner import ( "testing" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/query/planner/search" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/query/planner/search" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/planner/joins.go b/src/github.com/ebay/akutan/query/planner/joins.go similarity index 98% rename from src/github.com/ebay/beam/query/planner/joins.go rename to src/github.com/ebay/akutan/query/planner/joins.go index 8971e8e..9a835b9 100644 --- a/src/github.com/ebay/beam/query/planner/joins.go +++ b/src/github.com/ebay/akutan/query/planner/joins.go @@ -18,10 +18,10 @@ package planner import ( "strings" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/query/planner/search" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/query/planner/search" + "github.com/ebay/akutan/util/cmp" "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/query/planner/joins_test.go b/src/github.com/ebay/akutan/query/planner/joins_test.go similarity index 97% rename from src/github.com/ebay/beam/query/planner/joins_test.go rename to src/github.com/ebay/akutan/query/planner/joins_test.go index 69cfdbf..e6555b9 100644 --- a/src/github.com/ebay/beam/query/planner/joins_test.go +++ b/src/github.com/ebay/akutan/query/planner/joins_test.go @@ -18,11 +18,11 @@ package planner import ( "testing" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/query/planner/search" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/query/planner/search" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/cmp" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/planner/limit_offset.go b/src/github.com/ebay/akutan/query/planner/limit_offset.go similarity index 93% rename from src/github.com/ebay/beam/query/planner/limit_offset.go rename to src/github.com/ebay/akutan/query/planner/limit_offset.go index 0c833e0..2678442 100644 --- a/src/github.com/ebay/beam/query/planner/limit_offset.go +++ b/src/github.com/ebay/akutan/query/planner/limit_offset.go @@ -18,8 +18,8 @@ package planner import ( "math/bits" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/query/planner/search" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/query/planner/search" ) // limitAndOffsetCost returns the estimated cost for an LimitAndOffsetOp diff --git a/src/github.com/ebay/beam/query/planner/limit_offset_test.go b/src/github.com/ebay/akutan/query/planner/limit_offset_test.go similarity index 98% rename from src/github.com/ebay/beam/query/planner/limit_offset_test.go rename to src/github.com/ebay/akutan/query/planner/limit_offset_test.go index 7643298..c1f3633 100644 --- a/src/github.com/ebay/beam/query/planner/limit_offset_test.go +++ b/src/github.com/ebay/akutan/query/planner/limit_offset_test.go @@ -19,7 +19,7 @@ import ( "math" "testing" - "github.com/ebay/beam/query/planner/plandef" + "github.com/ebay/akutan/query/planner/plandef" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/planner/lookups.go b/src/github.com/ebay/akutan/query/planner/lookups.go similarity index 98% rename from src/github.com/ebay/beam/query/planner/lookups.go rename to src/github.com/ebay/akutan/query/planner/lookups.go index caf1454..95a7621 100644 --- a/src/github.com/ebay/beam/query/planner/lookups.go +++ b/src/github.com/ebay/akutan/query/planner/lookups.go @@ -19,9 +19,9 @@ import ( "fmt" "strings" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/query/planner/search" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/query/planner/search" + "github.com/ebay/akutan/rpc" ) type lookupOperator struct { diff --git a/src/github.com/ebay/beam/query/planner/lookups_test.go b/src/github.com/ebay/akutan/query/planner/lookups_test.go similarity index 95% rename from src/github.com/ebay/beam/query/planner/lookups_test.go rename to src/github.com/ebay/akutan/query/planner/lookups_test.go index 9e02007..624db37 100644 --- a/src/github.com/ebay/beam/query/planner/lookups_test.go +++ b/src/github.com/ebay/akutan/query/planner/lookups_test.go @@ -18,9 +18,9 @@ package planner import ( "testing" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/util/cmp" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/planner/orderby.go b/src/github.com/ebay/akutan/query/planner/orderby.go similarity index 92% rename from src/github.com/ebay/beam/query/planner/orderby.go rename to src/github.com/ebay/akutan/query/planner/orderby.go index 0d62480..7fbeba5 100644 --- a/src/github.com/ebay/beam/query/planner/orderby.go +++ b/src/github.com/ebay/akutan/query/planner/orderby.go @@ -16,8 +16,8 @@ package planner import ( - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/query/planner/search" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/query/planner/search" ) // orderByCost returns the estimated cost for an OrderBy operator. diff --git a/src/github.com/ebay/beam/query/planner/plandef/enumerate.go b/src/github.com/ebay/akutan/query/planner/plandef/enumerate.go similarity index 100% rename from src/github.com/ebay/beam/query/planner/plandef/enumerate.go rename to src/github.com/ebay/akutan/query/planner/plandef/enumerate.go diff --git a/src/github.com/ebay/beam/query/planner/plandef/enumerate_test.go b/src/github.com/ebay/akutan/query/planner/plandef/enumerate_test.go similarity index 97% rename from src/github.com/ebay/beam/query/planner/plandef/enumerate_test.go rename to src/github.com/ebay/akutan/query/planner/plandef/enumerate_test.go index ed02d33..7ffc105 100644 --- a/src/github.com/ebay/beam/query/planner/plandef/enumerate_test.go +++ b/src/github.com/ebay/akutan/query/planner/plandef/enumerate_test.go @@ -18,8 +18,8 @@ package plandef import ( "testing" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/cmp" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/planner/plandef/expression.go b/src/github.com/ebay/akutan/query/planner/plandef/expression.go similarity index 96% rename from src/github.com/ebay/beam/query/planner/plandef/expression.go rename to src/github.com/ebay/akutan/query/planner/plandef/expression.go index 060555a..f7ceed3 100644 --- a/src/github.com/ebay/beam/query/planner/plandef/expression.go +++ b/src/github.com/ebay/akutan/query/planner/plandef/expression.go @@ -19,8 +19,8 @@ import ( "fmt" "strings" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/util/cmp" ) // ExprBinding is a column in the Projection, it evaluates an expression and diff --git a/src/github.com/ebay/beam/query/planner/plandef/expression_test.go b/src/github.com/ebay/akutan/query/planner/plandef/expression_test.go similarity index 94% rename from src/github.com/ebay/beam/query/planner/plandef/expression_test.go rename to src/github.com/ebay/akutan/query/planner/plandef/expression_test.go index 83f6694..bc0a9f1 100644 --- a/src/github.com/ebay/beam/query/planner/plandef/expression_test.go +++ b/src/github.com/ebay/akutan/query/planner/plandef/expression_test.go @@ -18,8 +18,8 @@ package plandef import ( "testing" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/util/cmp" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/planner/plandef/joins.go b/src/github.com/ebay/akutan/query/planner/plandef/joins.go similarity index 98% rename from src/github.com/ebay/beam/query/planner/plandef/joins.go rename to src/github.com/ebay/akutan/query/planner/plandef/joins.go index 60a45cf..0b33ba9 100644 --- a/src/github.com/ebay/beam/query/planner/plandef/joins.go +++ b/src/github.com/ebay/akutan/query/planner/plandef/joins.go @@ -19,7 +19,7 @@ import ( "fmt" "strings" - "github.com/ebay/beam/query/parser" + "github.com/ebay/akutan/query/parser" ) // A HashJoin Operator takes two inputs and implements a join using a hash table. diff --git a/src/github.com/ebay/beam/query/planner/plandef/joins_test.go b/src/github.com/ebay/akutan/query/planner/plandef/joins_test.go similarity index 95% rename from src/github.com/ebay/beam/query/planner/plandef/joins_test.go rename to src/github.com/ebay/akutan/query/planner/plandef/joins_test.go index 1c74da6..a55bd16 100644 --- a/src/github.com/ebay/beam/query/planner/plandef/joins_test.go +++ b/src/github.com/ebay/akutan/query/planner/plandef/joins_test.go @@ -18,8 +18,8 @@ package plandef import ( "testing" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/util/cmp" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/planner/plandef/lookups.go b/src/github.com/ebay/akutan/query/planner/plandef/lookups.go similarity index 100% rename from src/github.com/ebay/beam/query/planner/plandef/lookups.go rename to src/github.com/ebay/akutan/query/planner/plandef/lookups.go diff --git a/src/github.com/ebay/beam/query/planner/plandef/lookups_test.go b/src/github.com/ebay/akutan/query/planner/plandef/lookups_test.go similarity index 98% rename from src/github.com/ebay/beam/query/planner/plandef/lookups_test.go rename to src/github.com/ebay/akutan/query/planner/plandef/lookups_test.go index 112123e..db05feb 100644 --- a/src/github.com/ebay/beam/query/planner/plandef/lookups_test.go +++ b/src/github.com/ebay/akutan/query/planner/plandef/lookups_test.go @@ -18,8 +18,8 @@ package plandef import ( "testing" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/cmp" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/planner/plandef/plan.go b/src/github.com/ebay/akutan/query/planner/plandef/plan.go similarity index 93% rename from src/github.com/ebay/beam/query/planner/plandef/plan.go rename to src/github.com/ebay/akutan/query/planner/plandef/plan.go index f843d15..559387b 100644 --- a/src/github.com/ebay/beam/query/planner/plandef/plan.go +++ b/src/github.com/ebay/akutan/query/planner/plandef/plan.go @@ -14,17 +14,17 @@ // limitations under the License. // Package plandef defines the output of the query planner. It defines all of -// Beam's physical execution plan operators. +// Akutan's physical execution plan operators. package plandef import ( "fmt" "strings" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/util/cmp" ) -// A Plan is an tree of physical operators that Beam can execute to answer a +// A Plan is an tree of physical operators that Akutan can execute to answer a // query. type Plan struct { // Which operation to execute, including its scalar arguments. diff --git a/src/github.com/ebay/beam/query/planner/plandef/plan_test.go b/src/github.com/ebay/akutan/query/planner/plandef/plan_test.go similarity index 100% rename from src/github.com/ebay/beam/query/planner/plandef/plan_test.go rename to src/github.com/ebay/akutan/query/planner/plandef/plan_test.go diff --git a/src/github.com/ebay/beam/query/planner/plandef/query.go b/src/github.com/ebay/akutan/query/planner/plandef/query.go similarity index 98% rename from src/github.com/ebay/beam/query/planner/plandef/query.go rename to src/github.com/ebay/akutan/query/planner/plandef/query.go index 60c5155..396b37d 100644 --- a/src/github.com/ebay/beam/query/planner/plandef/query.go +++ b/src/github.com/ebay/akutan/query/planner/plandef/query.go @@ -19,8 +19,8 @@ import ( "strconv" "strings" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/util/cmp" ) // Projection is an Operator which takes input rows, evaluates them, and diff --git a/src/github.com/ebay/beam/query/planner/plandef/query_test.go b/src/github.com/ebay/akutan/query/planner/plandef/query_test.go similarity index 97% rename from src/github.com/ebay/beam/query/planner/plandef/query_test.go rename to src/github.com/ebay/akutan/query/planner/plandef/query_test.go index d76f96b..538db00 100644 --- a/src/github.com/ebay/beam/query/planner/plandef/query_test.go +++ b/src/github.com/ebay/akutan/query/planner/plandef/query_test.go @@ -18,8 +18,8 @@ package plandef import ( "testing" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/util/cmp" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/planner/plandef/select.go b/src/github.com/ebay/akutan/query/planner/plandef/select.go similarity index 99% rename from src/github.com/ebay/beam/query/planner/plandef/select.go rename to src/github.com/ebay/akutan/query/planner/plandef/select.go index 4366bc3..eeb5624 100644 --- a/src/github.com/ebay/beam/query/planner/plandef/select.go +++ b/src/github.com/ebay/akutan/query/planner/plandef/select.go @@ -19,7 +19,7 @@ import ( "fmt" "strings" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/rpc" ) // A SelectLit Operator is a filter on a variable against one or more literals. diff --git a/src/github.com/ebay/beam/query/planner/plandef/select_test.go b/src/github.com/ebay/akutan/query/planner/plandef/select_test.go similarity index 98% rename from src/github.com/ebay/beam/query/planner/plandef/select_test.go rename to src/github.com/ebay/akutan/query/planner/plandef/select_test.go index c3d7368..10fa398 100644 --- a/src/github.com/ebay/beam/query/planner/plandef/select_test.go +++ b/src/github.com/ebay/akutan/query/planner/plandef/select_test.go @@ -18,8 +18,8 @@ package plandef import ( "testing" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/cmp" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/planner/plandef/terms.go b/src/github.com/ebay/akutan/query/planner/plandef/terms.go similarity index 98% rename from src/github.com/ebay/beam/query/planner/plandef/terms.go rename to src/github.com/ebay/akutan/query/planner/plandef/terms.go index ec5f0e3..ac8ede2 100644 --- a/src/github.com/ebay/beam/query/planner/plandef/terms.go +++ b/src/github.com/ebay/akutan/query/planner/plandef/terms.go @@ -20,8 +20,8 @@ import ( "strconv" "strings" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/cmp" ) // A Term is an argument to an Operator, such as a Variable or an OID. diff --git a/src/github.com/ebay/beam/query/planner/plandef/terms_test.go b/src/github.com/ebay/akutan/query/planner/plandef/terms_test.go similarity index 97% rename from src/github.com/ebay/beam/query/planner/plandef/terms_test.go rename to src/github.com/ebay/akutan/query/planner/plandef/terms_test.go index 188e53f..0d80e3c 100644 --- a/src/github.com/ebay/beam/query/planner/plandef/terms_test.go +++ b/src/github.com/ebay/akutan/query/planner/plandef/terms_test.go @@ -20,8 +20,8 @@ import ( "testing" "unsafe" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/cmp" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/planner/plandef/varset.go b/src/github.com/ebay/akutan/query/planner/plandef/varset.go similarity index 100% rename from src/github.com/ebay/beam/query/planner/plandef/varset.go rename to src/github.com/ebay/akutan/query/planner/plandef/varset.go diff --git a/src/github.com/ebay/beam/query/planner/plandef/varset_test.go b/src/github.com/ebay/akutan/query/planner/plandef/varset_test.go similarity index 99% rename from src/github.com/ebay/beam/query/planner/plandef/varset_test.go rename to src/github.com/ebay/akutan/query/planner/plandef/varset_test.go index ae0a753..aecc999 100644 --- a/src/github.com/ebay/beam/query/planner/plandef/varset_test.go +++ b/src/github.com/ebay/akutan/query/planner/plandef/varset_test.go @@ -20,7 +20,7 @@ import ( "strings" "testing" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/util/cmp" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/planner/planner.go b/src/github.com/ebay/akutan/query/planner/planner.go similarity index 93% rename from src/github.com/ebay/beam/query/planner/planner.go rename to src/github.com/ebay/akutan/query/planner/planner.go index 2d79e09..8e9ed6e 100644 --- a/src/github.com/ebay/beam/query/planner/planner.go +++ b/src/github.com/ebay/akutan/query/planner/planner.go @@ -13,10 +13,10 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Package planner is the KG/Beam-specific query optimizer. It defines the -// logical and physical transformation rules for KG/Beam's logical and physical +// Package planner is the KG/Akutan-specific query optimizer. It defines the +// logical and physical transformation rules for KG/Akutan's logical and physical // operators, and it leverages the search subpackage to find the best -// implementation plan. This package also implements KG/Beam-specific cost +// implementation plan. This package also implements KG/Akutan-specific cost // predictions and defines the logical operators (physical operators are defined // in the plan subpackage). package planner @@ -25,9 +25,9 @@ import ( "context" "fmt" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/query/planner/search" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/query/planner/search" opentracing "github.com/opentracing/opentracing-go" log "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/query/planner/planner_test.go b/src/github.com/ebay/akutan/query/planner/planner_test.go similarity index 97% rename from src/github.com/ebay/beam/query/planner/planner_test.go rename to src/github.com/ebay/akutan/query/planner/planner_test.go index 9917100..7183ec3 100644 --- a/src/github.com/ebay/beam/query/planner/planner_test.go +++ b/src/github.com/ebay/akutan/query/planner/planner_test.go @@ -20,9 +20,9 @@ import ( "os" "testing" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/search" - "github.com/ebay/beam/util/graphviz" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/search" + "github.com/ebay/akutan/util/graphviz" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/planner/projection.go b/src/github.com/ebay/akutan/query/planner/projection.go similarity index 95% rename from src/github.com/ebay/beam/query/planner/projection.go rename to src/github.com/ebay/akutan/query/planner/projection.go index 14297d3..119a6c3 100644 --- a/src/github.com/ebay/beam/query/planner/projection.go +++ b/src/github.com/ebay/akutan/query/planner/projection.go @@ -16,8 +16,8 @@ package planner import ( - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/query/planner/search" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/query/planner/search" ) func askLogicalProperties(op *plandef.Ask) *logicalProperties { diff --git a/src/github.com/ebay/beam/query/planner/projection_test.go b/src/github.com/ebay/akutan/query/planner/projection_test.go similarity index 95% rename from src/github.com/ebay/beam/query/planner/projection_test.go rename to src/github.com/ebay/akutan/query/planner/projection_test.go index a80e1e5..88a4fe3 100644 --- a/src/github.com/ebay/beam/query/planner/projection_test.go +++ b/src/github.com/ebay/akutan/query/planner/projection_test.go @@ -18,8 +18,8 @@ package planner import ( "testing" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/planner/query.go b/src/github.com/ebay/akutan/query/planner/query.go similarity index 99% rename from src/github.com/ebay/beam/query/planner/query.go rename to src/github.com/ebay/akutan/query/planner/query.go index 3042e05..be83905 100644 --- a/src/github.com/ebay/beam/query/planner/query.go +++ b/src/github.com/ebay/akutan/query/planner/query.go @@ -19,10 +19,10 @@ import ( "fmt" "strings" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/query/planner/search" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/query/planner/search" + "github.com/ebay/akutan/rpc" log "github.com/sirupsen/logrus" ) @@ -289,7 +289,7 @@ func (opset *opSet) requiredAndOptionalLeaves() (required []search.Operator, opt return required, optional } -// matchType specifies a particular beamql type, used with quadTypesMatch. +// matchType specifies a particular akutanql type, used with quadTypesMatch. type matchType int const ( diff --git a/src/github.com/ebay/beam/query/planner/query_test.go b/src/github.com/ebay/akutan/query/planner/query_test.go similarity index 99% rename from src/github.com/ebay/beam/query/planner/query_test.go rename to src/github.com/ebay/akutan/query/planner/query_test.go index 92c132a..8591a5e 100644 --- a/src/github.com/ebay/beam/query/planner/query_test.go +++ b/src/github.com/ebay/akutan/query/planner/query_test.go @@ -21,10 +21,10 @@ import ( "strings" "testing" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/query/planner/search" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/query/planner/search" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/planner/search/definition.go b/src/github.com/ebay/akutan/query/planner/search/definition.go similarity index 99% rename from src/github.com/ebay/beam/query/planner/search/definition.go rename to src/github.com/ebay/akutan/query/planner/search/definition.go index 3058427..72b21be 100644 --- a/src/github.com/ebay/beam/query/planner/search/definition.go +++ b/src/github.com/ebay/akutan/query/planner/search/definition.go @@ -16,7 +16,7 @@ package search import ( - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/util/cmp" ) // A Definition is the interface that users of this package need to define. diff --git a/src/github.com/ebay/beam/query/planner/search/insert.go b/src/github.com/ebay/akutan/query/planner/search/insert.go similarity index 99% rename from src/github.com/ebay/beam/query/planner/search/insert.go rename to src/github.com/ebay/akutan/query/planner/search/insert.go index 841913f..00ae184 100644 --- a/src/github.com/ebay/beam/query/planner/search/insert.go +++ b/src/github.com/ebay/akutan/query/planner/search/insert.go @@ -20,7 +20,7 @@ import ( "io" "strings" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/util/cmp" ) // IntoExpr represents an expression that hasn't yet been integrated into the diff --git a/src/github.com/ebay/beam/query/planner/search/insert_test.go b/src/github.com/ebay/akutan/query/planner/search/insert_test.go similarity index 99% rename from src/github.com/ebay/beam/query/planner/search/insert_test.go rename to src/github.com/ebay/akutan/query/planner/search/insert_test.go index 0b5c7bd..c8d3810 100644 --- a/src/github.com/ebay/beam/query/planner/search/insert_test.go +++ b/src/github.com/ebay/akutan/query/planner/search/insert_test.go @@ -137,7 +137,7 @@ Group 4 [] assert.Equal("Select [1]", select5.String()) } -func Test_Explore_BEAM283_Cause(t *testing.T) { +func Test_Explore_Bug283_Cause(t *testing.T) { assert := assert.New(t) ex := func(op string, inputs ...intoExprInput) *IntoExpr { return NewExpr(&testOp{op}, inputs...) diff --git a/src/github.com/ebay/beam/query/planner/search/memo.go b/src/github.com/ebay/akutan/query/planner/search/memo.go similarity index 99% rename from src/github.com/ebay/beam/query/planner/search/memo.go rename to src/github.com/ebay/akutan/query/planner/search/memo.go index 06acb05..06d0fed 100644 --- a/src/github.com/ebay/beam/query/planner/search/memo.go +++ b/src/github.com/ebay/akutan/query/planner/search/memo.go @@ -21,8 +21,8 @@ import ( "strconv" "strings" - "github.com/ebay/beam/util/bytes" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/util/bytes" + "github.com/ebay/akutan/util/cmp" log "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/query/planner/search/memo_test.go b/src/github.com/ebay/akutan/query/planner/search/memo_test.go similarity index 99% rename from src/github.com/ebay/beam/query/planner/search/memo_test.go rename to src/github.com/ebay/akutan/query/planner/search/memo_test.go index 67c8a84..bc51853 100644 --- a/src/github.com/ebay/beam/query/planner/search/memo_test.go +++ b/src/github.com/ebay/akutan/query/planner/search/memo_test.go @@ -20,7 +20,7 @@ import ( "strings" "testing" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/util/cmp" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/planner/search/search.go b/src/github.com/ebay/akutan/query/planner/search/search.go similarity index 100% rename from src/github.com/ebay/beam/query/planner/search/search.go rename to src/github.com/ebay/akutan/query/planner/search/search.go diff --git a/src/github.com/ebay/beam/query/planner/search/search_test.go b/src/github.com/ebay/akutan/query/planner/search/search_test.go similarity index 100% rename from src/github.com/ebay/beam/query/planner/search/search_test.go rename to src/github.com/ebay/akutan/query/planner/search/search_test.go diff --git a/src/github.com/ebay/beam/query/planner/select.go b/src/github.com/ebay/akutan/query/planner/select.go similarity index 97% rename from src/github.com/ebay/beam/query/planner/select.go rename to src/github.com/ebay/akutan/query/planner/select.go index 062c33f..1162815 100644 --- a/src/github.com/ebay/beam/query/planner/select.go +++ b/src/github.com/ebay/akutan/query/planner/select.go @@ -16,10 +16,10 @@ package planner import ( - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/query/planner/search" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/query/planner/search" + "github.com/ebay/akutan/util/cmp" ) // pushDownSelectLit and pushDownSelectVar will generate alternatives where a diff --git a/src/github.com/ebay/beam/query/planner/select_test.go b/src/github.com/ebay/akutan/query/planner/select_test.go similarity index 97% rename from src/github.com/ebay/beam/query/planner/select_test.go rename to src/github.com/ebay/akutan/query/planner/select_test.go index 574bf79..0717b8f 100644 --- a/src/github.com/ebay/beam/query/planner/select_test.go +++ b/src/github.com/ebay/akutan/query/planner/select_test.go @@ -18,10 +18,10 @@ package planner import ( "testing" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/query/planner/search" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/query/planner/search" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/planner/stats.go b/src/github.com/ebay/akutan/query/planner/stats.go similarity index 98% rename from src/github.com/ebay/beam/query/planner/stats.go rename to src/github.com/ebay/akutan/query/planner/stats.go index 065525f..1e0db57 100644 --- a/src/github.com/ebay/beam/query/planner/stats.go +++ b/src/github.com/ebay/akutan/query/planner/stats.go @@ -16,7 +16,7 @@ package planner import ( - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/rpc" ) // Stats is used by the query planner to more accurately estimate costs. diff --git a/src/github.com/ebay/beam/query/q.go b/src/github.com/ebay/akutan/query/q.go similarity index 91% rename from src/github.com/ebay/beam/query/q.go rename to src/github.com/ebay/akutan/query/q.go index 21dd001..89b4889 100644 --- a/src/github.com/ebay/beam/query/q.go +++ b/src/github.com/ebay/akutan/query/q.go @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Package query provides a high level entry point for executing BeamQL queries. +// Package query provides a high level entry point for executing AkutanQL queries. // It runs the entire query processor, including the parser, planner, and // executor. package query @@ -24,17 +24,17 @@ import ( "os" "path" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/facts/cache" - "github.com/ebay/beam/query/exec" - "github.com/ebay/beam/query/internal/debug" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner" - "github.com/ebay/beam/query/planner/search" - "github.com/ebay/beam/util/clocks" - "github.com/ebay/beam/util/graphviz" - "github.com/ebay/beam/util/tracing" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/facts/cache" + "github.com/ebay/akutan/query/exec" + "github.com/ebay/akutan/query/internal/debug" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner" + "github.com/ebay/akutan/query/planner/search" + "github.com/ebay/akutan/util/clocks" + "github.com/ebay/akutan/util/graphviz" + "github.com/ebay/akutan/util/tracing" + "github.com/ebay/akutan/viewclient/lookups" opentracing "github.com/opentracing/opentracing-go" "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/query/q_test.go b/src/github.com/ebay/akutan/query/q_test.go similarity index 96% rename from src/github.com/ebay/beam/query/q_test.go rename to src/github.com/ebay/akutan/query/q_test.go index 5a7c6bd..f342ff5 100644 --- a/src/github.com/ebay/beam/query/q_test.go +++ b/src/github.com/ebay/akutan/query/q_test.go @@ -26,19 +26,19 @@ import ( "strings" "testing" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logread" - wellknown "github.com/ebay/beam/msg/facts" - "github.com/ebay/beam/query/exec" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner" - "github.com/ebay/beam/query/planner/plandef" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/clocks" - "github.com/ebay/beam/util/cmp" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/viewclient/mockstore" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logread" + wellknown "github.com/ebay/akutan/msg/facts" + "github.com/ebay/akutan/query/exec" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner" + "github.com/ebay/akutan/query/planner/plandef" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/clocks" + "github.com/ebay/akutan/util/cmp" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/viewclient/mockstore" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -56,7 +56,7 @@ import ( // in the file should be a fact triple using string identifiers. // // query.bql contains the text of the query to execute. It expects the exact -// same format as the query API. (i.e. as parsed by BeamQL). +// same format as the query API. (i.e. as parsed by AkutanQL). // // The expected results are contained in a file named results.. Type can // be either error, table or facts. diff --git a/src/github.com/ebay/beam/query/testdata/ask/has_results/debug.out b/src/github.com/ebay/akutan/query/testdata/ask/has_results/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/ask/has_results/debug.out rename to src/github.com/ebay/akutan/query/testdata/ask/has_results/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/ask/has_results/input.facts b/src/github.com/ebay/akutan/query/testdata/ask/has_results/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/ask/has_results/input.facts rename to src/github.com/ebay/akutan/query/testdata/ask/has_results/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/ask/has_results/query.bql b/src/github.com/ebay/akutan/query/testdata/ask/has_results/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/ask/has_results/query.bql rename to src/github.com/ebay/akutan/query/testdata/ask/has_results/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/ask/has_results/results.table b/src/github.com/ebay/akutan/query/testdata/ask/has_results/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/ask/has_results/results.table rename to src/github.com/ebay/akutan/query/testdata/ask/has_results/results.table diff --git a/src/github.com/ebay/beam/query/testdata/ask/no_results/debug.out b/src/github.com/ebay/akutan/query/testdata/ask/no_results/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/ask/no_results/debug.out rename to src/github.com/ebay/akutan/query/testdata/ask/no_results/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/ask/no_results/input.facts b/src/github.com/ebay/akutan/query/testdata/ask/no_results/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/ask/no_results/input.facts rename to src/github.com/ebay/akutan/query/testdata/ask/no_results/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/ask/no_results/query.bql b/src/github.com/ebay/akutan/query/testdata/ask/no_results/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/ask/no_results/query.bql rename to src/github.com/ebay/akutan/query/testdata/ask/no_results/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/ask/no_results/results.table b/src/github.com/ebay/akutan/query/testdata/ask/no_results/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/ask/no_results/results.table rename to src/github.com/ebay/akutan/query/testdata/ask/no_results/results.table diff --git a/src/github.com/ebay/beam/query/testdata/ask/no_vars/debug.out b/src/github.com/ebay/akutan/query/testdata/ask/no_vars/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/ask/no_vars/debug.out rename to src/github.com/ebay/akutan/query/testdata/ask/no_vars/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/ask/no_vars/input.facts b/src/github.com/ebay/akutan/query/testdata/ask/no_vars/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/ask/no_vars/input.facts rename to src/github.com/ebay/akutan/query/testdata/ask/no_vars/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/ask/no_vars/query.bql b/src/github.com/ebay/akutan/query/testdata/ask/no_vars/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/ask/no_vars/query.bql rename to src/github.com/ebay/akutan/query/testdata/ask/no_vars/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/ask/no_vars/results.table b/src/github.com/ebay/akutan/query/testdata/ask/no_vars/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/ask/no_vars/results.table rename to src/github.com/ebay/akutan/query/testdata/ask/no_vars/results.table diff --git a/src/github.com/ebay/beam/query/testdata/legacy/leftjoin/debug.out b/src/github.com/ebay/akutan/query/testdata/legacy/leftjoin/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/legacy/leftjoin/debug.out rename to src/github.com/ebay/akutan/query/testdata/legacy/leftjoin/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/legacy/leftjoin/input.facts b/src/github.com/ebay/akutan/query/testdata/legacy/leftjoin/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/legacy/leftjoin/input.facts rename to src/github.com/ebay/akutan/query/testdata/legacy/leftjoin/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/legacy/leftjoin/query.bql b/src/github.com/ebay/akutan/query/testdata/legacy/leftjoin/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/legacy/leftjoin/query.bql rename to src/github.com/ebay/akutan/query/testdata/legacy/leftjoin/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/legacy/leftjoin/results.facts b/src/github.com/ebay/akutan/query/testdata/legacy/leftjoin/results.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/legacy/leftjoin/results.facts rename to src/github.com/ebay/akutan/query/testdata/legacy/leftjoin/results.facts diff --git a/src/github.com/ebay/beam/query/testdata/legacy/postcards/debug.out b/src/github.com/ebay/akutan/query/testdata/legacy/postcards/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/legacy/postcards/debug.out rename to src/github.com/ebay/akutan/query/testdata/legacy/postcards/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/legacy/postcards/input.facts b/src/github.com/ebay/akutan/query/testdata/legacy/postcards/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/legacy/postcards/input.facts rename to src/github.com/ebay/akutan/query/testdata/legacy/postcards/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/legacy/postcards/query.bql b/src/github.com/ebay/akutan/query/testdata/legacy/postcards/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/legacy/postcards/query.bql rename to src/github.com/ebay/akutan/query/testdata/legacy/postcards/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/legacy/postcards/results.facts b/src/github.com/ebay/akutan/query/testdata/legacy/postcards/results.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/legacy/postcards/results.facts rename to src/github.com/ebay/akutan/query/testdata/legacy/postcards/results.facts diff --git a/src/github.com/ebay/beam/query/testdata/legacy/simple/debug.out b/src/github.com/ebay/akutan/query/testdata/legacy/simple/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/legacy/simple/debug.out rename to src/github.com/ebay/akutan/query/testdata/legacy/simple/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/legacy/simple/input.facts b/src/github.com/ebay/akutan/query/testdata/legacy/simple/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/legacy/simple/input.facts rename to src/github.com/ebay/akutan/query/testdata/legacy/simple/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/legacy/simple/query.bql b/src/github.com/ebay/akutan/query/testdata/legacy/simple/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/legacy/simple/query.bql rename to src/github.com/ebay/akutan/query/testdata/legacy/simple/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/legacy/simple/results.facts b/src/github.com/ebay/akutan/query/testdata/legacy/simple/results.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/legacy/simple/results.facts rename to src/github.com/ebay/akutan/query/testdata/legacy/simple/results.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/aggr/count_star/debug.out b/src/github.com/ebay/akutan/query/testdata/select/aggr/count_star/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/aggr/count_star/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/aggr/count_star/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/aggr/count_star/input.facts b/src/github.com/ebay/akutan/query/testdata/select/aggr/count_star/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/aggr/count_star/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/aggr/count_star/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/aggr/count_star/query.bql b/src/github.com/ebay/akutan/query/testdata/select/aggr/count_star/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/aggr/count_star/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/aggr/count_star/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/aggr/count_star/results.table b/src/github.com/ebay/akutan/query/testdata/select/aggr/count_star/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/aggr/count_star/results.table rename to src/github.com/ebay/akutan/query/testdata/select/aggr/count_star/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/aggr/count_vars/debug.out b/src/github.com/ebay/akutan/query/testdata/select/aggr/count_vars/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/aggr/count_vars/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/aggr/count_vars/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/aggr/count_vars/input.facts b/src/github.com/ebay/akutan/query/testdata/select/aggr/count_vars/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/aggr/count_vars/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/aggr/count_vars/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/aggr/count_vars/query.bql b/src/github.com/ebay/akutan/query/testdata/select/aggr/count_vars/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/aggr/count_vars/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/aggr/count_vars/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/aggr/count_vars/results.table b/src/github.com/ebay/akutan/query/testdata/select/aggr/count_vars/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/aggr/count_vars/results.table rename to src/github.com/ebay/akutan/query/testdata/select/aggr/count_vars/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/aggr/no_mixed/debug.out b/src/github.com/ebay/akutan/query/testdata/select/aggr/no_mixed/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/aggr/no_mixed/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/aggr/no_mixed/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/aggr/no_mixed/input.facts b/src/github.com/ebay/akutan/query/testdata/select/aggr/no_mixed/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/aggr/no_mixed/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/aggr/no_mixed/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/aggr/no_mixed/query.bql b/src/github.com/ebay/akutan/query/testdata/select/aggr/no_mixed/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/aggr/no_mixed/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/aggr/no_mixed/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/aggr/no_mixed/results.error b/src/github.com/ebay/akutan/query/testdata/select/aggr/no_mixed/results.error similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/aggr/no_mixed/results.error rename to src/github.com/ebay/akutan/query/testdata/select/aggr/no_mixed/results.error diff --git a/src/github.com/ebay/beam/query/testdata/select/comparison/notEqualEntity/debug.out b/src/github.com/ebay/akutan/query/testdata/select/comparison/notEqualEntity/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/comparison/notEqualEntity/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/comparison/notEqualEntity/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/comparison/notEqualEntity/input.facts b/src/github.com/ebay/akutan/query/testdata/select/comparison/notEqualEntity/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/comparison/notEqualEntity/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/comparison/notEqualEntity/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/comparison/notEqualEntity/query.bql b/src/github.com/ebay/akutan/query/testdata/select/comparison/notEqualEntity/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/comparison/notEqualEntity/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/comparison/notEqualEntity/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/comparison/notEqualEntity/results.table b/src/github.com/ebay/akutan/query/testdata/select/comparison/notEqualEntity/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/comparison/notEqualEntity/results.table rename to src/github.com/ebay/akutan/query/testdata/select/comparison/notEqualEntity/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/count_star/debug.out b/src/github.com/ebay/akutan/query/testdata/select/distinct/count_star/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/count_star/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/distinct/count_star/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/count_star/input.facts b/src/github.com/ebay/akutan/query/testdata/select/distinct/count_star/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/count_star/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/distinct/count_star/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/count_star/query.bql b/src/github.com/ebay/akutan/query/testdata/select/distinct/count_star/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/count_star/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/distinct/count_star/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/count_star/results.table b/src/github.com/ebay/akutan/query/testdata/select/distinct/count_star/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/count_star/results.table rename to src/github.com/ebay/akutan/query/testdata/select/distinct/count_star/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/limit/debug.out b/src/github.com/ebay/akutan/query/testdata/select/distinct/limit/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/limit/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/distinct/limit/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/limit/input.facts b/src/github.com/ebay/akutan/query/testdata/select/distinct/limit/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/limit/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/distinct/limit/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/limit/query.bql b/src/github.com/ebay/akutan/query/testdata/select/distinct/limit/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/limit/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/distinct/limit/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/limit/results.table b/src/github.com/ebay/akutan/query/testdata/select/distinct/limit/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/limit/results.table rename to src/github.com/ebay/akutan/query/testdata/select/distinct/limit/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/orderby/debug.out b/src/github.com/ebay/akutan/query/testdata/select/distinct/orderby/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/orderby/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/distinct/orderby/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/orderby/input.facts b/src/github.com/ebay/akutan/query/testdata/select/distinct/orderby/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/orderby/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/distinct/orderby/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/orderby/query.bql b/src/github.com/ebay/akutan/query/testdata/select/distinct/orderby/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/orderby/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/distinct/orderby/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/orderby/results.table b/src/github.com/ebay/akutan/query/testdata/select/distinct/orderby/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/orderby/results.table rename to src/github.com/ebay/akutan/query/testdata/select/distinct/orderby/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/orderby_limit/debug.out b/src/github.com/ebay/akutan/query/testdata/select/distinct/orderby_limit/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/orderby_limit/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/distinct/orderby_limit/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/orderby_limit/input.facts b/src/github.com/ebay/akutan/query/testdata/select/distinct/orderby_limit/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/orderby_limit/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/distinct/orderby_limit/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/orderby_limit/query.bql b/src/github.com/ebay/akutan/query/testdata/select/distinct/orderby_limit/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/orderby_limit/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/distinct/orderby_limit/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/orderby_limit/results.table b/src/github.com/ebay/akutan/query/testdata/select/distinct/orderby_limit/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/orderby_limit/results.table rename to src/github.com/ebay/akutan/query/testdata/select/distinct/orderby_limit/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/star/debug.out b/src/github.com/ebay/akutan/query/testdata/select/distinct/star/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/star/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/distinct/star/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/star/input.facts b/src/github.com/ebay/akutan/query/testdata/select/distinct/star/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/star/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/distinct/star/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/star/query.bql b/src/github.com/ebay/akutan/query/testdata/select/distinct/star/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/star/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/distinct/star/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/star/results.table b/src/github.com/ebay/akutan/query/testdata/select/distinct/star/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/star/results.table rename to src/github.com/ebay/akutan/query/testdata/select/distinct/star/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/var/debug.out b/src/github.com/ebay/akutan/query/testdata/select/distinct/var/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/var/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/distinct/var/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/var/input.facts b/src/github.com/ebay/akutan/query/testdata/select/distinct/var/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/var/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/distinct/var/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/var/query.bql b/src/github.com/ebay/akutan/query/testdata/select/distinct/var/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/var/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/distinct/var/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/var/results.table b/src/github.com/ebay/akutan/query/testdata/select/distinct/var/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/var/results.table rename to src/github.com/ebay/akutan/query/testdata/select/distinct/var/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/vars/debug.out b/src/github.com/ebay/akutan/query/testdata/select/distinct/vars/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/vars/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/distinct/vars/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/vars/input.facts b/src/github.com/ebay/akutan/query/testdata/select/distinct/vars/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/vars/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/distinct/vars/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/vars/query.bql b/src/github.com/ebay/akutan/query/testdata/select/distinct/vars/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/vars/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/distinct/vars/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/distinct/vars/results.table b/src/github.com/ebay/akutan/query/testdata/select/distinct/vars/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/distinct/vars/results.table rename to src/github.com/ebay/akutan/query/testdata/select/distinct/vars/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/limit_offset/count_limit/debug.out b/src/github.com/ebay/akutan/query/testdata/select/limit_offset/count_limit/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/limit_offset/count_limit/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/limit_offset/count_limit/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/limit_offset/count_limit/input.facts b/src/github.com/ebay/akutan/query/testdata/select/limit_offset/count_limit/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/limit_offset/count_limit/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/limit_offset/count_limit/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/limit_offset/count_limit/query.bql b/src/github.com/ebay/akutan/query/testdata/select/limit_offset/count_limit/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/limit_offset/count_limit/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/limit_offset/count_limit/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/limit_offset/count_limit/results.table b/src/github.com/ebay/akutan/query/testdata/select/limit_offset/count_limit/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/limit_offset/count_limit/results.table rename to src/github.com/ebay/akutan/query/testdata/select/limit_offset/count_limit/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/limit_offset/limit/debug.out b/src/github.com/ebay/akutan/query/testdata/select/limit_offset/limit/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/limit_offset/limit/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/limit_offset/limit/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/limit_offset/limit/input.facts b/src/github.com/ebay/akutan/query/testdata/select/limit_offset/limit/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/limit_offset/limit/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/limit_offset/limit/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/limit_offset/limit/query.bql b/src/github.com/ebay/akutan/query/testdata/select/limit_offset/limit/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/limit_offset/limit/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/limit_offset/limit/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/limit_offset/limit/results.table b/src/github.com/ebay/akutan/query/testdata/select/limit_offset/limit/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/limit_offset/limit/results.table rename to src/github.com/ebay/akutan/query/testdata/select/limit_offset/limit/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/limit_offset/limit_and_offset/debug.out b/src/github.com/ebay/akutan/query/testdata/select/limit_offset/limit_and_offset/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/limit_offset/limit_and_offset/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/limit_offset/limit_and_offset/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/limit_offset/limit_and_offset/input.facts b/src/github.com/ebay/akutan/query/testdata/select/limit_offset/limit_and_offset/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/limit_offset/limit_and_offset/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/limit_offset/limit_and_offset/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/limit_offset/limit_and_offset/query.bql b/src/github.com/ebay/akutan/query/testdata/select/limit_offset/limit_and_offset/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/limit_offset/limit_and_offset/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/limit_offset/limit_and_offset/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/limit_offset/limit_and_offset/results.table b/src/github.com/ebay/akutan/query/testdata/select/limit_offset/limit_and_offset/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/limit_offset/limit_and_offset/results.table rename to src/github.com/ebay/akutan/query/testdata/select/limit_offset/limit_and_offset/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/limit_offset/offset/debug.out b/src/github.com/ebay/akutan/query/testdata/select/limit_offset/offset/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/limit_offset/offset/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/limit_offset/offset/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/limit_offset/offset/input.facts b/src/github.com/ebay/akutan/query/testdata/select/limit_offset/offset/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/limit_offset/offset/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/limit_offset/offset/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/limit_offset/offset/query.bql b/src/github.com/ebay/akutan/query/testdata/select/limit_offset/offset/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/limit_offset/offset/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/limit_offset/offset/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/limit_offset/offset/results.table b/src/github.com/ebay/akutan/query/testdata/select/limit_offset/offset/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/limit_offset/offset/results.table rename to src/github.com/ebay/akutan/query/testdata/select/limit_offset/offset/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/orderby/orderby_limit_offset/debug.out b/src/github.com/ebay/akutan/query/testdata/select/orderby/orderby_limit_offset/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/orderby/orderby_limit_offset/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/orderby/orderby_limit_offset/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/orderby/orderby_limit_offset/input.facts b/src/github.com/ebay/akutan/query/testdata/select/orderby/orderby_limit_offset/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/orderby/orderby_limit_offset/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/orderby/orderby_limit_offset/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/orderby/orderby_limit_offset/query.bql b/src/github.com/ebay/akutan/query/testdata/select/orderby/orderby_limit_offset/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/orderby/orderby_limit_offset/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/orderby/orderby_limit_offset/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/orderby/orderby_limit_offset/results.table b/src/github.com/ebay/akutan/query/testdata/select/orderby/orderby_limit_offset/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/orderby/orderby_limit_offset/results.table rename to src/github.com/ebay/akutan/query/testdata/select/orderby/orderby_limit_offset/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/orderby/star_orderby_limit_offset/debug.out b/src/github.com/ebay/akutan/query/testdata/select/orderby/star_orderby_limit_offset/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/orderby/star_orderby_limit_offset/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/orderby/star_orderby_limit_offset/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/orderby/star_orderby_limit_offset/input.facts b/src/github.com/ebay/akutan/query/testdata/select/orderby/star_orderby_limit_offset/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/orderby/star_orderby_limit_offset/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/orderby/star_orderby_limit_offset/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/orderby/star_orderby_limit_offset/query.bql b/src/github.com/ebay/akutan/query/testdata/select/orderby/star_orderby_limit_offset/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/orderby/star_orderby_limit_offset/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/orderby/star_orderby_limit_offset/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/orderby/star_orderby_limit_offset/results.table b/src/github.com/ebay/akutan/query/testdata/select/orderby/star_orderby_limit_offset/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/orderby/star_orderby_limit_offset/results.table rename to src/github.com/ebay/akutan/query/testdata/select/orderby/star_orderby_limit_offset/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/orderby/vars_orderby_two_columns/debug.out b/src/github.com/ebay/akutan/query/testdata/select/orderby/vars_orderby_two_columns/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/orderby/vars_orderby_two_columns/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/orderby/vars_orderby_two_columns/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/orderby/vars_orderby_two_columns/input.facts b/src/github.com/ebay/akutan/query/testdata/select/orderby/vars_orderby_two_columns/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/orderby/vars_orderby_two_columns/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/orderby/vars_orderby_two_columns/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/orderby/vars_orderby_two_columns/query.bql b/src/github.com/ebay/akutan/query/testdata/select/orderby/vars_orderby_two_columns/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/orderby/vars_orderby_two_columns/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/orderby/vars_orderby_two_columns/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/orderby/vars_orderby_two_columns/results.table b/src/github.com/ebay/akutan/query/testdata/select/orderby/vars_orderby_two_columns/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/orderby/vars_orderby_two_columns/results.table rename to src/github.com/ebay/akutan/query/testdata/select/orderby/vars_orderby_two_columns/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/star_more_vars/debug.out b/src/github.com/ebay/akutan/query/testdata/select/star_more_vars/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/star_more_vars/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/star_more_vars/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/star_more_vars/input.facts b/src/github.com/ebay/akutan/query/testdata/select/star_more_vars/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/star_more_vars/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/star_more_vars/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/star_more_vars/query.bql b/src/github.com/ebay/akutan/query/testdata/select/star_more_vars/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/star_more_vars/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/star_more_vars/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/star_more_vars/results.table b/src/github.com/ebay/akutan/query/testdata/select/star_more_vars/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/star_more_vars/results.table rename to src/github.com/ebay/akutan/query/testdata/select/star_more_vars/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/star_one_var/debug.out b/src/github.com/ebay/akutan/query/testdata/select/star_one_var/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/star_one_var/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/star_one_var/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/star_one_var/input.facts b/src/github.com/ebay/akutan/query/testdata/select/star_one_var/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/star_one_var/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/star_one_var/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/star_one_var/query.bql b/src/github.com/ebay/akutan/query/testdata/select/star_one_var/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/star_one_var/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/star_one_var/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/star_one_var/results.table b/src/github.com/ebay/akutan/query/testdata/select/star_one_var/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/star_one_var/results.table rename to src/github.com/ebay/akutan/query/testdata/select/star_one_var/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/vars/debug.out b/src/github.com/ebay/akutan/query/testdata/select/vars/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/vars/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/vars/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/vars/input.facts b/src/github.com/ebay/akutan/query/testdata/select/vars/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/vars/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/vars/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/vars/query.bql b/src/github.com/ebay/akutan/query/testdata/select/vars/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/vars/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/vars/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/vars/results.table b/src/github.com/ebay/akutan/query/testdata/select/vars/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/vars/results.table rename to src/github.com/ebay/akutan/query/testdata/select/vars/results.table diff --git a/src/github.com/ebay/beam/query/testdata/select/vars_subset/debug.out b/src/github.com/ebay/akutan/query/testdata/select/vars_subset/debug.out similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/vars_subset/debug.out rename to src/github.com/ebay/akutan/query/testdata/select/vars_subset/debug.out diff --git a/src/github.com/ebay/beam/query/testdata/select/vars_subset/input.facts b/src/github.com/ebay/akutan/query/testdata/select/vars_subset/input.facts similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/vars_subset/input.facts rename to src/github.com/ebay/akutan/query/testdata/select/vars_subset/input.facts diff --git a/src/github.com/ebay/beam/query/testdata/select/vars_subset/query.bql b/src/github.com/ebay/akutan/query/testdata/select/vars_subset/query.bql similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/vars_subset/query.bql rename to src/github.com/ebay/akutan/query/testdata/select/vars_subset/query.bql diff --git a/src/github.com/ebay/beam/query/testdata/select/vars_subset/results.table b/src/github.com/ebay/akutan/query/testdata/select/vars_subset/results.table similarity index 100% rename from src/github.com/ebay/beam/query/testdata/select/vars_subset/results.table rename to src/github.com/ebay/akutan/query/testdata/select/vars_subset/results.table diff --git a/src/github.com/ebay/beam/rpc/doc.go b/src/github.com/ebay/akutan/rpc/doc.go similarity index 90% rename from src/github.com/ebay/beam/rpc/doc.go rename to src/github.com/ebay/akutan/rpc/doc.go index 3336f5e..8a964a4 100644 --- a/src/github.com/ebay/beam/rpc/doc.go +++ b/src/github.com/ebay/akutan/rpc/doc.go @@ -14,6 +14,6 @@ // limitations under the License. // Package rpc contains ProtoBuf-generated types for the messages communicated -// between Beam servers. It also contains some related types, such as FactSink +// between Akutan servers. It also contains some related types, such as FactSink // and KGObject. package rpc diff --git a/src/github.com/ebay/beam/rpc/fact.go b/src/github.com/ebay/akutan/rpc/fact.go similarity index 97% rename from src/github.com/ebay/beam/rpc/fact.go rename to src/github.com/ebay/akutan/rpc/fact.go index 28bf595..157ba12 100644 --- a/src/github.com/ebay/beam/rpc/fact.go +++ b/src/github.com/ebay/akutan/rpc/fact.go @@ -18,7 +18,7 @@ package rpc import ( "fmt" - "github.com/ebay/beam/api" + "github.com/ebay/akutan/api" ) // ToAPIFact converts an internal Fact representation into the diff --git a/src/github.com/ebay/beam/rpc/kgobject.go b/src/github.com/ebay/akutan/rpc/kgobject.go similarity index 99% rename from src/github.com/ebay/beam/rpc/kgobject.go rename to src/github.com/ebay/akutan/rpc/kgobject.go index 15e858e..4b7ffed 100644 --- a/src/github.com/ebay/beam/rpc/kgobject.go +++ b/src/github.com/ebay/akutan/rpc/kgobject.go @@ -19,7 +19,7 @@ import ( "bytes" "fmt" - "github.com/ebay/beam/api" + "github.com/ebay/akutan/api" ) // KGObject represents a value of the Object field of a fact, this can be a KID diff --git a/src/github.com/ebay/beam/rpc/kgobject_accessors.go b/src/github.com/ebay/akutan/rpc/kgobject_accessors.go similarity index 99% rename from src/github.com/ebay/beam/rpc/kgobject_accessors.go rename to src/github.com/ebay/akutan/rpc/kgobject_accessors.go index 25139d9..9bf9d1d 100644 --- a/src/github.com/ebay/beam/rpc/kgobject_accessors.go +++ b/src/github.com/ebay/akutan/rpc/kgobject_accessors.go @@ -20,7 +20,7 @@ import ( "math" "time" - "github.com/ebay/beam/logentry" + "github.com/ebay/akutan/logentry" ) // TypePrefix returns a byte slice that contain a prefix of the encoding that contains diff --git a/src/github.com/ebay/beam/rpc/kgobject_encoding.go b/src/github.com/ebay/akutan/rpc/kgobject_encoding.go similarity index 100% rename from src/github.com/ebay/beam/rpc/kgobject_encoding.go rename to src/github.com/ebay/akutan/rpc/kgobject_encoding.go diff --git a/src/github.com/ebay/beam/rpc/kgobject_marshal.go b/src/github.com/ebay/akutan/rpc/kgobject_marshal.go similarity index 98% rename from src/github.com/ebay/beam/rpc/kgobject_marshal.go rename to src/github.com/ebay/akutan/rpc/kgobject_marshal.go index 9b80daa..30aff67 100644 --- a/src/github.com/ebay/beam/rpc/kgobject_marshal.go +++ b/src/github.com/ebay/akutan/rpc/kgobject_marshal.go @@ -18,7 +18,7 @@ package rpc import ( "io" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/util/cmp" ) // functions in this package are to support custom marshaling of KGObject over protobuf/gRPC diff --git a/src/github.com/ebay/beam/rpc/kgobject_new.go b/src/github.com/ebay/akutan/rpc/kgobject_new.go similarity index 98% rename from src/github.com/ebay/beam/rpc/kgobject_new.go rename to src/github.com/ebay/akutan/rpc/kgobject_new.go index 0e22dc3..29943c7 100644 --- a/src/github.com/ebay/beam/rpc/kgobject_new.go +++ b/src/github.com/ebay/akutan/rpc/kgobject_new.go @@ -20,8 +20,8 @@ import ( "math" "time" - "github.com/ebay/beam/api" - "github.com/ebay/beam/logentry" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/logentry" ) // KGObjectFromAPI returns a new KGObject instance that is equivilent to the diff --git a/src/github.com/ebay/beam/rpc/kgobject_stringer.go b/src/github.com/ebay/akutan/rpc/kgobject_stringer.go similarity index 99% rename from src/github.com/ebay/beam/rpc/kgobject_stringer.go rename to src/github.com/ebay/akutan/rpc/kgobject_stringer.go index 31a0ebe..a0c5556 100644 --- a/src/github.com/ebay/beam/rpc/kgobject_stringer.go +++ b/src/github.com/ebay/akutan/rpc/kgobject_stringer.go @@ -20,7 +20,7 @@ import ( "strconv" "strings" - "github.com/ebay/beam/logentry" + "github.com/ebay/akutan/logentry" ) var ( diff --git a/src/github.com/ebay/beam/rpc/kgobject_stringer_test.go b/src/github.com/ebay/akutan/rpc/kgobject_stringer_test.go similarity index 98% rename from src/github.com/ebay/beam/rpc/kgobject_stringer_test.go rename to src/github.com/ebay/akutan/rpc/kgobject_stringer_test.go index 046eafc..2d1671b 100644 --- a/src/github.com/ebay/beam/rpc/kgobject_stringer_test.go +++ b/src/github.com/ebay/akutan/rpc/kgobject_stringer_test.go @@ -19,7 +19,7 @@ import ( "math" "testing" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/util/cmp" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/rpc/kgobject_test.go b/src/github.com/ebay/akutan/rpc/kgobject_test.go similarity index 98% rename from src/github.com/ebay/beam/rpc/kgobject_test.go rename to src/github.com/ebay/akutan/rpc/kgobject_test.go index 82b24d5..b87a84e 100644 --- a/src/github.com/ebay/beam/rpc/kgobject_test.go +++ b/src/github.com/ebay/akutan/rpc/kgobject_test.go @@ -24,8 +24,8 @@ import ( "time" "github.com/cespare/xxhash" - "github.com/ebay/beam/api" - "github.com/ebay/beam/msg/kgobject" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/msg/kgobject" "github.com/stretchr/testify/assert" ) @@ -395,7 +395,7 @@ func Benchmark_kgObjectFactory_AKID(b *testing.B) { // For reference, this is the benchmark output from a 15" Macbook Pro Laptop // as of March 2019 -// run with go test -bench=. -benchmem github.com/ebay/beam/rpc/... +// run with go test -bench=. -benchmem github.com/ebay/akutan/rpc/... // Benchmark_BinaryWrite-8 50000000 35.2 ns/op 16 B/op 2 allocs/op // Benchmark_PutUint64ThenWrite-8 300000000 5.84 ns/op 0 B/op 0 allocs/op diff --git a/src/github.com/ebay/beam/rpc/log_position.go b/src/github.com/ebay/akutan/rpc/log_position.go similarity index 100% rename from src/github.com/ebay/beam/rpc/log_position.go rename to src/github.com/ebay/akutan/rpc/log_position.go diff --git a/src/github.com/ebay/beam/rpc/log_position_test.go b/src/github.com/ebay/akutan/rpc/log_position_test.go similarity index 100% rename from src/github.com/ebay/beam/rpc/log_position_test.go rename to src/github.com/ebay/akutan/rpc/log_position_test.go diff --git a/src/github.com/ebay/beam/rpc/mockchunk_stream_fortests.go b/src/github.com/ebay/akutan/rpc/mockchunk_stream_fortests.go similarity index 100% rename from src/github.com/ebay/beam/rpc/mockchunk_stream_fortests.go rename to src/github.com/ebay/akutan/rpc/mockchunk_stream_fortests.go diff --git a/src/github.com/ebay/beam/rpc/mockchunk_stream_fortests_test.go b/src/github.com/ebay/akutan/rpc/mockchunk_stream_fortests_test.go similarity index 100% rename from src/github.com/ebay/beam/rpc/mockchunk_stream_fortests_test.go rename to src/github.com/ebay/akutan/rpc/mockchunk_stream_fortests_test.go diff --git a/src/github.com/ebay/beam/rpc/operator_string.go b/src/github.com/ebay/akutan/rpc/operator_string.go similarity index 100% rename from src/github.com/ebay/beam/rpc/operator_string.go rename to src/github.com/ebay/akutan/rpc/operator_string.go diff --git a/src/github.com/ebay/beam/rpc/operator_string_test.go b/src/github.com/ebay/akutan/rpc/operator_string_test.go similarity index 97% rename from src/github.com/ebay/beam/rpc/operator_string_test.go rename to src/github.com/ebay/akutan/rpc/operator_string_test.go index df67439..88421d9 100644 --- a/src/github.com/ebay/beam/rpc/operator_string_test.go +++ b/src/github.com/ebay/akutan/rpc/operator_string_test.go @@ -18,7 +18,7 @@ package rpc import ( "testing" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/util/cmp" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/rpc/sink.go b/src/github.com/ebay/akutan/rpc/sink.go similarity index 98% rename from src/github.com/ebay/beam/rpc/sink.go rename to src/github.com/ebay/akutan/rpc/sink.go index 5b75831..a96a77d 100644 --- a/src/github.com/ebay/beam/rpc/sink.go +++ b/src/github.com/ebay/akutan/rpc/sink.go @@ -16,7 +16,7 @@ package rpc import ( - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/util/cmp" ) // ChunkReadyCallback will be called when the LookupSink has ready chunks to pass along diff --git a/src/github.com/ebay/beam/rpc/sink_test.go b/src/github.com/ebay/akutan/rpc/sink_test.go similarity index 100% rename from src/github.com/ebay/beam/rpc/sink_test.go rename to src/github.com/ebay/akutan/rpc/sink_test.go diff --git a/src/github.com/ebay/beam/rpc/views.proto b/src/github.com/ebay/akutan/rpc/views.proto similarity index 99% rename from src/github.com/ebay/beam/rpc/views.proto rename to src/github.com/ebay/akutan/rpc/views.proto index b1baf2a..03423ae 100644 --- a/src/github.com/ebay/beam/rpc/views.proto +++ b/src/github.com/ebay/akutan/rpc/views.proto @@ -22,7 +22,7 @@ import "google/protobuf/duration.proto"; // This file contains definitions for the services that the views expose for use // by the API tier and other views. // -// The file src/github.com/ebay/beam/api/readme.go contains details of how the types +// The file src/github.com/ebay/akutan/api/readme.go contains details of how the types // in related packages are used, and why they exist. service ReadFactsSP { diff --git a/src/github.com/ebay/beam/space/space.go b/src/github.com/ebay/akutan/space/space.go similarity index 98% rename from src/github.com/ebay/beam/space/space.go rename to src/github.com/ebay/akutan/space/space.go index 2e1a5a1..bc5749a 100644 --- a/src/github.com/ebay/beam/space/space.go +++ b/src/github.com/ebay/akutan/space/space.go @@ -14,7 +14,7 @@ // limitations under the License. // Package space defines abstract notions of points and ranges. It's used in -// Beam to describe the keys and hashes that servers host. +// Akutan to describe the keys and hashes that servers host. package space import ( diff --git a/src/github.com/ebay/beam/space/space_test.go b/src/github.com/ebay/akutan/space/space_test.go similarity index 100% rename from src/github.com/ebay/beam/space/space_test.go rename to src/github.com/ebay/akutan/space/space_test.go diff --git a/src/github.com/ebay/beam/tools/beam-client/bc.go b/src/github.com/ebay/akutan/tools/akutan-client/ak.go similarity index 80% rename from src/github.com/ebay/beam/tools/beam-client/bc.go rename to src/github.com/ebay/akutan/tools/akutan-client/ak.go index 291d753..dce6395 100644 --- a/src/github.com/ebay/beam/tools/beam-client/bc.go +++ b/src/github.com/ebay/akutan/tools/akutan-client/ak.go @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Command bc provides command line access to the beam GRPC API +// Command bc provides command line access to the akutan GRPC API package main import ( @@ -24,14 +24,14 @@ import ( "time" docopt "github.com/docopt/docopt-go" - "github.com/ebay/beam/api" - "github.com/ebay/beam/config" - "github.com/ebay/beam/msg/facts" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/util/debuglog" - grpcclientutil "github.com/ebay/beam/util/grpc/client" - "github.com/ebay/beam/util/table" - "github.com/ebay/beam/util/tracing" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/msg/facts" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/util/debuglog" + grpcclientutil "github.com/ebay/akutan/util/grpc/client" + "github.com/ebay/akutan/util/table" + "github.com/ebay/akutan/util/tracing" opentracing "github.com/opentracing/opentracing-go" log "github.com/sirupsen/logrus" "golang.org/x/text/language" @@ -40,19 +40,19 @@ import ( var fmtr = message.NewPrinter(language.English) -const usage = `beam-client is a command-line tool for calling the Beam API service. +const usage = `akutan-client is a command-line tool for calling the Akutan API service. Usage: - beam-client [--api=HOST -t=DUR --trace=HOST] query [-i=NUM] FILE - beam-client [--api=HOST -t=DUR --trace=HOST --format=FORMAT] insert FILE - beam-client [--api=HOST -t=DUR --trace=HOST] queryfacts [-i=NUM] [--noextids] [QUERYSTRING] - beam-client [--api=HOST -t=DUR --trace=HOST] lookupsp [-i=NUM] SUBJECT PREDICATE - beam-client [--api=HOST -t=DUR --trace=HOST] lookuppo [-i=NUM] PREDICATE OBJECT - beam-client [--api=HOST -t=DUR --trace=HOST] wipe [-w=WAITFOR] + akutan-client [--api=HOST -t=DUR --trace=HOST] query [-i=NUM] FILE + akutan-client [--api=HOST -t=DUR --trace=HOST --format=FORMAT] insert FILE + akutan-client [--api=HOST -t=DUR --trace=HOST] queryfacts [-i=NUM] [--noextids] [QUERYSTRING] + akutan-client [--api=HOST -t=DUR --trace=HOST] lookupsp [-i=NUM] SUBJECT PREDICATE + akutan-client [--api=HOST -t=DUR --trace=HOST] lookuppo [-i=NUM] PREDICATE OBJECT + akutan-client [--api=HOST -t=DUR --trace=HOST] wipe [-w=WAITFOR] Options: - --api=HOST Host and port of Beam API server to connect to [default: localhost:9987] - -t=DUR, --timeout=DUR Timeout for RPC calls to Beam API tier [default: 10s] + --api=HOST Host and port of Akutan API server to connect to [default: localhost:9987] + -t=DUR, --timeout=DUR Timeout for RPC calls to Akutan API tier [default: 10s] -i=NUM, --index=NUM Log index to specify in request. -w=WAITFOR, --waitfor=WAITFOR Duration to wait for wipe to complete. --noextids Don't resolve/print KID externalIDs in fact results. @@ -61,19 +61,19 @@ Options: Examples: # Multiple line insert fact usage. - beam-client insert - < rdf:type motors:part EOF # Query all cars that accept part1. - beam-client queryfacts "?c " + akutan-client queryfacts "?c " # Query all parts that fit car1. - beam-client queryfacts " ?p" + akutan-client queryfacts " ?p" # Multiple line query usage to get all parts that fit car1. - beam-client query - < ?p ?p rdf:type product:part @@ -81,12 +81,12 @@ EOF EOF # Lookup facts by subject and predicate. - beam-client lookupsp 1430001 1454001 + akutan-client lookupsp 1430001 1454001 # Lookup facts by predicate and object at the Log index. - beam-client lookuppo --index 99552 1454001 99452001 + akutan-client lookuppo --index 99552 1454001 99452001 # Wipe all existing data from the database. - beam-client wipe + akutan-client wipe ` @@ -165,7 +165,7 @@ func main() { ctx := context.Background() if options.TracingCollector != "" { - tracer, err := tracing.New("beam-client", &config.Tracing{ + tracer, err := tracing.New("akutan-client", &config.Tracing{ Type: "jaeger", Locator: config.Locator{ Type: "static", @@ -178,12 +178,12 @@ func main() { defer tracer.Close() } } - span, ctx := opentracing.StartSpanFromContext(ctx, "beam-client run") + span, ctx := opentracing.StartSpanFromContext(ctx, "akutan-client run") defer span.Finish() conn := grpcclientutil.InsecureDialContext(ctx, options.Server) - factStore := api.NewBeamFactStoreClient(conn) + factStore := api.NewFactStoreClient(conn) fmt.Println() // Most subcommands run under timeoutCtx. However, a few subcommands @@ -228,7 +228,7 @@ func main() { } } -func fetchExternalIDsOfkIDs(ctx context.Context, store api.BeamFactStoreClient, kids []uint64) map[uint64]string { +func fetchExternalIDsOfkIDs(ctx context.Context, store api.FactStoreClient, kids []uint64) map[uint64]string { extIDLookup := api.LookupSPRequest{ Lookups: make([]api.LookupSPRequest_Item, 0, len(kids)), } @@ -252,7 +252,7 @@ func fetchExternalIDsOfkIDs(ctx context.Context, store api.BeamFactStoreClient, return res } -func fetchExternalIDsOfFacts(ctx context.Context, store api.BeamFactStoreClient, factList []api.ResolvedFact) map[uint64]string { +func fetchExternalIDsOfFacts(ctx context.Context, store api.FactStoreClient, factList []api.ResolvedFact) map[uint64]string { kids := make([]uint64, 0, len(factList)*3) for _, f := range factList { kids = append(kids, f.Subject, f.Predicate) @@ -269,7 +269,7 @@ func fetchExternalIDsOfFacts(ctx context.Context, store api.BeamFactStoreClient, return fetchExternalIDsOfkIDs(ctx, store, kids) } -func dumpFacts(ctx context.Context, store api.BeamFactStoreClient, idx int64, facts []api.ResolvedFact, title string, opt *options) { +func dumpFacts(ctx context.Context, store api.FactStoreClient, idx int64, facts []api.ResolvedFact, title string, opt *options) { if len(title) > 0 { fmt.Println(title) } diff --git a/src/github.com/ebay/beam/tools/beam-client/bc_test.go b/src/github.com/ebay/akutan/tools/akutan-client/ak_test.go similarity index 100% rename from src/github.com/ebay/beam/tools/beam-client/bc_test.go rename to src/github.com/ebay/akutan/tools/akutan-client/ak_test.go diff --git a/src/github.com/ebay/beam/tools/beam-client/insert.go b/src/github.com/ebay/akutan/tools/akutan-client/insert.go similarity index 93% rename from src/github.com/ebay/beam/tools/beam-client/insert.go rename to src/github.com/ebay/akutan/tools/akutan-client/insert.go index 1921efe..b42526e 100644 --- a/src/github.com/ebay/beam/tools/beam-client/insert.go +++ b/src/github.com/ebay/akutan/tools/akutan-client/insert.go @@ -21,12 +21,12 @@ import ( "os" "time" - "github.com/ebay/beam/api" + "github.com/ebay/akutan/api" log "github.com/sirupsen/logrus" ) // insert invokes the store.Insert RPC. -func insert(ctx context.Context, store api.BeamFactStoreClient, options *options) error { +func insert(ctx context.Context, store api.FactStoreClient, options *options) error { input, err := readFile(options.Filename) if err != nil { return err diff --git a/src/github.com/ebay/beam/tools/beam-client/lookup.go b/src/github.com/ebay/akutan/tools/akutan-client/lookup.go similarity index 88% rename from src/github.com/ebay/beam/tools/beam-client/lookup.go rename to src/github.com/ebay/akutan/tools/akutan-client/lookup.go index 8f2f2b6..0162e83 100644 --- a/src/github.com/ebay/beam/tools/beam-client/lookup.go +++ b/src/github.com/ebay/akutan/tools/akutan-client/lookup.go @@ -19,11 +19,11 @@ import ( "context" "time" - "github.com/ebay/beam/api" + "github.com/ebay/akutan/api" log "github.com/sirupsen/logrus" ) -func lookupPO(ctx context.Context, store api.BeamFactStoreClient, options *options) error { +func lookupPO(ctx context.Context, store api.FactStoreClient, options *options) error { req := &api.LookupPORequest{ Index: options.Index, Predicate: options.Predicate.Value, @@ -40,7 +40,7 @@ func lookupPO(ctx context.Context, store api.BeamFactStoreClient, options *optio return nil } -func lookupSP(ctx context.Context, store api.BeamFactStoreClient, options *options) error { +func lookupSP(ctx context.Context, store api.FactStoreClient, options *options) error { req := &api.LookupSPRequest{ Index: options.Index, Lookups: []api.LookupSPRequest_Item{{Subject: options.Subject.Value, Predicate: options.Predicate.Value}}, diff --git a/src/github.com/ebay/beam/tools/beam-client/query.go b/src/github.com/ebay/akutan/tools/akutan-client/query.go similarity index 92% rename from src/github.com/ebay/beam/tools/beam-client/query.go rename to src/github.com/ebay/akutan/tools/akutan-client/query.go index c4e7b58..37420ac 100644 --- a/src/github.com/ebay/beam/tools/beam-client/query.go +++ b/src/github.com/ebay/akutan/tools/akutan-client/query.go @@ -23,12 +23,12 @@ import ( "os" "time" - "github.com/ebay/beam/api" - "github.com/ebay/beam/util/table" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/util/table" log "github.com/sirupsen/logrus" ) -func query(ctx context.Context, store api.BeamFactStoreClient, options *options) error { +func query(ctx context.Context, store api.FactStoreClient, options *options) error { query, err := readFile(options.Filename) if err != nil { return err @@ -94,7 +94,7 @@ func dumpQueryResults(res *api.QueryResult) { table.PrettyPrint(os.Stdout, t, table.HeaderRow) } -func queryFacts(ctx context.Context, store api.BeamFactStoreClient, options *options) error { +func queryFacts(ctx context.Context, store api.FactStoreClient, options *options) error { query := options.QueryString if "-" == query { all, err := ioutil.ReadAll(os.Stdin) diff --git a/src/github.com/ebay/beam/tools/beam-client/wipe.go b/src/github.com/ebay/akutan/tools/akutan-client/wipe.go similarity index 90% rename from src/github.com/ebay/beam/tools/beam-client/wipe.go rename to src/github.com/ebay/akutan/tools/akutan-client/wipe.go index 458569c..017e7ad 100644 --- a/src/github.com/ebay/beam/tools/beam-client/wipe.go +++ b/src/github.com/ebay/akutan/tools/akutan-client/wipe.go @@ -19,11 +19,11 @@ import ( "context" "time" - "github.com/ebay/beam/api" + "github.com/ebay/akutan/api" log "github.com/sirupsen/logrus" ) -func wipe(ctx context.Context, store api.BeamFactStoreClient, options *options) error { +func wipe(ctx context.Context, store api.FactStoreClient, options *options) error { req := &api.WipeRequest{ WaitFor: options.WipeWaitFor, } diff --git a/src/github.com/ebay/beam/tools/carousel-client/cc.go b/src/github.com/ebay/akutan/tools/carousel-client/cc.go similarity index 98% rename from src/github.com/ebay/beam/tools/carousel-client/cc.go rename to src/github.com/ebay/akutan/tools/carousel-client/cc.go index 37cf2f2..5f733c5 100644 --- a/src/github.com/ebay/beam/tools/carousel-client/cc.go +++ b/src/github.com/ebay/akutan/tools/carousel-client/cc.go @@ -25,8 +25,8 @@ import ( "strconv" "time" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/debuglog" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/debuglog" log "github.com/sirupsen/logrus" "golang.org/x/text/language" "golang.org/x/text/message" diff --git a/src/github.com/ebay/beam/tools/carousel-client/cluster.go b/src/github.com/ebay/akutan/tools/carousel-client/cluster.go similarity index 94% rename from src/github.com/ebay/beam/tools/carousel-client/cluster.go rename to src/github.com/ebay/akutan/tools/carousel-client/cluster.go index 83e16a2..db0fd23 100644 --- a/src/github.com/ebay/beam/tools/carousel-client/cluster.go +++ b/src/github.com/ebay/akutan/tools/carousel-client/cluster.go @@ -21,18 +21,18 @@ import ( "strings" "time" - "github.com/ebay/beam/config" - "github.com/ebay/beam/partitioning" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/table" - "github.com/ebay/beam/viewclient" - "github.com/ebay/beam/viewclient/viewreg" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/partitioning" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/table" + "github.com/ebay/akutan/viewclient" + "github.com/ebay/akutan/viewclient/viewreg" "github.com/sirupsen/logrus" ) type clusterSource struct { opts *options - cfg *config.Beam + cfg *config.Akutan client *viewclient.Client viewPred viewclient.ViewInfoPredicate } diff --git a/src/github.com/ebay/beam/tools/carousel-client/single.go b/src/github.com/ebay/akutan/tools/carousel-client/single.go similarity index 94% rename from src/github.com/ebay/beam/tools/carousel-client/single.go rename to src/github.com/ebay/akutan/tools/carousel-client/single.go index f8849bc..33e0551 100644 --- a/src/github.com/ebay/beam/tools/carousel-client/single.go +++ b/src/github.com/ebay/akutan/tools/carousel-client/single.go @@ -21,9 +21,9 @@ import ( "io" "strings" - "github.com/ebay/beam/partitioning" - "github.com/ebay/beam/rpc" - grpcclientutil "github.com/ebay/beam/util/grpc/client" + "github.com/ebay/akutan/partitioning" + "github.com/ebay/akutan/rpc" + grpcclientutil "github.com/ebay/akutan/util/grpc/client" ) type singleSource struct { diff --git a/src/github.com/ebay/beam/tools/carousel-client/sink.go b/src/github.com/ebay/akutan/tools/carousel-client/sink.go similarity index 98% rename from src/github.com/ebay/beam/tools/carousel-client/sink.go rename to src/github.com/ebay/akutan/tools/carousel-client/sink.go index 3125df6..72baedd 100644 --- a/src/github.com/ebay/beam/tools/carousel-client/sink.go +++ b/src/github.com/ebay/akutan/tools/carousel-client/sink.go @@ -18,7 +18,7 @@ package main import ( "time" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/rpc" ) type rideSink struct { diff --git a/src/github.com/ebay/beam/tools/db-scan/main.go b/src/github.com/ebay/akutan/tools/db-scan/main.go similarity index 95% rename from src/github.com/ebay/beam/tools/db-scan/main.go rename to src/github.com/ebay/akutan/tools/db-scan/main.go index 789552d..7417559 100644 --- a/src/github.com/ebay/beam/tools/db-scan/main.go +++ b/src/github.com/ebay/akutan/tools/db-scan/main.go @@ -26,11 +26,11 @@ import ( "sync" "time" - "github.com/ebay/beam/config" - "github.com/ebay/beam/diskview/database" - "github.com/ebay/beam/diskview/keys" - "github.com/ebay/beam/diskview/rocksdb" - "github.com/ebay/beam/util/debuglog" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/diskview/database" + "github.com/ebay/akutan/diskview/keys" + "github.com/ebay/akutan/diskview/rocksdb" + "github.com/ebay/akutan/util/debuglog" log "github.com/sirupsen/logrus" "golang.org/x/text/language" "golang.org/x/text/message" diff --git a/src/github.com/ebay/beam/tools/dep/deps.go b/src/github.com/ebay/akutan/tools/dep/deps.go similarity index 100% rename from src/github.com/ebay/beam/tools/dep/deps.go rename to src/github.com/ebay/akutan/tools/dep/deps.go diff --git a/src/github.com/ebay/beam/tools/dep/main.go b/src/github.com/ebay/akutan/tools/dep/main.go similarity index 99% rename from src/github.com/ebay/beam/tools/dep/main.go rename to src/github.com/ebay/akutan/tools/dep/main.go index 4a2b237..b061535 100644 --- a/src/github.com/ebay/beam/tools/dep/main.go +++ b/src/github.com/ebay/akutan/tools/dep/main.go @@ -30,7 +30,7 @@ import ( "time" ) -// Dep defines an external repository that Beam requires. +// Dep defines an external repository that Akutan requires. type Dep struct { repo string dir string diff --git a/src/github.com/ebay/beam/tools/gen-kube/generate.go b/src/github.com/ebay/akutan/tools/gen-kube/generate.go similarity index 89% rename from src/github.com/ebay/beam/tools/gen-kube/generate.go rename to src/github.com/ebay/akutan/tools/gen-kube/generate.go index 3a4f6a1..1fed772 100644 --- a/src/github.com/ebay/beam/tools/gen-kube/generate.go +++ b/src/github.com/ebay/akutan/tools/gen-kube/generate.go @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Command generate writes out Kubernetes configuration for portions of the Beam +// Command generate writes out Kubernetes configuration for portions of the Akutan // cluster. The diskview, persistent volume and persistent volume claims // require an amount of boilerplate copy and paste based upon the number of // partitions, replicas and keyspaces. @@ -34,8 +34,8 @@ import ( "text/template" "time" - "github.com/ebay/beam/config" - "github.com/ebay/beam/tools/gen-local/gen" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/tools/gen-local/gen" ) const ( @@ -45,26 +45,26 @@ const ( ) var options struct { - cfgFile string - beamImagesPath string - beamImagesTag string - partitions int - replicas int + cfgFile string + akutanImagesPath string + akutanImagesTag string + partitions int + replicas int } func main() { cluster := &cluster{} flag.StringVar(&options.cfgFile, "cfg", "cluster/k8s/config.json", - "Beam config file to use as template") - flag.StringVar(&options.beamImagesPath, "beam-images-path", "", + "Akutan config file to use as template") + flag.StringVar(&options.akutanImagesPath, "akutan-images-path", "", "Prefix to the core Docker images. If empty, uses locally built images.") - flag.StringVar(&options.beamImagesTag, "beam-images-tag", "latest", + flag.StringVar(&options.akutanImagesTag, "akutan-images-tag", "latest", "Tag to use for core Docker images") flag.StringVar(&cluster.Images.Jaeger, "jaeger-image", "jaegertracing/all-in-one:1.9", "Path to Jaeger all-in-one Docker image") flag.StringVar(&cluster.Images.LogService, "logservice-image", - "beam-kafka:latest", + "akutan-kafka:latest", "Path to Log service Docker image") flag.BoolVar(&cluster.UsePersistentVolumes, "pv", false, "Use persistent volume claims and persistent volumes for Log service and Disk Views") @@ -74,9 +74,9 @@ func main() { "Number of replicas of each DiskView partition") flag.Parse() - cluster.Images.API = joinImagePath(options.beamImagesPath, "beam-api", options.beamImagesTag) - cluster.Images.DiskView = joinImagePath(options.beamImagesPath, "beam-diskview", options.beamImagesTag) - cluster.Images.TxView = joinImagePath(options.beamImagesPath, "beam-txview", options.beamImagesTag) + cluster.Images.API = joinImagePath(options.akutanImagesPath, "akutan-api", options.akutanImagesTag) + cluster.Images.DiskView = joinImagePath(options.akutanImagesPath, "akutan-diskview", options.akutanImagesTag) + cluster.Images.TxView = joinImagePath(options.akutanImagesPath, "akutan-txview", options.akutanImagesTag) baseCfg, err := config.Load(options.cfgFile) if err != nil { @@ -249,8 +249,8 @@ type cluster struct { } DiskViews []diskView // The current templates only handle one API server an one Tx Timer View. - APICfg *config.Beam - TxViewCfg *config.Beam + APICfg *config.Akutan + TxViewCfg *config.Akutan LogServers []logServer UsePersistentVolumes bool } diff --git a/src/github.com/ebay/beam/tools/gen-local/gen/generate.go b/src/github.com/ebay/akutan/tools/gen-local/gen/generate.go similarity index 90% rename from src/github.com/ebay/beam/tools/gen-local/gen/generate.go rename to src/github.com/ebay/akutan/tools/gen-local/gen/generate.go index 04be806..6f040ff 100644 --- a/src/github.com/ebay/beam/tools/gen-local/gen/generate.go +++ b/src/github.com/ebay/akutan/tools/gen-local/gen/generate.go @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Package gen is used in generating configurations for an entire Beam cluster. +// Package gen is used in generating configurations for an entire Akutan cluster. // It's used by the commands gen-local and gen-kube. package gen @@ -22,18 +22,18 @@ import ( "fmt" "math" - "github.com/ebay/beam/config" - "github.com/ebay/beam/partitioning" - "github.com/ebay/beam/space" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/partitioning" + "github.com/ebay/akutan/space" ) -// A Spec specifies the parameters of the cluster. It does not describe the Beam -// log or other dependencies; it only describes the Beam servers. +// A Spec specifies the parameters of the cluster. It does not describe the Akutan +// log or other dependencies; it only describes the Akutan servers. type Spec struct { // A configuration to copy as the basis of each server's configuration. This // allows users to pass through various configuration options that this // package does not need to know about. - BaseCfg *config.Beam + BaseCfg *config.Akutan // Parameters for various aspects of the cluster. API APISpec @@ -90,19 +90,19 @@ type HashSPSpec struct { Replicas int } -// A Cluster is the output of Spec.Generate. It has one entry for every Beam -// server, in some reasonable order. It does not describe the Beam log or other -// dependencies; it only describes the Beam servers. +// A Cluster is the output of Spec.Generate. It has one entry for every Akutan +// server, in some reasonable order. It does not describe the Akutan log or other +// dependencies; it only describes the Akutan servers. type Cluster []*Process -// A Process describes one Beam server. +// A Process describes one Akutan server. type Process struct { - // A human-readable name for the process, like "beam-api-01". + // A human-readable name for the process, like "akutan-api-01". Name string // The role of the server. Type ProcessType // The dedicated configuration for this server. - Cfg *config.Beam + Cfg *config.Akutan // This is not set by this module but is convenient for users. If non-nil, // it is the filepath to where 'Cfg' should be written. CfgPath string @@ -110,14 +110,14 @@ type Process struct { // ProcessType is used in Process.Type to specify the role of the server. The // string values are the same as the names of the executable binaries (like -// "beam-api"). +// "akutan-api"). type ProcessType string // Possible values for ProcessType. const ( - APIProcess ProcessType = "beam-api" - DiskViewProcess ProcessType = "beam-diskview" - TxTimerProcess ProcessType = "beam-txview" + APIProcess ProcessType = "akutan-api" + DiskViewProcess ProcessType = "akutan-diskview" + TxTimerProcess ProcessType = "akutan-txview" ) // Generate produces a Cluster based on the given spec. If it cannot, it returns @@ -176,7 +176,7 @@ func (spec *Spec) Generate() (Cluster, error) { } // generateAPIs is a helper to Generate that produces Processes of type -// "beam-api". +// "akutan-api". func (spec *Spec) generateAPIs(viewCounter *int) ([]*Process, error) { var processes []*Process for replica := 0; replica < spec.API.Replicas; replica++ { @@ -205,7 +205,7 @@ func (spec *Spec) generateAPIs(viewCounter *int) ([]*Process, error) { } // generateTxTimeoutViews is a helper to Generate that produces Processes of -// type "beam-txview. +// type "akutan-txview. func (spec *Spec) generateTxTimeoutViews(viewCounter *int) ([]*Process, error) { var processes []*Process for replica := 0; replica < spec.TxTimeout.Replicas; replica++ { @@ -235,7 +235,7 @@ func (spec *Spec) generateTxTimeoutViews(viewCounter *int) ([]*Process, error) { } // generateHashPOViews is a helper to Generate that produces Processes of type -// "beam-diskview" in the hashPO space. +// "akutan-diskview" in the hashPO space. func (spec *Spec) generateHashPOViews(viewCounter *int) ([]*Process, error) { var processes []*Process count := 0 @@ -260,7 +260,7 @@ func (spec *Spec) generateHashPOViews(viewCounter *int) ([]*Process, error) { } // generateHashSPViews is a helper to Generate that produces Processes of type -// "beam-diskview" in the hashSP space. +// "akutan-diskview" in the hashSP space. func (spec *Spec) generateHashSPViews(viewCounter *int) ([]*Process, error) { var processes []*Process count := 0 @@ -286,7 +286,7 @@ func (spec *Spec) generateHashSPViews(viewCounter *int) ([]*Process, error) { // diskViewCfg returns a dedicated config with parameters common to all disk // views already filled in. -func (spec *Spec) diskViewCfg(viewCounter *int) *config.Beam { +func (spec *Spec) diskViewCfg(viewCounter *int) *config.Akutan { cfg := copyConfig(spec.BaseCfg) cfg.API = nil cfg.TxTimeoutView = nil @@ -316,15 +316,15 @@ func (cluster Cluster) Filter(procType ProcessType) []*Process { } // copyConfig returns a deep copy of the given configuration. -func copyConfig(in *config.Beam) *config.Beam { +func copyConfig(in *config.Akutan) *config.Akutan { bytes, err := json.Marshal(in) if err != nil { - panic(fmt.Sprintf("Failed to marshal Beam config for copy: %v", err)) + panic(fmt.Sprintf("Failed to marshal Akutan config for copy: %v", err)) } - out := new(config.Beam) + out := new(config.Akutan) err = json.Unmarshal(bytes, out) if err != nil { - panic(fmt.Sprintf("Failed to unmarshal Beam config for copy: %v", err)) + panic(fmt.Sprintf("Failed to unmarshal Akutan config for copy: %v", err)) } return out } diff --git a/src/github.com/ebay/beam/tools/gen-local/gen/generate_test.go b/src/github.com/ebay/akutan/tools/gen-local/gen/generate_test.go similarity index 82% rename from src/github.com/ebay/beam/tools/gen-local/gen/generate_test.go rename to src/github.com/ebay/akutan/tools/gen-local/gen/generate_test.go index d968c7d..fc982fd 100644 --- a/src/github.com/ebay/beam/tools/gen-local/gen/generate_test.go +++ b/src/github.com/ebay/akutan/tools/gen-local/gen/generate_test.go @@ -18,13 +18,13 @@ package gen import ( "testing" - "github.com/ebay/beam/config" + "github.com/ebay/akutan/config" "github.com/stretchr/testify/assert" ) func minimalSpec() *Spec { return &Spec{ - BaseCfg: &config.Beam{}, + BaseCfg: &config.Akutan{}, API: APISpec{ Replicas: 1, GRPCPorts: []string{"api01:9987"}, @@ -59,9 +59,9 @@ func Test_Generate_minimal(t *testing.T) { Addresses: []string{"view01:9987", "view02:9987", "view03:9987"}, } if assert.NoError(err) && assert.Len(cluster, 4) { - assert.Equal("beam-api-00", cluster[0].Name) - assert.Equal("beam-api", string(cluster[0].Type)) - assert.Equal(&config.Beam{ + assert.Equal("akutan-api-00", cluster[0].Name) + assert.Equal("akutan-api", string(cluster[0].Type)) + assert.Equal(&config.Akutan{ ViewsLocator: viewsLocator, API: &config.API{ GRPCAddress: "api01:9987", @@ -70,9 +70,9 @@ func Test_Generate_minimal(t *testing.T) { }, }, cluster[0].Cfg) - assert.Equal("beam-txview-00", cluster[1].Name) - assert.Equal("beam-txview", string(cluster[1].Type)) - assert.Equal(&config.Beam{ + assert.Equal("akutan-txview-00", cluster[1].Name) + assert.Equal("akutan-txview", string(cluster[1].Type)) + assert.Equal(&config.Akutan{ ViewsLocator: viewsLocator, TxTimeoutView: &config.TxTimeoutView{ GRPCAddress: "view01:9987", @@ -80,9 +80,9 @@ func Test_Generate_minimal(t *testing.T) { }, }, cluster[1].Cfg) - assert.Equal("beam-diskview-hashsp-00", cluster[2].Name) - assert.Equal("beam-diskview", string(cluster[2].Type)) - assert.Equal(&config.Beam{ + assert.Equal("akutan-diskview-hashsp-00", cluster[2].Name) + assert.Equal("akutan-diskview", string(cluster[2].Type)) + assert.Equal(&config.Akutan{ ViewsLocator: viewsLocator, DiskView: &config.DiskView{ GRPCAddress: "view02:9987", @@ -93,9 +93,9 @@ func Test_Generate_minimal(t *testing.T) { }, }, cluster[2].Cfg) - assert.Equal("beam-diskview-hashpo-00", cluster[3].Name) - assert.Equal("beam-diskview", string(cluster[3].Type)) - assert.Equal(&config.Beam{ + assert.Equal("akutan-diskview-hashpo-00", cluster[3].Name) + assert.Equal("akutan-diskview", string(cluster[3].Type)) + assert.Equal(&config.Akutan{ ViewsLocator: viewsLocator, DiskView: &config.DiskView{ GRPCAddress: "view03:9987", diff --git a/src/github.com/ebay/beam/tools/gen-local/main.go b/src/github.com/ebay/akutan/tools/gen-local/main.go similarity index 92% rename from src/github.com/ebay/beam/tools/gen-local/main.go rename to src/github.com/ebay/akutan/tools/gen-local/main.go index beeea62..a0a38b7 100644 --- a/src/github.com/ebay/beam/tools/gen-local/main.go +++ b/src/github.com/ebay/akutan/tools/gen-local/main.go @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Command gen-local writes out files used to run a Beam cluster locally. +// Command gen-local writes out files used to run a Akutan cluster locally. package main import ( @@ -24,10 +24,10 @@ import ( "path/filepath" "strings" - "github.com/ebay/beam/config" - "github.com/ebay/beam/tools/gen-local/gen" - "github.com/ebay/beam/util/debuglog" - "github.com/ebay/beam/util/errors" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/tools/gen-local/gen" + "github.com/ebay/akutan/util/debuglog" + "github.com/ebay/akutan/util/errors" log "github.com/sirupsen/logrus" ) @@ -43,7 +43,7 @@ var options struct { func main() { debuglog.Configure(debuglog.Options{}) - flag.StringVar(&options.cfg, "cfg", "config.json", "Beam config file to use as template") + flag.StringVar(&options.cfg, "cfg", "config.json", "Akutan config file to use as template") flag.StringVar(&options.out, "out", "local/generated", "Dir for output files") flag.IntVar(&options.hashPOPartitions, "hashpo", 3, "Number of hash-PO partitions without replication") flag.IntVar(&options.hashSPPartitions, "hashsp", 2, "Number of hash-SP partitions without replication") @@ -141,7 +141,7 @@ func writeProcfile(path string, cluster gen.Cluster) error { fmt.Fprintf(w, "# This file was automatically generated. DO NOT EDIT.\n") fmt.Fprintf(w, "# Run it with goreman. See https://github.com/mattn/goreman\n") for _, proc := range cluster { - shortName := strings.TrimPrefix(proc.Name, "beam-") + shortName := strings.TrimPrefix(proc.Name, "akutan-") shortName = strings.TrimPrefix(shortName, "diskview-") fmt.Fprintf(w, "%s: bin/%s --cfg %s\n", shortName, proc.Type, proc.CfgPath) diff --git a/src/github.com/ebay/beam/tools/grpcbench/bench.proto b/src/github.com/ebay/akutan/tools/grpcbench/bench.proto similarity index 100% rename from src/github.com/ebay/beam/tools/grpcbench/bench.proto rename to src/github.com/ebay/akutan/tools/grpcbench/bench.proto diff --git a/src/github.com/ebay/beam/tools/grpcbench/main.go b/src/github.com/ebay/akutan/tools/grpcbench/main.go similarity index 99% rename from src/github.com/ebay/beam/tools/grpcbench/main.go rename to src/github.com/ebay/akutan/tools/grpcbench/main.go index 65fb48d..2d16efd 100644 --- a/src/github.com/ebay/beam/tools/grpcbench/main.go +++ b/src/github.com/ebay/akutan/tools/grpcbench/main.go @@ -23,7 +23,7 @@ import ( "time" docopt "github.com/docopt/docopt-go" - "github.com/ebay/beam/util/debuglog" + "github.com/ebay/akutan/util/debuglog" log "github.com/sirupsen/logrus" "google.golang.org/grpc" ) diff --git a/src/github.com/ebay/beam/tools/log-client/diff.go b/src/github.com/ebay/akutan/tools/log-client/diff.go similarity index 97% rename from src/github.com/ebay/beam/tools/log-client/diff.go rename to src/github.com/ebay/akutan/tools/log-client/diff.go index 5b184b0..9f9353d 100644 --- a/src/github.com/ebay/beam/tools/log-client/diff.go +++ b/src/github.com/ebay/akutan/tools/log-client/diff.go @@ -24,9 +24,9 @@ import ( "sync" "github.com/cheggaaa/pb" - "github.com/ebay/beam/logspec" - "github.com/ebay/beam/util/cmp" - grpcclientutil "github.com/ebay/beam/util/grpc/client" + "github.com/ebay/akutan/logspec" + "github.com/ebay/akutan/util/cmp" + grpcclientutil "github.com/ebay/akutan/util/grpc/client" ) func diffLog(ctx context.Context, options *options, w io.Writer) error { diff --git a/src/github.com/ebay/beam/tools/log-client/diff_test.go b/src/github.com/ebay/akutan/tools/log-client/diff_test.go similarity index 99% rename from src/github.com/ebay/beam/tools/log-client/diff_test.go rename to src/github.com/ebay/akutan/tools/log-client/diff_test.go index 210d1dd..4d375d8 100644 --- a/src/github.com/ebay/beam/tools/log-client/diff_test.go +++ b/src/github.com/ebay/akutan/tools/log-client/diff_test.go @@ -25,7 +25,7 @@ import ( "strings" "testing" - "github.com/ebay/beam/logspec" + "github.com/ebay/akutan/logspec" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/src/github.com/ebay/beam/tools/log-client/main.go b/src/github.com/ebay/akutan/tools/log-client/main.go similarity index 85% rename from src/github.com/ebay/beam/tools/log-client/main.go rename to src/github.com/ebay/akutan/tools/log-client/main.go index 445d1dd..83a0383 100644 --- a/src/github.com/ebay/beam/tools/log-client/main.go +++ b/src/github.com/ebay/akutan/tools/log-client/main.go @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Command log-client is a tool for low-level access to Beam log servers. It's +// Command log-client is a tool for low-level access to Akutan log servers. It's // intended for diagnosing problems, recovering from disasters, and manual // operations. package main @@ -27,18 +27,18 @@ import ( "strconv" docopt "github.com/docopt/docopt-go" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/blog/logspecclient" - "github.com/ebay/beam/config" - "github.com/ebay/beam/discovery" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logencoder" - "github.com/ebay/beam/util/clocks" - "github.com/ebay/beam/util/debuglog" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/blog/logspecclient" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/discovery" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logencoder" + "github.com/ebay/akutan/util/clocks" + "github.com/ebay/akutan/util/debuglog" "github.com/sirupsen/logrus" ) -const usage = `log-client is a command-line tool for low-level access to Beam log servers. +const usage = `log-client is a command-line tool for low-level access to Akutan log servers. Usage: log-client info [SERVER...] @@ -63,7 +63,7 @@ Examples: log-client diff -e 1000000 localhost:20011 localhost:20021 localhost:20031 # Append version command to the log with the specified log version. All of the - # Beam services will panic if the specified version is not supported. + # Akutan services will panic if the specified version is not supported. log-client appendVersion 1 # Discard every entry up to and excluding the specified index. After the @@ -146,24 +146,24 @@ func main() { } ctx := context.Background() locator := discovery.NewStaticLocator(options.endpoints) - beamLog, err := logspecclient.New(ctx, &config.Beam{}, locator) + aLog, err := logspecclient.New(ctx, &config.Akutan{}, locator) if err != nil { logrus.Fatalf("Unable to connect to log store: %v", err) } switch { case options.Info: - err := info(ctx, beamLog, os.Stdout) + err := info(ctx, aLog, os.Stdout) if err != nil { logrus.Fatalf("Error executing Info: %v", err) } case options.AppendVersion: - err := appendVersion(ctx, beamLog, options.Version, os.Stdout) + err := appendVersion(ctx, aLog, options.Version, os.Stdout) if err != nil { logrus.Fatalf("Error executing AppendVersion: %v", err) } case options.DiscardPrefix: - err := discardPrefix(ctx, beamLog, options.FirstIndex, os.Stdout) + err := discardPrefix(ctx, aLog, options.FirstIndex, os.Stdout) if err != nil { logrus.Fatalf("Error executing DiscardPrefix: %v", err) } @@ -180,10 +180,10 @@ func main() { // An alias for the normal clock. This is swapped out for unit tests. var clock = clocks.Wall -func info(ctx context.Context, beamLog blog.BeamLog, w io.Writer) error { +func info(ctx context.Context, aLog blog.AkutanLog, w io.Writer) error { fmt.Fprintf(w, "\nInvoking Info\n\n") start := clock.Now() - info, err := beamLog.Info(ctx) + info, err := aLog.Info(ctx) if err != nil { return err } @@ -211,7 +211,7 @@ func formatBytes(bytes uint64) string { return fmt.Sprintf("%.*f%s", decimals, v, units[unitIdx]) } -func appendVersion(ctx context.Context, beamLog blog.BeamLog, version int32, w io.Writer) error { +func appendVersion(ctx context.Context, aLog blog.AkutanLog, version int32, w io.Writer) error { fmt.Fprintf(w, "\nInvoking Append (VersionCommand with MoveToVersion %v)\n", version) start := clock.Now() @@ -219,7 +219,7 @@ func appendVersion(ctx context.Context, beamLog blog.BeamLog, version int32, w i MoveToVersion: version, } data := logencoder.Encode(&cmd) - index, err := beamLog.AppendSingle(ctx, data) + index, err := aLog.AppendSingle(ctx, data) if err != nil { return err } @@ -229,10 +229,10 @@ func appendVersion(ctx context.Context, beamLog blog.BeamLog, version int32, w i return nil } -func discardPrefix(ctx context.Context, beamLog blog.BeamLog, firstIndex uint64, w io.Writer) error { +func discardPrefix(ctx context.Context, aLog blog.AkutanLog, firstIndex uint64, w io.Writer) error { fmt.Fprintf(w, "\nInvoking Discard with firstIndex %v\n", firstIndex) start := clock.Now() - err := beamLog.Discard(ctx, firstIndex) + err := aLog.Discard(ctx, firstIndex) if err != nil { return err } diff --git a/src/github.com/ebay/beam/tools/log-client/main_test.go b/src/github.com/ebay/akutan/tools/log-client/main_test.go similarity index 98% rename from src/github.com/ebay/beam/tools/log-client/main_test.go rename to src/github.com/ebay/akutan/tools/log-client/main_test.go index e816730..d56d95c 100644 --- a/src/github.com/ebay/beam/tools/log-client/main_test.go +++ b/src/github.com/ebay/akutan/tools/log-client/main_test.go @@ -22,9 +22,9 @@ import ( "testing" docopt "github.com/docopt/docopt-go" - "github.com/ebay/beam/blog/mockblog" - "github.com/ebay/beam/discovery" - "github.com/ebay/beam/util/clocks" + "github.com/ebay/akutan/blog/mockblog" + "github.com/ebay/akutan/discovery" + "github.com/ebay/akutan/util/clocks" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/tools/plank/main.go b/src/github.com/ebay/akutan/tools/plank/main.go similarity index 96% rename from src/github.com/ebay/beam/tools/plank/main.go rename to src/github.com/ebay/akutan/tools/plank/main.go index 6374e80..122d229 100644 --- a/src/github.com/ebay/beam/tools/plank/main.go +++ b/src/github.com/ebay/akutan/tools/plank/main.go @@ -23,8 +23,8 @@ import ( "fmt" "os" - "github.com/ebay/beam/util/debuglog" - "github.com/ebay/beam/util/signals" + "github.com/ebay/akutan/util/debuglog" + "github.com/ebay/akutan/util/signals" "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/tools/plank/server.go b/src/github.com/ebay/akutan/tools/plank/server.go similarity index 99% rename from src/github.com/ebay/beam/tools/plank/server.go rename to src/github.com/ebay/akutan/tools/plank/server.go index 92489dc..e4db72b 100644 --- a/src/github.com/ebay/beam/tools/plank/server.go +++ b/src/github.com/ebay/akutan/tools/plank/server.go @@ -21,7 +21,7 @@ import ( "net" "sync" - "github.com/ebay/beam/logspec" + "github.com/ebay/akutan/logspec" "github.com/sirupsen/logrus" "google.golang.org/grpc" ) diff --git a/src/github.com/ebay/beam/tools/plank/server_test.go b/src/github.com/ebay/akutan/tools/plank/server_test.go similarity index 99% rename from src/github.com/ebay/beam/tools/plank/server_test.go rename to src/github.com/ebay/akutan/tools/plank/server_test.go index bcfe715..08f4d2d 100644 --- a/src/github.com/ebay/beam/tools/plank/server_test.go +++ b/src/github.com/ebay/akutan/tools/plank/server_test.go @@ -19,7 +19,7 @@ import ( "context" "testing" - "github.com/ebay/beam/logspec" + "github.com/ebay/akutan/logspec" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/tools/view-client/dumpfacts.go b/src/github.com/ebay/akutan/tools/view-client/dumpfacts.go similarity index 95% rename from src/github.com/ebay/beam/tools/view-client/dumpfacts.go rename to src/github.com/ebay/akutan/tools/view-client/dumpfacts.go index 665bf8d..1947ebf 100644 --- a/src/github.com/ebay/beam/tools/view-client/dumpfacts.go +++ b/src/github.com/ebay/akutan/tools/view-client/dumpfacts.go @@ -20,11 +20,11 @@ import ( "fmt" "os" - "github.com/ebay/beam/msg/facts" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/util/table" - "github.com/ebay/beam/viewclient" + "github.com/ebay/akutan/msg/facts" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/util/table" + "github.com/ebay/akutan/viewclient" log "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/tools/view-client/ids.go b/src/github.com/ebay/akutan/tools/view-client/ids.go similarity index 94% rename from src/github.com/ebay/beam/tools/view-client/ids.go rename to src/github.com/ebay/akutan/tools/view-client/ids.go index c128e93..56189de 100644 --- a/src/github.com/ebay/beam/tools/view-client/ids.go +++ b/src/github.com/ebay/akutan/tools/view-client/ids.go @@ -21,10 +21,10 @@ import ( "sort" "strings" - "github.com/ebay/beam/msg/facts" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/viewclient" + "github.com/ebay/akutan/msg/facts" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/viewclient" ) func lookupIDs(ctx context.Context, view *viewclient.Client, options *options) error { diff --git a/src/github.com/ebay/beam/tools/view-client/infers.go b/src/github.com/ebay/akutan/tools/view-client/infers.go similarity index 94% rename from src/github.com/ebay/beam/tools/view-client/infers.go rename to src/github.com/ebay/akutan/tools/view-client/infers.go index aabaf11..e6db730 100644 --- a/src/github.com/ebay/beam/tools/view-client/infers.go +++ b/src/github.com/ebay/akutan/tools/view-client/infers.go @@ -18,10 +18,10 @@ package main import ( "context" - "github.com/ebay/beam/facts/cache" - "github.com/ebay/beam/infer" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/viewclient" + "github.com/ebay/akutan/facts/cache" + "github.com/ebay/akutan/infer" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/viewclient" log "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/tools/view-client/lookups.go b/src/github.com/ebay/akutan/tools/view-client/lookups.go similarity index 97% rename from src/github.com/ebay/beam/tools/view-client/lookups.go rename to src/github.com/ebay/akutan/tools/view-client/lookups.go index 906b9df..915716a 100644 --- a/src/github.com/ebay/beam/tools/view-client/lookups.go +++ b/src/github.com/ebay/akutan/tools/view-client/lookups.go @@ -18,8 +18,8 @@ package main import ( "context" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/viewclient" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/viewclient" log "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/tools/view-client/parse.go b/src/github.com/ebay/akutan/tools/view-client/parse.go similarity index 95% rename from src/github.com/ebay/beam/tools/view-client/parse.go rename to src/github.com/ebay/akutan/tools/view-client/parse.go index 13ed5f0..2866c82 100644 --- a/src/github.com/ebay/beam/tools/view-client/parse.go +++ b/src/github.com/ebay/akutan/tools/view-client/parse.go @@ -19,9 +19,9 @@ import ( "fmt" "strings" - "github.com/ebay/beam/api" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/rpc" ) func parseOperator(in string) (parser.Operator, error) { @@ -29,7 +29,7 @@ func parseOperator(in string) (parser.Operator, error) { if op, exists := rpc.Operator_value[in]; exists { return parser.Operator{Value: rpc.Operator(op)}, nil } - // try beam-client names + // try akutan-client names names := map[string]rpc.Operator{ "<": rpc.OpLess, "<=": rpc.OpLessOrEqual, diff --git a/src/github.com/ebay/beam/tools/view-client/vc.go b/src/github.com/ebay/akutan/tools/view-client/vc.go similarity index 93% rename from src/github.com/ebay/beam/tools/view-client/vc.go rename to src/github.com/ebay/akutan/tools/view-client/vc.go index 80ffe6d..54078e2 100644 --- a/src/github.com/ebay/beam/tools/view-client/vc.go +++ b/src/github.com/ebay/akutan/tools/view-client/vc.go @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Command view-client is command line tool for calling Beam views. +// Command view-client is command line tool for calling Akutan views. package main import ( @@ -22,15 +22,15 @@ import ( "time" docopt "github.com/docopt/docopt-go" - "github.com/ebay/beam/blog" - _ "github.com/ebay/beam/blog/kafka" // side-effect: registers "kafka" blog implementation - _ "github.com/ebay/beam/blog/logspecclient" // side-effect: registers "logspec" blog implementation - "github.com/ebay/beam/config" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/debuglog" - statsutil "github.com/ebay/beam/util/stats" - "github.com/ebay/beam/viewclient" + "github.com/ebay/akutan/blog" + _ "github.com/ebay/akutan/blog/kafka" // side-effect: registers "kafka" blog implementation + _ "github.com/ebay/akutan/blog/logspecclient" // side-effect: registers "logspec" blog implementation + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/debuglog" + statsutil "github.com/ebay/akutan/util/stats" + "github.com/ebay/akutan/viewclient" log "github.com/sirupsen/logrus" "golang.org/x/text/language" "golang.org/x/text/message" @@ -38,7 +38,7 @@ import ( var fmtr = message.NewPrinter(language.English) -const usage = `view-client is a command-line tool for calling Beam views. +const usage = `view-client is a command-line tool for calling Akutan views. Usage: view-client [--cfg=FILE -t=DUR] lookups [-i=NUM --noextids] SUBJECT @@ -211,12 +211,12 @@ func main() { ctx = newCtx } if options.Index == 0 { - log.Printf("Fetching last index from Beam log") - beamLog, err := blog.New(ctx, cfg) + log.Printf("Fetching last index from the log") + aLog, err := blog.New(ctx, cfg) if err != nil { - log.Fatalf("Error from NewBeamLog: %v", err) + log.Fatalf("Error from blog.New: %v", err) } - info, err := beamLog.Info(ctx) + info, err := aLog.Info(ctx) if err != nil { log.Fatalf("Error fetching log info: %v", err) } diff --git a/src/github.com/ebay/beam/txtimeoutview/beam-txview/main.go b/src/github.com/ebay/akutan/txtimeoutview/akutan-txview/main.go similarity index 77% rename from src/github.com/ebay/beam/txtimeoutview/beam-txview/main.go rename to src/github.com/ebay/akutan/txtimeoutview/akutan-txview/main.go index a2faeef..17dd5a8 100644 --- a/src/github.com/ebay/beam/txtimeoutview/beam-txview/main.go +++ b/src/github.com/ebay/akutan/txtimeoutview/akutan-txview/main.go @@ -13,24 +13,24 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Command beam-txview runs a TxTimeoutView daemon. +// Command akutan-txview runs a TxTimeoutView daemon. package main import ( "context" "flag" - "github.com/ebay/beam/config" - "github.com/ebay/beam/txtimeoutview" - "github.com/ebay/beam/util/debuglog" - "github.com/ebay/beam/util/signals" - "github.com/ebay/beam/util/tracing" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/txtimeoutview" + "github.com/ebay/akutan/util/debuglog" + "github.com/ebay/akutan/util/signals" + "github.com/ebay/akutan/util/tracing" log "github.com/sirupsen/logrus" ) func main() { debuglog.Configure(debuglog.Options{}) - cfgFile := flag.String("cfg", "config.json", "Beam config file") + cfgFile := flag.String("cfg", "config.json", "config file") flag.Parse() cfg, err := config.Load(*cfgFile) @@ -42,7 +42,7 @@ func main() { ctx, cancel := context.WithCancel(context.Background()) defer cancel() - tracer, err := tracing.New("beam-txtimeout", cfg.Tracing) + tracer, err := tracing.New("akutan-txtimeout", cfg.Tracing) if err != nil { log.Fatalf("Unable to initialize distributed tracing: %v", err) } @@ -57,5 +57,5 @@ func main() { log.WithError(err).Panic("Error starting tx timeout view.") } signals.WaitForQuit() - log.Warn("Beam TxTimeoutView Exiting") + log.Warn("Akutan TxTimeoutView Exiting") } diff --git a/src/github.com/ebay/beam/txtimeoutview/logping/log_for_test.go b/src/github.com/ebay/akutan/txtimeoutview/logping/log_for_test.go similarity index 63% rename from src/github.com/ebay/beam/txtimeoutview/logping/log_for_test.go rename to src/github.com/ebay/akutan/txtimeoutview/logping/log_for_test.go index fc404b6..fe5550a 100644 --- a/src/github.com/ebay/beam/txtimeoutview/logping/log_for_test.go +++ b/src/github.com/ebay/akutan/txtimeoutview/logping/log_for_test.go @@ -19,15 +19,15 @@ import ( "context" "sync" - "github.com/ebay/beam/blog" + "github.com/ebay/akutan/blog" ) type mockLogAppender struct { appendSingle func(data []byte) (blog.Index, error) } -func (beamLog *mockLogAppender) AppendSingle(ctx context.Context, data []byte) (blog.Index, error) { - return beamLog.appendSingle(data) +func (mlog *mockLogAppender) AppendSingle(ctx context.Context, data []byte) (blog.Index, error) { + return mlog.appendSingle(data) } type mockLogReader struct { @@ -38,19 +38,19 @@ type mockLogReader struct { } } -func (beamLog *mockLogReader) Read(ctx context.Context, nextIndex blog.Index, entriesCh chan<- []blog.Entry) error { - return beamLog.read(nextIndex, entriesCh) +func (mlog *mockLogReader) Read(ctx context.Context, nextIndex blog.Index, entriesCh chan<- []blog.Entry) error { + return mlog.read(nextIndex, entriesCh) } -func (beamLog *mockLogReader) Disconnect() { - beamLog.lock.Lock() - beamLog.locked.numDisconnects++ - beamLog.lock.Unlock() +func (mlog *mockLogReader) Disconnect() { + mlog.lock.Lock() + mlog.locked.numDisconnects++ + mlog.lock.Unlock() } -func (beamLog *mockLogReader) NumDisconnects() int { - beamLog.lock.Lock() - n := beamLog.locked.numDisconnects - beamLog.lock.Unlock() +func (mlog *mockLogReader) NumDisconnects() int { + mlog.lock.Lock() + n := mlog.locked.numDisconnects + mlog.lock.Unlock() return n } diff --git a/src/github.com/ebay/beam/txtimeoutview/logping/logping.go b/src/github.com/ebay/akutan/txtimeoutview/logping/logping.go similarity index 92% rename from src/github.com/ebay/beam/txtimeoutview/logping/logping.go rename to src/github.com/ebay/akutan/txtimeoutview/logping/logping.go index 0acfa95..1cfa614 100644 --- a/src/github.com/ebay/beam/txtimeoutview/logping/logping.go +++ b/src/github.com/ebay/akutan/txtimeoutview/logping/logping.go @@ -13,7 +13,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Package logping measures the latency of Beam's log by appending to it and +// Package logping measures the latency of Akutan's log by appending to it and // reading from it. The purpose of this package is to provide continuous // run-time metrics (not just benchmarks) about the log's health and // performance. @@ -29,14 +29,14 @@ import ( "sync" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/config" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logencoder" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/clocks" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/util/tracing" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logencoder" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/clocks" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/util/tracing" opentracing "github.com/opentracing/opentracing-go" log "github.com/sirupsen/logrus" ) @@ -49,7 +49,7 @@ type Pinger struct { // Used to find where to start reading from the log. getReplayPosition GetReplayPosition // A background context for all of the Pinger's operations, as well as any - // BeamLog instances it creates. + // AkutanLog instances it creates. ctx context.Context // Used to append to the log. logAppender LogAppender @@ -77,7 +77,7 @@ type Pinger struct { // Options define optional arguments to New. The zero value of Options is usable. type Options struct { // If set, the Pinger will append PingCommand entries to the log using this. - // Otherwise, it will open its own BeamLog with blog.New. + // Otherwise, it will open its own AkutanLog with blog.New. Appender LogAppender // Once one ping command is read from the log, how long to wait before writing // the next one to the log. The zero value defaults to 1s. @@ -86,8 +86,8 @@ type Options struct { // reading from and immediately re-connect to some log server. This is used to // measure latency to different servers, in case some are faster than others. // - // This feature is not available with every BeamLog instance (it requires an - // optional Disconnect method). If the BeamLog instance doesn't support it or + // This feature is not available with every AkutanLog instance (it requires an + // optional Disconnect method). If the AkutanLog instance doesn't support it or // this is zero, the Pinger will never artificially disconnect. PingsUntilDisconnect uint64 // This is used for unit testing to pass in a mock log reader, but it's normally @@ -95,13 +95,13 @@ type Options struct { logReader logReader } -// LogAppender defines a subset of the blog.BeamLog interface for appending. -// The Pinger uses a different BeamLog for reads. +// LogAppender defines a subset of the blog.AkutanLog interface for appending. +// The Pinger uses a different AkutanLog for reads. type LogAppender interface { AppendSingle(ctx context.Context, data []byte) (blog.Index, error) } -// logReader defines a subset of the blog.BeamLog interface for reading. +// logReader defines a subset of the blog.AkutanLog interface for reading. type logReader interface { Read(ctx context.Context, nextIndex blog.Index, entriesCh chan<- []blog.Entry) error } @@ -113,11 +113,10 @@ type GetReplayPosition func(context.Context) (rpc.LogPosition, error) // New constructs a new Pinger. The Pinger will not do anything until Run is called. // The given context is for the background activity of the Pinger, not just for -// the call to New. The cfg is used to construct BeamLog instances. +// the call to New. The cfg is used to construct AkutanLog instances. func New( backgroundCtx context.Context, - cfg *config.Beam, - getReplayPosition GetReplayPosition, + cfg *config.Akutan, getReplayPosition GetReplayPosition, options Options, ) (*Pinger, error) { ctx, abort := context.WithCancel(backgroundCtx) @@ -128,22 +127,22 @@ func New( options.PingsUntilDisconnect = math.MaxUint64 } if options.Appender == nil { - beamLog, err := blog.New(ctx, cfg) + aLog, err := blog.New(ctx, cfg) if err != nil { abort() return nil, err } - options.Appender = beamLog + options.Appender = aLog } if options.logReader == nil { // Note: This is intentionally distinct from the appender because we want the // two to be redirected/disconnected independently. - beamLog, err := blog.New(ctx, cfg) + aLog, err := blog.New(ctx, cfg) if err != nil { abort() return nil, err } - options.logReader = beamLog + options.logReader = aLog } localID := make([]byte, 16) @@ -223,7 +222,7 @@ func (pinger *Pinger) Run() { default: // TODO: this should be a Panicf, but the Kafka client might still return // transient errors. - log.WithError(err).Error("Pinger: Unexpected error reading Beam log. Restarting") + log.WithError(err).Error("Pinger: Unexpected error reading log. Restarting") metrics.restarts.Inc() } } diff --git a/src/github.com/ebay/beam/txtimeoutview/logping/logping_test.go b/src/github.com/ebay/akutan/txtimeoutview/logping/logping_test.go similarity index 97% rename from src/github.com/ebay/beam/txtimeoutview/logping/logping_test.go rename to src/github.com/ebay/akutan/txtimeoutview/logping/logping_test.go index 6d4924c..1b6c87c 100644 --- a/src/github.com/ebay/beam/txtimeoutview/logping/logping_test.go +++ b/src/github.com/ebay/akutan/txtimeoutview/logping/logping_test.go @@ -21,12 +21,12 @@ import ( "testing" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logencoder" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/clocks" - "github.com/ebay/beam/util/parallel" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logencoder" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/clocks" + "github.com/ebay/akutan/util/parallel" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/txtimeoutview/logping/metrics.go b/src/github.com/ebay/akutan/txtimeoutview/logping/metrics.go similarity index 93% rename from src/github.com/ebay/beam/txtimeoutview/logping/metrics.go rename to src/github.com/ebay/akutan/txtimeoutview/logping/metrics.go index b2b261f..a0386dd 100644 --- a/src/github.com/ebay/beam/txtimeoutview/logping/metrics.go +++ b/src/github.com/ebay/akutan/txtimeoutview/logping/metrics.go @@ -16,7 +16,7 @@ package logping import ( - metricsutil "github.com/ebay/beam/util/metrics" + metricsutil "github.com/ebay/akutan/util/metrics" "github.com/prometheus/client_golang/prometheus" ) @@ -39,19 +39,19 @@ func init() { mr := metricsutil.Registry{R: prometheus.DefaultRegisterer} metrics = logPingMetrics{ lastApplied: mr.NewGauge(prometheus.GaugeOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "logping", Name: "last_applied", Help: "The index of the last log entry this Pinger applied.", }), pingsStarted: mr.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "logping", Name: "pings_started", Help: `The number of times the Pinger started a log append and timing of a read.`, }), pingsSucceeded: mr.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "logping", Name: "pings_succeeded", Help: `The number of times the Pinger finished timing a ping successfully. @@ -60,14 +60,14 @@ This doesn't include the log append failures or timeouts (aborts). `, }), pingLatencySeconds: mr.NewSummary(prometheus.SummaryOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "logping", Name: "ping_latency_seconds", Help: `The time it takes to complete a ping successfully.`, Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.95: 0.005, 0.99: 0.001}, }), pingsAborted: mr.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "logping", Name: "pings_aborted", Help: `The number of times the Pinger timed out the current ping. @@ -79,26 +79,26 @@ next ping immediately. `, }), pingAppendsSucceeded: mr.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "logping", Name: "ping_appends_succeeded", Help: `The number of times the Pinger's log append succeeded.`, }), pingAppendsFailed: mr.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "logping", Name: "ping_appends_failed", Help: `The number of times the Pinger's log append returned an error.`, }), pingAppendLatencySeconds: mr.NewSummary(prometheus.SummaryOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "logping", Name: "append_latency_seconds", Help: `The time it takes to append a ping to the log and get an acknowledgment or an error.`, Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.95: 0.005, 0.99: 0.001}, }), disconnects: mr.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "logping", Name: "disconnects", Help: `The number of times the Pinger artificially disconnected from the log service. @@ -111,7 +111,7 @@ This feature is currently only implemented for the log spec client (not for Kafk `, }), restarts: mr.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "logping", Name: "restarts", Help: `The number of times this Pinger failed to read the log and had to reinitialize either for falling behind in reading the log or by unexpected error.`, diff --git a/src/github.com/ebay/beam/txtimeoutview/txtimeoutview.go b/src/github.com/ebay/akutan/txtimeoutview/txtimeoutview.go similarity index 88% rename from src/github.com/ebay/beam/txtimeoutview/txtimeoutview.go rename to src/github.com/ebay/akutan/txtimeoutview/txtimeoutview.go index 057a108..539f416 100644 --- a/src/github.com/ebay/beam/txtimeoutview/txtimeoutview.go +++ b/src/github.com/ebay/akutan/txtimeoutview/txtimeoutview.go @@ -26,18 +26,18 @@ import ( "strings" "time" - "github.com/ebay/beam/blog" - _ "github.com/ebay/beam/blog/kafka" // side-effect: registers "kafka" blog implementation - _ "github.com/ebay/beam/blog/logspecclient" // side-effect: registers "logspec" blog implementation - "github.com/ebay/beam/config" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/txtimeoutview/logping" - "github.com/ebay/beam/txtimeoutview/txtimer" - "github.com/ebay/beam/util/clocks" - "github.com/ebay/beam/util/cmp" - grpcserverutil "github.com/ebay/beam/util/grpc/server" - "github.com/ebay/beam/util/profiling" - "github.com/ebay/beam/viewclient" + "github.com/ebay/akutan/blog" + _ "github.com/ebay/akutan/blog/kafka" // side-effect: registers "kafka" blog implementation + _ "github.com/ebay/akutan/blog/logspecclient" // side-effect: registers "logspec" blog implementation + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/txtimeoutview/logping" + "github.com/ebay/akutan/txtimeoutview/txtimer" + "github.com/ebay/akutan/util/clocks" + "github.com/ebay/akutan/util/cmp" + grpcserverutil "github.com/ebay/akutan/util/grpc/server" + "github.com/ebay/akutan/util/profiling" + "github.com/ebay/akutan/viewclient" grpc_prometheus "github.com/grpc-ecosystem/go-grpc-prometheus" "github.com/prometheus/client_golang/prometheus/promhttp" log "github.com/sirupsen/logrus" @@ -51,9 +51,9 @@ var startTime = time.Now() // // The given context is for the background activity of the view, not just for // the call to New. -func New(backgroundCtx context.Context, cfg *config.Beam) (*View, error) { +func New(backgroundCtx context.Context, cfg *config.Akutan) (*View, error) { if cfg.TxTimeoutView == nil { - return nil, fmt.Errorf("txTimeoutView field missing in Beam config") + return nil, fmt.Errorf("txTimeoutView field missing in Akutan config") } ctx, abort := context.WithCancel(backgroundCtx) v := &View{ @@ -70,20 +70,20 @@ func New(backgroundCtx context.Context, cfg *config.Beam) (*View, error) { <-ctx.Done() v.viewClient.Close() }() - v.beamLog, err = blog.New(ctx, cfg) + v.aLog, err = blog.New(ctx, cfg) if err != nil { abort() return nil, err } v.logPinger, err = logping.New(ctx, cfg, v.getReplayPosition, logping.Options{ - Appender: v.beamLog, + Appender: v.aLog, PingsUntilDisconnect: 10, }) if err != nil { abort() return nil, err } - v.txTimer = txtimer.New(ctx, v.beamLog, v.getReplayPosition, txtimer.Options{}) + v.txTimer = txtimer.New(ctx, v.aLog, v.getReplayPosition, txtimer.Options{}) // This is a workaround to silence go vet. ctx should only be canceled on the // failure paths above, since the ctx has the same lifetime as the View. go vet // wants it to be canceled even on the success path. Assigning anything to @@ -96,11 +96,11 @@ func New(backgroundCtx context.Context, cfg *config.Beam) (*View, error) { type View struct { // The background goroutines exit when this context is closed. ctx context.Context - cfg *config.Beam + cfg *config.Akutan viewClient *viewclient.Client logPinger *logping.Pinger txTimer *txtimer.TxTimer - beamLog blog.BeamLog + aLog blog.AkutanLog } // Start will start the gRPC server, and the monitoring the log, aborting relevant transactions diff --git a/src/github.com/ebay/beam/txtimeoutview/txtimer/metrics.go b/src/github.com/ebay/akutan/txtimeoutview/txtimer/metrics.go similarity index 92% rename from src/github.com/ebay/beam/txtimeoutview/txtimer/metrics.go rename to src/github.com/ebay/akutan/txtimeoutview/txtimer/metrics.go index 1e9cdc0..f8c31b7 100644 --- a/src/github.com/ebay/beam/txtimeoutview/txtimer/metrics.go +++ b/src/github.com/ebay/akutan/txtimeoutview/txtimer/metrics.go @@ -16,7 +16,7 @@ package txtimer import ( - metricsutil "github.com/ebay/beam/util/metrics" + metricsutil "github.com/ebay/akutan/util/metrics" "github.com/prometheus/client_golang/prometheus" ) @@ -39,61 +39,61 @@ func init() { mr := metricsutil.Registry{R: prometheus.DefaultRegisterer} metrics = txTimerMetrics{ startsApplied: mr.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "txtimer", Name: "starts_applied", Help: `The number of transaction start entries this TxTimer applied from the log.`, }), commitsApplied: mr.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "txtimer", Name: "commits_applied", Help: `The number of transaction commit entries this TxTimer applied from the log.`, }), abortsApplied: mr.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "txtimer", Name: "aborts_applied", Help: `The number of transaction abort entries this TxTimer applied from the log.`, }), wipesApplied: mr.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "txtimer", Name: "wipes_applied", Help: `The number of wipe entries this TxTimer applied from the log.`, }), abortsStartedTotal: mr.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "txtimer", Name: "aborts_started_total", Help: `The total number of abort decisions this TxTimer attempted to append to the log.`, }), abortsSucceededTotal: mr.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "txtimer", Name: "aborts_succeeded_total", Help: `The total number of abort decisions this TxTimer successfully appended to the log.`, }), abortsFailedTotal: mr.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "txtimer", Name: "aborts_failed_total", Help: `The total number of abort decisions this TxTimer attempted to append to the log but the append returned an error.`, }), restarts: mr.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "txtimer", Name: "restarts", Help: `The number of times this TxTimer failed to read the log and had to reinitialize either for falling behind in reading the log or by unexpected error.`, }), lastApplied: mr.NewGauge(prometheus.GaugeOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "txtimer", Name: "last_applied", Help: `The index of the last log entry this TxTimer applied.`, }), pendingTxns: mr.NewGauge(prometheus.GaugeOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "txtimer", Name: "pending_txns", Help: `The number of started transactions that have not yet been committed or aborted, as observed by this TxTimer.`, diff --git a/src/github.com/ebay/beam/txtimeoutview/txtimer/txtimer.go b/src/github.com/ebay/akutan/txtimeoutview/txtimer/txtimer.go similarity index 95% rename from src/github.com/ebay/beam/txtimeoutview/txtimer/txtimer.go rename to src/github.com/ebay/akutan/txtimeoutview/txtimer/txtimer.go index 39c59b8..9674d7e 100644 --- a/src/github.com/ebay/beam/txtimeoutview/txtimer/txtimer.go +++ b/src/github.com/ebay/akutan/txtimeoutview/txtimer/txtimer.go @@ -21,12 +21,12 @@ import ( "sync" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logencoder" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/clocks" - "github.com/ebay/beam/util/parallel" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logencoder" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/clocks" + "github.com/ebay/akutan/util/parallel" "github.com/google/btree" log "github.com/sirupsen/logrus" ) @@ -40,7 +40,7 @@ type TxTimer struct { // Used to find where to start reading from the log. getReplayPosition GetReplayPosition // The client used for log reads and log appends. - beamLog blog.BeamLog + aLog blog.AkutanLog // A background context used for all the TxTimer's activity. ctx context.Context // A constant value defined in Options. Never zero here. @@ -91,10 +91,10 @@ type Options struct { // New constructs a new TxTimer. The TxTimer will not do anything until Run is // called. The given context is for the background activity of the TxTimer, not -// just for the call to New. The TxTimer will read from and append to beamLog. +// just for the call to New. The TxTimer will read from and append to aLog. func New( backgroundCtx context.Context, - beamLog blog.BeamLog, + aLog blog.AkutanLog, getReplayPosition GetReplayPosition, options Options, ) *TxTimer { @@ -103,7 +103,7 @@ func New( } return &TxTimer{ getReplayPosition: getReplayPosition, - beamLog: beamLog, + aLog: aLog, ctx: backgroundCtx, abortTxAfter: options.AbortTxAfter, pending: btree.New(16), @@ -111,7 +111,7 @@ func New( } // Run is a blocking call that watches for slow transactions and aborts them. -// Run returns once the context given to New is canceled or the BeamLog given to +// Run returns once the context given to New is canceled or the AkutanLog given to // New is closed. Run may only be called once per TxTimer. func (txTimer *TxTimer) Run() { for { @@ -129,7 +129,7 @@ func (txTimer *TxTimer) Run() { wait := parallel.Go(func() { txTimer.mainLoop(nextPosition, entriesCh) }) - err = txTimer.beamLog.Read(txTimer.ctx, nextPosition.Index, entriesCh) + err = txTimer.aLog.Read(txTimer.ctx, nextPosition.Index, entriesCh) wait() switch { case err == txTimer.ctx.Err(): @@ -281,7 +281,7 @@ func (txTimer *TxTimer) abortTransactions() { for i := range commands { enc[i] = logencoder.Encode(&commands[i]) } - _, err := txTimer.beamLog.Append(txTimer.ctx, enc) + _, err := txTimer.aLog.Append(txTimer.ctx, enc) if err != nil { // context canceled or log closed log.WithFields(log.Fields{ "count": len(commands), diff --git a/src/github.com/ebay/beam/txtimeoutview/txtimer/txtimer_test.go b/src/github.com/ebay/akutan/txtimeoutview/txtimer/txtimer_test.go similarity index 93% rename from src/github.com/ebay/beam/txtimeoutview/txtimer/txtimer_test.go rename to src/github.com/ebay/akutan/txtimeoutview/txtimer/txtimer_test.go index 7ef0549..b535409 100644 --- a/src/github.com/ebay/beam/txtimeoutview/txtimer/txtimer_test.go +++ b/src/github.com/ebay/akutan/txtimeoutview/txtimer/txtimer_test.go @@ -21,17 +21,17 @@ import ( "testing" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logencoder" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/clocks" - "github.com/ebay/beam/util/parallel" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logencoder" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/clocks" + "github.com/ebay/akutan/util/parallel" "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" ) -// A BeamLog that panics on all operations. +// A AkutanLog that panics on all operations. type panicLog struct{} func (panicLog) Append(ctx context.Context, data [][]byte) ([]blog.Index, error) { @@ -59,8 +59,8 @@ type readableLog struct { read func(ctx context.Context, nextIndex blog.Index, entriesCh chan<- []blog.Entry) error } -func (beamLog *readableLog) Read(ctx context.Context, nextIndex blog.Index, entriesCh chan<- []blog.Entry) error { - return beamLog.read(ctx, nextIndex, entriesCh) +func (aLog *readableLog) Read(ctx context.Context, nextIndex blog.Index, entriesCh chan<- []blog.Entry) error { + return aLog.read(ctx, nextIndex, entriesCh) } // Used in Test_mainLoop and Test_abortTransactions. @@ -69,8 +69,8 @@ type appendableLog struct { append func(ctx context.Context, data [][]byte) ([]blog.Index, error) } -func (beamLog *appendableLog) Append(ctx context.Context, data [][]byte) ([]blog.Index, error) { - return beamLog.append(ctx, data) +func (aLog *appendableLog) Append(ctx context.Context, data [][]byte) ([]blog.Index, error) { + return aLog.append(ctx, data) } // Tests that Run calls getReplayIndex, then Read repeatedly. @@ -93,10 +93,10 @@ func Test_Run(t *testing.T) { assert.Fail("Called getReplayIndex too much", "replayCount=%v", replayCount) return rpc.LogPosition{}, errors.New("fail") } - beamLog := new(readableLog) - txTimer := New(ctx, beamLog, getReplayPosition, Options{}) + aLog := new(readableLog) + txTimer := New(ctx, aLog, getReplayPosition, Options{}) readCount := 0 - beamLog.read = func(ctx context.Context, nextIndex blog.Index, entriesCh chan<- []blog.Entry) error { + aLog.read = func(ctx context.Context, nextIndex blog.Index, entriesCh chan<- []blog.Entry) error { defer close(entriesCh) readCount++ switch readCount { diff --git a/src/github.com/ebay/beam/update/conv/converters.go b/src/github.com/ebay/akutan/update/conv/converters.go similarity index 98% rename from src/github.com/ebay/beam/update/conv/converters.go rename to src/github.com/ebay/akutan/update/conv/converters.go index 01c5229..62fae26 100644 --- a/src/github.com/ebay/beam/update/conv/converters.go +++ b/src/github.com/ebay/akutan/update/conv/converters.go @@ -20,10 +20,10 @@ package conv import ( "fmt" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logwrite" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logwrite" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/rpc" ) // ParserToRPC converts fields from parser.Insert into RPC values. diff --git a/src/github.com/ebay/beam/update/conv/converters_test.go b/src/github.com/ebay/akutan/update/conv/converters_test.go similarity index 97% rename from src/github.com/ebay/beam/update/conv/converters_test.go rename to src/github.com/ebay/akutan/update/conv/converters_test.go index cd00939..47b9d09 100644 --- a/src/github.com/ebay/beam/update/conv/converters_test.go +++ b/src/github.com/ebay/akutan/update/conv/converters_test.go @@ -20,11 +20,11 @@ import ( "testing" "time" - "github.com/ebay/beam/api" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logread" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logread" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/update/update.go b/src/github.com/ebay/akutan/update/update.go similarity index 94% rename from src/github.com/ebay/beam/update/update.go rename to src/github.com/ebay/akutan/update/update.go index 52dc360..decccee 100644 --- a/src/github.com/ebay/beam/update/update.go +++ b/src/github.com/ebay/akutan/update/update.go @@ -24,17 +24,17 @@ import ( "context" "fmt" - "github.com/ebay/beam/api" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logencoder" - "github.com/ebay/beam/logentry/logread" - wellknown "github.com/ebay/beam/msg/facts" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/update/conv" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logencoder" + "github.com/ebay/akutan/logentry/logread" + wellknown "github.com/ebay/akutan/msg/facts" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/update/conv" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/viewclient/lookups" opentracing "github.com/opentracing/opentracing-go" "github.com/sirupsen/logrus" ) @@ -89,9 +89,9 @@ type Store interface { lookups.SPO // to look up existing facts } -// BeamLog is the subset of blog.BeamLog that updates need. This makes it easier +// ALog is the subset of blog.AkutanLog that updates need. This makes it easier // to write unit tests. -type BeamLog interface { +type ALog interface { AppendSingle(ctx context.Context, data []byte) (blog.Index, error) } @@ -99,7 +99,7 @@ type BeamLog interface { // read the supporting data in the initial attempt; if recentIdx is too stale, // Insert will waste some effort. func Insert(ctx context.Context, req *api.InsertRequest, - recentIdx blog.Index, store Store, beamLog BeamLog, + recentIdx blog.Index, store Store, aLog ALog, ) (*api.InsertResult, error) { update, res := newInsertRequest(req) if res != nil { @@ -111,7 +111,7 @@ func Insert(ctx context.Context, req *api.InsertRequest, } attempt := 1 for { - res, newReads, err := update.attempt(ctx, attempt, reads, store, beamLog) + res, newReads, err := update.attempt(ctx, attempt, reads, store, aLog) if err != nil { return nil, err } @@ -136,7 +136,7 @@ func Insert(ctx context.Context, req *api.InsertRequest, // non-nil readSet at least as recent as the one it was given. The caller should // attempt the update again using this readSet. func (update *updateRequest) attempt(ctx context.Context, attempt int, - reads *updateReadSet, store Store, beamLog BeamLog, + reads *updateReadSet, store Store, aLog ALog, ) (*api.InsertResult, *updateReadSet, error) { ctx, cancel := context.WithCancel(ctx) defer cancel() @@ -153,7 +153,7 @@ func (update *updateRequest) attempt(ctx context.Context, attempt int, if res != nil { return res, nil, nil } - txIdx, err := appendInsertTxBegin(ctx, beamLog, txCmd) + txIdx, err := appendInsertTxBegin(ctx, aLog, txCmd) if err != nil { return nil, nil, err } @@ -175,7 +175,7 @@ func (update *updateRequest) attempt(ctx context.Context, attempt int, logger = logger.WithField("newReadsIndex", newReads.index) if !reads.equalValues(newReads) { logger.Debug("Aborting attempt due to change in read set") - _, err = appendTxDecide(ctx, beamLog, txIdx, false) + _, err = appendTxDecide(ctx, aLog, txIdx, false) if err != nil { return nil, nil, err } @@ -187,7 +187,7 @@ func (update *updateRequest) attempt(ctx context.Context, attempt int, var aborted bool err = parallel.Invoke(ctx, func(ctx context.Context) error { - _, err := appendTxDecide(ctx, beamLog, txIdx, true) + _, err := appendTxDecide(ctx, aLog, txIdx, true) return err }, func(ctx context.Context) error { @@ -519,19 +519,19 @@ func wasExternallyAborted(ctx context.Context, store lookups.SPO, // appendInsertTxBegin appends a single transaction message to the log // containing req, and returns the index of the entry. -func appendInsertTxBegin(ctx context.Context, beamLog BeamLog, +func appendInsertTxBegin(ctx context.Context, aLog ALog, req *logentry.InsertTxCommand, ) (blog.Index, error) { span, ctx := opentracing.StartSpanFromContext(ctx, "append startTx") span.SetTag("facts", len(req.Facts)) defer span.Finish() enc := logencoder.Encode(req) - return beamLog.AppendSingle(ctx, enc) + return aLog.AppendSingle(ctx, enc) } // appendTxDecide appends a single tx decision message to the log and returns // the index of the entry. -func appendTxDecide(ctx context.Context, beamLog BeamLog, +func appendTxDecide(ctx context.Context, aLog ALog, idx blog.Index, commit bool, ) (blog.Index, error) { span, ctx := opentracing.StartSpanFromContext(ctx, "append decideTx") @@ -539,7 +539,7 @@ func appendTxDecide(ctx context.Context, beamLog BeamLog, defer span.Finish() dm := &logentry.TxDecisionCommand{Tx: idx, Commit: commit} enc := logencoder.Encode(dm) - return beamLog.AppendSingle(ctx, enc) + return aLog.AppendSingle(ctx, enc) } // equalValues returns true if the two readSets are identical except for their diff --git a/src/github.com/ebay/beam/update/update_module_test.go b/src/github.com/ebay/akutan/update/update_module_test.go similarity index 77% rename from src/github.com/ebay/beam/update/update_module_test.go rename to src/github.com/ebay/akutan/update/update_module_test.go index 7390262..37ae4b5 100644 --- a/src/github.com/ebay/beam/update/update_module_test.go +++ b/src/github.com/ebay/akutan/update/update_module_test.go @@ -21,10 +21,10 @@ import ( "strings" "testing" - "github.com/ebay/beam/api" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/blog/mockblog" - "github.com/ebay/beam/viewclient/mockstore" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/blog/mockblog" + "github.com/ebay/akutan/viewclient/mockstore" "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" @@ -42,7 +42,7 @@ var moduleTests = []struct { }{ { name: "basic", - insert: `the:sky beam:is colors:blue`, + insert: `the:sky akutan:is colors:blue`, expRes: &api.InsertResult{ Index: 1, Status: api.InsertStatus_OK, @@ -51,10 +51,10 @@ var moduleTests = []struct { { name: "meta0", preload: ` - the:sky beam:is colors:blue`, + the:sky akutan:is colors:blue`, insert: ` - ?zero the:sky beam:is colors:blue - ?zero beam:source place:san_francisco`, + ?zero the:sky akutan:is colors:blue + ?zero akutan:source place:san_francisco`, expRes: &api.InsertResult{ Index: 3, Status: api.InsertStatus_OK, @@ -63,12 +63,12 @@ var moduleTests = []struct { { name: "meta1", preload: ` - ?zero the:sky beam:is colors:blue - ?zero beam:source place:san_francisco`, + ?zero the:sky akutan:is colors:blue + ?zero akutan:source place:san_francisco`, insert: ` - ?zero the:sky beam:is colors:blue - ?one ?zero beam:source place:san_francisco - ?one beam:source web:weather_com`, + ?zero the:sky akutan:is colors:blue + ?one ?zero akutan:source place:san_francisco + ?one akutan:source web:weather_com`, expRes: &api.InsertResult{ Index: 3, Status: api.InsertStatus_OK, @@ -77,18 +77,18 @@ var moduleTests = []struct { { name: "meta3", preload: ` - ?zero the:sky beam:is colors:blue - ?one ?zero beam:source place:san_francisco - ?two ?one beam:source web:weather_com - ?three ?two beam:channel comms:web + ?zero the:sky akutan:is colors:blue + ?one ?zero akutan:source place:san_francisco + ?two ?one akutan:source web:weather_com + ?three ?two akutan:channel comms:web ?three data:signal 0.8`, insert: ` - ?zero the:sky beam:is colors:blue - ?one ?zero beam:source place:san_francisco - ?two ?one beam:source web:weather_com - ?three ?two beam:channel comms:web + ?zero the:sky akutan:is colors:blue + ?one ?zero akutan:source place:san_francisco + ?two ?one akutan:source web:weather_com + ?three ?two akutan:channel comms:web ?three data:noise 0.65 - ?three beam:like + ?three akutan:like ?three data:signal 0.8`, expRes: &api.InsertResult{ Index: 3, @@ -108,7 +108,7 @@ var moduleTests = []struct { { name: "assign externalID", preload: ` - the:sky beam:is colors:blue`, + the:sky akutan:is colors:blue`, insert: ` the:sky "the:skies"`, expRes: &api.InsertResult{ @@ -119,10 +119,10 @@ var moduleTests = []struct { { name: "assign and use externalID existing", preload: ` - the:sky beam:is colors:blue`, + the:sky akutan:is colors:blue`, insert: ` the:sky "the:skies" - the:skies beam:is colors:gray`, + the:skies akutan:is colors:gray`, expRes: &api.InsertResult{ Index: 3, Status: api.InsertStatus_OK, @@ -132,8 +132,8 @@ var moduleTests = []struct { name: "assign and use externalID new", insert: ` the:sky "the:skies" - the:sky beam:is colors:blue - the:skies beam:is colors:gray`, + the:sky akutan:is colors:blue + the:skies akutan:is colors:gray`, expRes: &api.InsertResult{ Index: 1, Status: api.InsertStatus_OK, @@ -142,7 +142,7 @@ var moduleTests = []struct { { name: "use before assign externalID", insert: ` - the:skies beam:is colors:gray + the:skies akutan:is colors:gray the:sky "the:skies"`, expRes: &api.InsertResult{ Status: api.InsertStatus_SchemaViolation, @@ -153,21 +153,21 @@ var moduleTests = []struct { { name: "assign external ID to fact", preload: ` - ?fact the:sky beam:is colors:blue + ?fact the:sky akutan:is colors:blue ?fact "skyisblue"`, insert: ` - beam:source place:san_francisco`, + akutan:source place:san_francisco`, expRes: &api.InsertResult{ Status: api.InsertStatus_OK, Index: 3, }, expStored: ` {idx:1 id:1001 s:1002 p:4 o:"the:sky"} - {idx:1 id:1003 s:1004 p:4 o:"beam:is"} + {idx:1 id:1003 s:1004 p:4 o:"akutan:is"} {idx:1 id:1005 s:1006 p:4 o:"colors:blue"} {idx:1 id:1007 s:1002 p:1004 o:#1006} {idx:1 id:1008 s:1007 p:4 o:"skyisblue"} - {idx:3 id:3001 s:3002 p:4 o:"beam:source"} + {idx:3 id:3001 s:3002 p:4 o:"akutan:source"} {idx:3 id:3003 s:3004 p:4 o:"place:san_francisco"} {idx:3 id:3005 s:1007 p:3002 o:#3004} `, @@ -176,8 +176,8 @@ var moduleTests = []struct { { name: "double variable assignment", insert: ` - ?fact the:sky beam:is colors:blue - ?fact the:grass beam:is colors:green`, + ?fact the:sky akutan:is colors:blue + ?fact the:grass akutan:is colors:green`, expRes: &api.InsertResult{ Status: api.InsertStatus_ParseError, Error: `parser: variable ?fact captured more than once`, @@ -186,7 +186,7 @@ var moduleTests = []struct { { name: "external ID different re-assignment", - preload: `the:sky beam:is colors:blue`, + preload: `the:sky akutan:is colors:blue`, insert: `the:grass "the:sky"`, expRes: &api.InsertResult{ Status: api.InsertStatus_SchemaViolation, @@ -195,7 +195,7 @@ var moduleTests = []struct { }, { name: "external ID same re-assignment", - preload: `the:sky beam:is colors:blue`, + preload: `the:sky akutan:is colors:blue`, insert: `the:sky "the:sky"`, expRes: &api.InsertResult{ Status: api.InsertStatus_SchemaViolation, @@ -218,11 +218,11 @@ func Test_Update_module(t *testing.T) { ctx, cancel := context.WithCancel(context.Background()) defer cancel() assert, require := assert.New(t), require.New(t) - beamLog := mockblog.New(ctx) + aLog := mockblog.New(ctx) store := mockstore.NewLogConsumer() - go store.Consume(ctx, beamLog) + go store.Consume(ctx, aLog) lastLogIndex := func(ctx context.Context) blog.Index { - info, err := beamLog.Info(ctx) + info, err := aLog.Info(ctx) require.NoError(err) return info.LastIndex } @@ -235,7 +235,7 @@ func Test_Update_module(t *testing.T) { }, lastLogIndex(ctx), store.Lookups(), - beamLog) + aLog) require.NoError(err) require.NotNil(res) require.Equal(api.InsertStatus_OK, res.Status) @@ -255,7 +255,7 @@ func Test_Update_module(t *testing.T) { }, lastLogIndex(ctx), store.Lookups(), - beamLog) + aLog) logrus.Info("validations") assert.Equal(test.expErr, err) diff --git a/src/github.com/ebay/beam/update/update_test.go b/src/github.com/ebay/akutan/update/update_test.go similarity index 91% rename from src/github.com/ebay/beam/update/update_test.go rename to src/github.com/ebay/akutan/update/update_test.go index e0ddf55..e54037c 100644 --- a/src/github.com/ebay/beam/update/update_test.go +++ b/src/github.com/ebay/akutan/update/update_test.go @@ -22,16 +22,16 @@ import ( "strings" "testing" - "github.com/ebay/beam/api" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/blog/mockblog" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logencoder" - "github.com/ebay/beam/logentry/logread" - wellknown "github.com/ebay/beam/msg/facts" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/viewclient/lookups/mocklookups" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/blog/mockblog" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logencoder" + "github.com/ebay/akutan/logentry/logread" + wellknown "github.com/ebay/akutan/msg/facts" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/viewclient/lookups/mocklookups" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -40,7 +40,7 @@ func Test_Insert(t *testing.T) { assert := assert.New(t) res, err := Insert(context.Background(), &api.InsertRequest{ Format: "pdf", - Facts: "the:sky beam:is colors:blue", + Facts: "the:sky akutan:is colors:blue", }, 13, nil, nil) if assert.NoError(err) { assert.Equal(api.InsertStatus_ParseError.String(), res.Status.String()) @@ -166,16 +166,16 @@ func Test_updateRequest_attempt(t *testing.T) { mocklookups.OK(lookupSPO(60), lookupSPOReply(60)), ) ctx := context.Background() - beamLog := mockblog.New(ctx) - beamLog.Discard(ctx, 60) - res, newReads, err := update.attempt(ctx, 1, reads, store, beamLog) + aLog := mockblog.New(ctx) + aLog.Discard(ctx, 60) + res, newReads, err := update.attempt(ctx, 1, reads, store, aLog) assert.NoError(t, err) if assert.NotNil(t, res) { assert.Equal(t, api.InsertStatus_OK.String(), res.Status.String()) assert.Equal(t, uint64(60), res.Index) assert.Nil(t, newReads) } - beamLog.AssertCommands(t, rpc.LogPosition{Index: 60, Version: logencoder.DefaultLogVersion}, + aLog.AssertCommands(t, rpc.LogPosition{Index: 60, Version: logencoder.DefaultLogVersion}, []logencoder.ProtobufCommand{ insertTxCmd(), &logentry.TxDecisionCommand{Tx: 60, Commit: true}, @@ -194,16 +194,16 @@ func Test_updateRequest_attempt(t *testing.T) { mocklookups.OK(lookupSPO(60) /* with empty result */), ) ctx := context.Background() - beamLog := mockblog.New(ctx) - beamLog.Discard(ctx, 60) - res, newReads, err := update.attempt(ctx, 1, reads, store, beamLog) + aLog := mockblog.New(ctx) + aLog.Discard(ctx, 60) + res, newReads, err := update.attempt(ctx, 1, reads, store, aLog) assert.NoError(t, err) assert.Nil(t, res) if assert.NotNil(t, newReads) { assert.Equal(t, uint64(59), newReads.index) assert.Equal(t, uint64(0), newReads.existingFactIDs[0]) } - beamLog.AssertCommands(t, rpc.LogPosition{Index: 60, Version: logencoder.DefaultLogVersion}, + aLog.AssertCommands(t, rpc.LogPosition{Index: 60, Version: logencoder.DefaultLogVersion}, []logencoder.ProtobufCommand{ insertTxCmd(), &logentry.TxDecisionCommand{Tx: 60, Commit: true}, @@ -221,16 +221,16 @@ func Test_updateRequest_attempt(t *testing.T) { mocklookups.OK(lookupSPO(59), lookupSPOReply(55)), ) ctx := context.Background() - beamLog := mockblog.New(ctx) - beamLog.Discard(ctx, 60) - res, newReads, err := update.attempt(ctx, 1, reads, store, beamLog) + aLog := mockblog.New(ctx) + aLog.Discard(ctx, 60) + res, newReads, err := update.attempt(ctx, 1, reads, store, aLog) assert.NoError(t, err) assert.Nil(t, res) if assert.NotNil(t, newReads) { assert.Equal(t, uint64(59), newReads.index) assert.Equal(t, uint64(55001), newReads.existingFactIDs[0]) } - beamLog.AssertCommands(t, rpc.LogPosition{Index: 60, Version: logencoder.DefaultLogVersion}, + aLog.AssertCommands(t, rpc.LogPosition{Index: 60, Version: logencoder.DefaultLogVersion}, []logencoder.ProtobufCommand{ insertTxCmd(), &logentry.TxDecisionCommand{Tx: 60, Commit: false}, @@ -242,7 +242,7 @@ func Test_updateRequest_attempt(t *testing.T) { func Test_newInsertRequest_parserError(t *testing.T) { update, res := newInsertRequest(&api.InsertRequest{ Format: "pdf", - Facts: "the:sky beam:is colors:blue", + Facts: "the:sky akutan:is colors:blue", }) assert := assert.New(t) assert.Nil(update) @@ -366,17 +366,17 @@ func Test_updateRequest_lookupFacts_basic(t *testing.T) { Format: "tsv", Facts: ` # This fact will not exist. - the:sky beam:is colors:blue + the:sky akutan:is colors:blue # This fact will exist. - the:grass beam:is colors:green + the:grass akutan:is colors:green # This fact will not be ready for a LookupSPO # because is a new external ID. - beam:is colors:blue + akutan:is colors:blue `}) require.Nil(t, apiRes) xids := map[string]uint64{ "the:sky": 1001, - "beam:is": 1002, + "akutan:is": 1002, "colors:blue": 1003, "the:grass": 1004, "colors:green": 1005, @@ -390,12 +390,12 @@ func Test_updateRequest_lookupFacts_basic(t *testing.T) { Lookups: []rpc.LookupSPORequest_Item{ { Subject: xids["the:sky"], - Predicate: xids["beam:is"], + Predicate: xids["akutan:is"], Object: rpc.AKID(xids["colors:blue"]), }, { Subject: xids["the:grass"], - Predicate: xids["beam:is"], + Predicate: xids["akutan:is"], Object: rpc.AKID(xids["colors:green"]), }, }, @@ -408,7 +408,7 @@ func Test_updateRequest_lookupFacts_basic(t *testing.T) { Index: 32, Id: 32001, Subject: xids["the:sky"], - Predicate: xids["beam:is"], + Predicate: xids["akutan:is"], Object: rpc.AKID(xids["colors:blue"]), }, }, @@ -426,29 +426,29 @@ func Test_updateRequest_lookupFacts_meta(t *testing.T) { Format: "tsv", Facts: ` # All of these facts will exist. - ?zero the:sky beam:is colors:blue - ?one ?zero beam:source place:san_francisco - ?two ?one beam:source web:weather_com - ?three ?two beam:channel comms:web + ?zero the:sky akutan:is colors:blue + ?one ?zero akutan:source place:san_francisco + ?two ?one akutan:source web:weather_com + ?three ?two akutan:channel comms:web # For fun, this next noise fact won't exist. ?three data:noise 0.65 # This one will introduce a new external ID. - ?three beam:like + ?three akutan:like # Finally, this signal fact will exist. ?three data:signal 0.8 `}) require.Nil(t, apiRes) xids := map[string]uint64{ "the:sky": 1001, - "beam:is": 1002, + "akutan:is": 1002, "colors:blue": 1003, - "beam:source": 1004, + "akutan:source": 1004, "place:san_francisco": 1005, "web:weather_com": 1006, - "beam:channel": 1007, + "akutan:channel": 1007, "comms:web": 1008, "data:noise": 1009, - "beam:like": 1010, + "akutan:like": 1010, "data:signal": 1011, "aloha_net": 0, } @@ -467,7 +467,7 @@ func Test_updateRequest_lookupFacts_meta(t *testing.T) { Lookups: []rpc.LookupSPORequest_Item{ { Subject: xids["the:sky"], - Predicate: xids["beam:is"], + Predicate: xids["akutan:is"], Object: rpc.AKID(xids["colors:blue"]), }, }, @@ -482,7 +482,7 @@ func Test_updateRequest_lookupFacts_meta(t *testing.T) { Lookups: []rpc.LookupSPORequest_Item{ { Subject: vars["zero"], - Predicate: xids["beam:source"], + Predicate: xids["akutan:source"], Object: rpc.AKID(xids["place:san_francisco"]), }, }, @@ -497,7 +497,7 @@ func Test_updateRequest_lookupFacts_meta(t *testing.T) { Lookups: []rpc.LookupSPORequest_Item{ { Subject: vars["one"], - Predicate: xids["beam:source"], + Predicate: xids["akutan:source"], Object: rpc.AKID(xids["web:weather_com"]), }, }, @@ -512,7 +512,7 @@ func Test_updateRequest_lookupFacts_meta(t *testing.T) { Lookups: []rpc.LookupSPORequest_Item{ { Subject: vars["two"], - Predicate: xids["beam:channel"], + Predicate: xids["akutan:channel"], Object: rpc.AKID(xids["comms:web"]), }, }, @@ -556,16 +556,16 @@ func Test_updateRequest_buildStartTxCommand_xids(t *testing.T) { update, apiRes := newInsertRequest(&api.InsertRequest{ Format: "tsv", Facts: ` - the:sky beam:is the:sky - the:cloud beam:in the:sky + the:sky akutan:is the:sky + the:cloud akutan:in the:sky `}) require.Nil(t, apiRes) reads := &updateReadSet{ xidToKID: map[string]uint64{ "the:sky": 0, - "beam:is": 1001, + "akutan:is": 1001, "the:cloud": 0, - "beam:in": 0, + "akutan:in": 0, }, existingFactIDs: make([]uint64, len(update.facts)), } @@ -590,7 +590,7 @@ func Test_updateRequest_buildStartTxCommand_xids(t *testing.T) { FactIDOffset: 6, Subject: logentry.KIDOrOffset{Value: &logentry.KIDOrOffset_Offset{Offset: 7}}, Predicate: logentry.KIDOrOffset{Value: &logentry.KIDOrOffset_Kid{Kid: wellknown.HasExternalID}}, - Object: logentry.KGObject{Value: &logentry.KGObject_AString{AString: "beam:in"}}, + Object: logentry.KGObject{Value: &logentry.KGObject_AString{AString: "akutan:in"}}, }, { FactIDOffset: 8, Subject: logentry.KIDOrOffset{Value: &logentry.KIDOrOffset_Offset{Offset: 5}}, @@ -610,18 +610,18 @@ func Test_updateRequest_buildStartTxCommand_metafacts(t *testing.T) { update, apiRes := newInsertRequest(&api.InsertRequest{ Format: "tsv", Facts: ` - ?one the:sky beam:is colors:blue - ?two ?one beam:source place:san_francisco - ?two beam:source web:weather_com + ?one the:sky akutan:is colors:blue + ?two ?one akutan:source place:san_francisco + ?two akutan:source web:weather_com `}) require.Nil(t, apiRes) reads := &updateReadSet{ index: 6, xidToKID: map[string]uint64{ "the:sky": 1001, - "beam:is": 1002, + "akutan:is": 1002, "colors:blue": 1003, - "beam:source": 1004, + "akutan:source": 1004, "place:san_francisco": 1005, "web:weather_com": 1006, }, diff --git a/src/github.com/ebay/beam/update/xids.go b/src/github.com/ebay/akutan/update/xids.go similarity index 95% rename from src/github.com/ebay/beam/update/xids.go rename to src/github.com/ebay/akutan/update/xids.go index 096932b..5b8e304 100644 --- a/src/github.com/ebay/beam/update/xids.go +++ b/src/github.com/ebay/akutan/update/xids.go @@ -19,13 +19,13 @@ import ( "context" "fmt" - "github.com/ebay/beam/api" - "github.com/ebay/beam/blog" - wellknown "github.com/ebay/beam/msg/facts" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/api" + "github.com/ebay/akutan/blog" + wellknown "github.com/ebay/akutan/msg/facts" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/viewclient/lookups" ) // ResolveExternalIDs looks up a KID for each given external ID. It executes all diff --git a/src/github.com/ebay/beam/update/xids_test.go b/src/github.com/ebay/akutan/update/xids_test.go similarity index 97% rename from src/github.com/ebay/beam/update/xids_test.go rename to src/github.com/ebay/akutan/update/xids_test.go index 637d0f0..be7ee1b 100644 --- a/src/github.com/ebay/beam/update/xids_test.go +++ b/src/github.com/ebay/akutan/update/xids_test.go @@ -20,11 +20,11 @@ import ( "sort" "testing" - "github.com/ebay/beam/api" - wellknown "github.com/ebay/beam/msg/facts" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/viewclient/lookups/mocklookups" + "github.com/ebay/akutan/api" + wellknown "github.com/ebay/akutan/msg/facts" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/viewclient/lookups/mocklookups" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/src/github.com/ebay/beam/util/bytes/b.go b/src/github.com/ebay/akutan/util/bytes/b.go similarity index 100% rename from src/github.com/ebay/beam/util/bytes/b.go rename to src/github.com/ebay/akutan/util/bytes/b.go diff --git a/src/github.com/ebay/beam/util/bytes/b_test.go b/src/github.com/ebay/akutan/util/bytes/b_test.go similarity index 100% rename from src/github.com/ebay/beam/util/bytes/b_test.go rename to src/github.com/ebay/akutan/util/bytes/b_test.go diff --git a/src/github.com/ebay/beam/util/clocks/mock.go b/src/github.com/ebay/akutan/util/clocks/mock.go similarity index 100% rename from src/github.com/ebay/beam/util/clocks/mock.go rename to src/github.com/ebay/akutan/util/clocks/mock.go diff --git a/src/github.com/ebay/beam/util/clocks/mock_test.go b/src/github.com/ebay/akutan/util/clocks/mock_test.go similarity index 98% rename from src/github.com/ebay/beam/util/clocks/mock_test.go rename to src/github.com/ebay/akutan/util/clocks/mock_test.go index c31b550..64c5381 100644 --- a/src/github.com/ebay/beam/util/clocks/mock_test.go +++ b/src/github.com/ebay/akutan/util/clocks/mock_test.go @@ -21,7 +21,7 @@ import ( "testing" "time" - "github.com/ebay/beam/util/parallel" + "github.com/ebay/akutan/util/parallel" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/util/clocks/wall.go b/src/github.com/ebay/akutan/util/clocks/wall.go similarity index 100% rename from src/github.com/ebay/beam/util/clocks/wall.go rename to src/github.com/ebay/akutan/util/clocks/wall.go diff --git a/src/github.com/ebay/beam/util/clocks/wall_test.go b/src/github.com/ebay/akutan/util/clocks/wall_test.go similarity index 100% rename from src/github.com/ebay/beam/util/clocks/wall_test.go rename to src/github.com/ebay/akutan/util/clocks/wall_test.go diff --git a/src/github.com/ebay/beam/util/cmp/cmp.template b/src/github.com/ebay/akutan/util/cmp/cmp.template similarity index 100% rename from src/github.com/ebay/beam/util/cmp/cmp.template rename to src/github.com/ebay/akutan/util/cmp/cmp.template diff --git a/src/github.com/ebay/beam/util/cmp/cmp_test.go b/src/github.com/ebay/akutan/util/cmp/cmp_test.go similarity index 100% rename from src/github.com/ebay/beam/util/cmp/cmp_test.go rename to src/github.com/ebay/akutan/util/cmp/cmp_test.go diff --git a/src/github.com/ebay/beam/util/cmp/cmp_test.template b/src/github.com/ebay/akutan/util/cmp/cmp_test.template similarity index 100% rename from src/github.com/ebay/beam/util/cmp/cmp_test.template rename to src/github.com/ebay/akutan/util/cmp/cmp_test.template diff --git a/src/github.com/ebay/beam/util/cmp/doc.go b/src/github.com/ebay/akutan/util/cmp/doc.go similarity index 100% rename from src/github.com/ebay/beam/util/cmp/doc.go rename to src/github.com/ebay/akutan/util/cmp/doc.go diff --git a/src/github.com/ebay/beam/util/cmp/key.go b/src/github.com/ebay/akutan/util/cmp/key.go similarity index 100% rename from src/github.com/ebay/beam/util/cmp/key.go rename to src/github.com/ebay/akutan/util/cmp/key.go diff --git a/src/github.com/ebay/beam/util/debuglog/setup.go b/src/github.com/ebay/akutan/util/debuglog/setup.go similarity index 96% rename from src/github.com/ebay/beam/util/debuglog/setup.go rename to src/github.com/ebay/akutan/util/debuglog/setup.go index fc4b616..1b494a5 100644 --- a/src/github.com/ebay/beam/util/debuglog/setup.go +++ b/src/github.com/ebay/akutan/util/debuglog/setup.go @@ -85,7 +85,7 @@ func (utcHook) Fire(entry *logrus.Entry) error { } // filenameHook implements logrus.Hook. Its purpose is to strip the prefix of -// the file path up to the root of the Beam repo, which is otherwise repeated +// the file path up to the root of the repo, which is otherwise repeated // with just about every log message. type filenameHook struct { prefix string @@ -98,7 +98,7 @@ func newFilenameHook() filenameHook { prefix: "", } } - localPath := "src/github.com/ebay/beam/util/debuglog/setup.go" + localPath := "src/github.com/ebay/akutan/util/debuglog/setup.go" if !strings.HasSuffix(file, localPath) { panic(fmt.Sprintf("Trying to calculate filename prefix for logging "+ "but this code got moved. Got %v which doesn't end in %v", diff --git a/src/github.com/ebay/beam/util/debuglog/setup_test.go b/src/github.com/ebay/akutan/util/debuglog/setup_test.go similarity index 95% rename from src/github.com/ebay/beam/util/debuglog/setup_test.go rename to src/github.com/ebay/akutan/util/debuglog/setup_test.go index f04da53..2e9875a 100644 --- a/src/github.com/ebay/beam/util/debuglog/setup_test.go +++ b/src/github.com/ebay/akutan/util/debuglog/setup_test.go @@ -51,7 +51,7 @@ func Test_Configure(t *testing.T) { name: "default/relative_filenames", options: Options{}, contains: []string{ - ` file="src/github.com/ebay/beam/util/debuglog/setup.go:`, + ` file="src/github.com/ebay/akutan/util/debuglog/setup.go:`, }, }, { @@ -109,7 +109,7 @@ func Test_filenameHook(t *testing.T) { }{ { in: thisFile, - expected: "src/github.com/ebay/beam/util/debuglog/setup_test.go", + expected: "src/github.com/ebay/akutan/util/debuglog/setup_test.go", }, { in: "/some/other/path", diff --git a/src/github.com/ebay/beam/util/errors/e.go b/src/github.com/ebay/akutan/util/errors/e.go similarity index 100% rename from src/github.com/ebay/beam/util/errors/e.go rename to src/github.com/ebay/akutan/util/errors/e.go diff --git a/src/github.com/ebay/beam/util/graphviz/graphviz.go b/src/github.com/ebay/akutan/util/graphviz/graphviz.go similarity index 100% rename from src/github.com/ebay/beam/util/graphviz/graphviz.go rename to src/github.com/ebay/akutan/util/graphviz/graphviz.go diff --git a/src/github.com/ebay/beam/util/grpc/client/client.go b/src/github.com/ebay/akutan/util/grpc/client/client.go similarity index 100% rename from src/github.com/ebay/beam/util/grpc/client/client.go rename to src/github.com/ebay/akutan/util/grpc/client/client.go diff --git a/src/github.com/ebay/beam/util/grpc/client/client_test.go b/src/github.com/ebay/akutan/util/grpc/client/client_test.go similarity index 100% rename from src/github.com/ebay/beam/util/grpc/client/client_test.go rename to src/github.com/ebay/akutan/util/grpc/client/client_test.go diff --git a/src/github.com/ebay/beam/util/grpc/server/server.go b/src/github.com/ebay/akutan/util/grpc/server/server.go similarity index 100% rename from src/github.com/ebay/beam/util/grpc/server/server.go rename to src/github.com/ebay/akutan/util/grpc/server/server.go diff --git a/src/github.com/ebay/beam/util/metrics/metrics.go b/src/github.com/ebay/akutan/util/metrics/metrics.go similarity index 100% rename from src/github.com/ebay/beam/util/metrics/metrics.go rename to src/github.com/ebay/akutan/util/metrics/metrics.go diff --git a/src/github.com/ebay/beam/util/parallel/parallel.go b/src/github.com/ebay/akutan/util/parallel/parallel.go similarity index 100% rename from src/github.com/ebay/beam/util/parallel/parallel.go rename to src/github.com/ebay/akutan/util/parallel/parallel.go diff --git a/src/github.com/ebay/beam/util/parallel/parallel_test.go b/src/github.com/ebay/akutan/util/parallel/parallel_test.go similarity index 100% rename from src/github.com/ebay/beam/util/parallel/parallel_test.go rename to src/github.com/ebay/akutan/util/parallel/parallel_test.go diff --git a/src/github.com/ebay/beam/util/perfbenchmarks/doc.go b/src/github.com/ebay/akutan/util/perfbenchmarks/doc.go similarity index 100% rename from src/github.com/ebay/beam/util/perfbenchmarks/doc.go rename to src/github.com/ebay/akutan/util/perfbenchmarks/doc.go diff --git a/src/github.com/ebay/beam/util/perfbenchmarks/fmt_test.go b/src/github.com/ebay/akutan/util/perfbenchmarks/fmt_test.go similarity index 100% rename from src/github.com/ebay/beam/util/perfbenchmarks/fmt_test.go rename to src/github.com/ebay/akutan/util/perfbenchmarks/fmt_test.go diff --git a/src/github.com/ebay/beam/util/perfbenchmarks/lang_test.go b/src/github.com/ebay/akutan/util/perfbenchmarks/lang_test.go similarity index 100% rename from src/github.com/ebay/beam/util/perfbenchmarks/lang_test.go rename to src/github.com/ebay/akutan/util/perfbenchmarks/lang_test.go diff --git a/src/github.com/ebay/beam/util/perfbenchmarks/sync_test.go b/src/github.com/ebay/akutan/util/perfbenchmarks/sync_test.go similarity index 100% rename from src/github.com/ebay/beam/util/perfbenchmarks/sync_test.go rename to src/github.com/ebay/akutan/util/perfbenchmarks/sync_test.go diff --git a/src/github.com/ebay/beam/util/perfbenchmarks/time_test.go b/src/github.com/ebay/akutan/util/perfbenchmarks/time_test.go similarity index 100% rename from src/github.com/ebay/beam/util/perfbenchmarks/time_test.go rename to src/github.com/ebay/akutan/util/perfbenchmarks/time_test.go diff --git a/src/github.com/ebay/beam/util/profiling/doc.go b/src/github.com/ebay/akutan/util/profiling/doc.go similarity index 100% rename from src/github.com/ebay/beam/util/profiling/doc.go rename to src/github.com/ebay/akutan/util/profiling/doc.go diff --git a/src/github.com/ebay/beam/util/profiling/p.go b/src/github.com/ebay/akutan/util/profiling/p.go similarity index 100% rename from src/github.com/ebay/beam/util/profiling/p.go rename to src/github.com/ebay/akutan/util/profiling/p.go diff --git a/src/github.com/ebay/beam/util/profiling/startup.go b/src/github.com/ebay/akutan/util/profiling/startup.go similarity index 98% rename from src/github.com/ebay/beam/util/profiling/startup.go rename to src/github.com/ebay/akutan/util/profiling/startup.go index 78addb4..a5f714c 100644 --- a/src/github.com/ebay/beam/util/profiling/startup.go +++ b/src/github.com/ebay/akutan/util/profiling/startup.go @@ -20,7 +20,7 @@ import ( "runtime/pprof" "time" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/util/cmp" log "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/util/random/random.go b/src/github.com/ebay/akutan/util/random/random.go similarity index 100% rename from src/github.com/ebay/beam/util/random/random.go rename to src/github.com/ebay/akutan/util/random/random.go diff --git a/src/github.com/ebay/beam/util/random/random_test.go b/src/github.com/ebay/akutan/util/random/random_test.go similarity index 100% rename from src/github.com/ebay/beam/util/random/random_test.go rename to src/github.com/ebay/akutan/util/random/random_test.go diff --git a/src/github.com/ebay/beam/util/signals/s.go b/src/github.com/ebay/akutan/util/signals/s.go similarity index 100% rename from src/github.com/ebay/beam/util/signals/s.go rename to src/github.com/ebay/akutan/util/signals/s.go diff --git a/src/github.com/ebay/beam/util/stats/facts.go b/src/github.com/ebay/akutan/util/stats/facts.go similarity index 96% rename from src/github.com/ebay/beam/util/stats/facts.go rename to src/github.com/ebay/akutan/util/stats/facts.go index 2e21abc..3cd1ecc 100644 --- a/src/github.com/ebay/beam/util/stats/facts.go +++ b/src/github.com/ebay/akutan/util/stats/facts.go @@ -23,11 +23,11 @@ import ( "io" "sort" - "github.com/ebay/beam/msg/facts" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/util/table" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/msg/facts" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/util/table" + "github.com/ebay/akutan/viewclient/lookups" opentracing "github.com/opentracing/opentracing-go" "golang.org/x/text/language" "golang.org/x/text/message" diff --git a/src/github.com/ebay/beam/util/table/pp.go b/src/github.com/ebay/akutan/util/table/pp.go similarity index 99% rename from src/github.com/ebay/beam/util/table/pp.go rename to src/github.com/ebay/akutan/util/table/pp.go index f527426..b585c6e 100644 --- a/src/github.com/ebay/beam/util/table/pp.go +++ b/src/github.com/ebay/akutan/util/table/pp.go @@ -22,7 +22,7 @@ import ( "strings" "unicode/utf8" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/util/cmp" "golang.org/x/text/unicode/norm" ) diff --git a/src/github.com/ebay/beam/util/table/pp_test.go b/src/github.com/ebay/akutan/util/table/pp_test.go similarity index 100% rename from src/github.com/ebay/beam/util/table/pp_test.go rename to src/github.com/ebay/akutan/util/table/pp_test.go diff --git a/src/github.com/ebay/beam/util/tracing/tracing.go b/src/github.com/ebay/akutan/util/tracing/tracing.go similarity index 95% rename from src/github.com/ebay/beam/util/tracing/tracing.go rename to src/github.com/ebay/akutan/util/tracing/tracing.go index dbce469..508ddc1 100644 --- a/src/github.com/ebay/beam/util/tracing/tracing.go +++ b/src/github.com/ebay/akutan/util/tracing/tracing.go @@ -23,8 +23,8 @@ import ( "sync" "time" - "github.com/ebay/beam/config" - "github.com/ebay/beam/discovery/discoveryfactory" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/discovery/discoveryfactory" opentracing "github.com/opentracing/opentracing-go" "github.com/prometheus/client_golang/prometheus" log "github.com/sirupsen/logrus" @@ -40,16 +40,16 @@ type Tracer struct { // New constructs a tracer and sets it as the global opentracing tracer. // Call this early on from main functions to initialize Jaeger/OpenTracing. The -// locator described in beamCfg.Tracing.Locator should resolve to ports that +// locator described in trcCfg.Tracing.Locator should resolve to ports that // accept jaeger.thrift over HTTP directly from clients. If err != nil, the // returned tracer should be Closed to clean up resources and flush its buffer // before program exit. -func New(serviceName string, beamCfg *config.Tracing) (*Tracer, error) { - if beamCfg == nil { +func New(serviceName string, trcCfg *config.Tracing) (*Tracer, error) { + if trcCfg == nil { log.Warn("Skipping Jaeger setup: nil Tracing configuration") return &Tracer{}, nil } - collectors, err := discoveryfactory.NewLocator(context.TODO(), &beamCfg.Locator) + collectors, err := discoveryfactory.NewLocator(context.TODO(), &trcCfg.Locator) if err != nil { return nil, fmt.Errorf("failed to create Jaeger locator: %v", err) } diff --git a/src/github.com/ebay/beam/util/tracing/tracing_test.go b/src/github.com/ebay/akutan/util/tracing/tracing_test.go similarity index 95% rename from src/github.com/ebay/beam/util/tracing/tracing_test.go rename to src/github.com/ebay/akutan/util/tracing/tracing_test.go index 4219f3d..1549a9d 100644 --- a/src/github.com/ebay/beam/util/tracing/tracing_test.go +++ b/src/github.com/ebay/akutan/util/tracing/tracing_test.go @@ -64,12 +64,12 @@ func Test_metricsObserver_UpdateMetric(t *testing.T) { func Test_stringableMetric(t *testing.T) { metric := prometheus.NewSummary(prometheus.SummaryOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "txtimer", Name: "aborts_started", Help: "The number of abort decisions ... the log.", Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01}, }) stringable := stringableMetric{metric} - assert.Equal(t, "beam_txtimer_aborts_started", fmt.Sprint(stringable)) + assert.Equal(t, "akutan_txtimer_aborts_started", fmt.Sprint(stringable)) } diff --git a/src/github.com/ebay/beam/util/tracing/transport_proxy.go b/src/github.com/ebay/akutan/util/tracing/transport_proxy.go similarity index 98% rename from src/github.com/ebay/beam/util/tracing/transport_proxy.go rename to src/github.com/ebay/akutan/util/tracing/transport_proxy.go index 3fa2ab8..42dcbee 100644 --- a/src/github.com/ebay/beam/util/tracing/transport_proxy.go +++ b/src/github.com/ebay/akutan/util/tracing/transport_proxy.go @@ -23,8 +23,8 @@ import ( "sync" "time" - "github.com/ebay/beam/discovery" - "github.com/ebay/beam/util/random" + "github.com/ebay/akutan/discovery" + "github.com/ebay/akutan/util/random" "github.com/sirupsen/logrus" jaeger "github.com/uber/jaeger-client-go" jaegerTransport "github.com/uber/jaeger-client-go/transport" diff --git a/src/github.com/ebay/beam/util/tracing/transport_proxy_test.go b/src/github.com/ebay/akutan/util/tracing/transport_proxy_test.go similarity index 99% rename from src/github.com/ebay/beam/util/tracing/transport_proxy_test.go rename to src/github.com/ebay/akutan/util/tracing/transport_proxy_test.go index 7219483..f256f72 100644 --- a/src/github.com/ebay/beam/util/tracing/transport_proxy_test.go +++ b/src/github.com/ebay/akutan/util/tracing/transport_proxy_test.go @@ -24,7 +24,7 @@ import ( "testing" "time" - "github.com/ebay/beam/discovery" + "github.com/ebay/akutan/discovery" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/src/github.com/ebay/beam/util/unicode/unicode.go b/src/github.com/ebay/akutan/util/unicode/unicode.go similarity index 81% rename from src/github.com/ebay/beam/util/unicode/unicode.go rename to src/github.com/ebay/akutan/util/unicode/unicode.go index 11631be..98b7eca 100644 --- a/src/github.com/ebay/beam/util/unicode/unicode.go +++ b/src/github.com/ebay/akutan/util/unicode/unicode.go @@ -13,13 +13,13 @@ // See the License for the specific language governing permissions and // limitations under the License. -// Package unicode contains Unicode text functionality for Beam store. +// Package unicode contains Unicode text functionality for Akutan store. package unicode import "golang.org/x/text/unicode/norm" -// Normalize converts string s to normalized Unicode string. Both write -// and read operations to the beam store should use this function to normalize +// Normalize converts strings to normalized Unicode string. Both write +// and read operations to the Akutan store should use this function to normalize // all strings before writing and reading respectively, so that canonical // equivalent strings (ex., 'Beyonce\u0301' and 'Beyonc\u00e9') are treated // equal. diff --git a/src/github.com/ebay/beam/util/unicode/unicode_test.go b/src/github.com/ebay/akutan/util/unicode/unicode_test.go similarity index 100% rename from src/github.com/ebay/beam/util/unicode/unicode_test.go rename to src/github.com/ebay/akutan/util/unicode/unicode_test.go diff --git a/src/github.com/ebay/beam/util/web/err.go b/src/github.com/ebay/akutan/util/web/err.go similarity index 100% rename from src/github.com/ebay/beam/util/web/err.go rename to src/github.com/ebay/akutan/util/web/err.go diff --git a/src/github.com/ebay/beam/util/web/w.go b/src/github.com/ebay/akutan/util/web/w.go similarity index 100% rename from src/github.com/ebay/beam/util/web/w.go rename to src/github.com/ebay/akutan/util/web/w.go diff --git a/src/github.com/ebay/beam/viewclient/client.go b/src/github.com/ebay/akutan/viewclient/client.go similarity index 85% rename from src/github.com/ebay/beam/viewclient/client.go rename to src/github.com/ebay/akutan/viewclient/client.go index 6dc712c..c15187f 100644 --- a/src/github.com/ebay/beam/viewclient/client.go +++ b/src/github.com/ebay/akutan/viewclient/client.go @@ -19,15 +19,15 @@ import ( "context" "fmt" - "github.com/ebay/beam/config" - "github.com/ebay/beam/discovery" - "github.com/ebay/beam/discovery/discoveryfactory" - "github.com/ebay/beam/viewclient/viewreg" + "github.com/ebay/akutan/config" + "github.com/ebay/akutan/discovery" + "github.com/ebay/akutan/discovery/discoveryfactory" + "github.com/ebay/akutan/viewclient/viewreg" ) // New constructs a Client that uses view instances from the given // configuration. -func New(cfg *config.Beam) (*Client, error) { +func New(cfg *config.Akutan) (*Client, error) { locator, err := discoveryfactory.NewLocator(context.TODO(), &cfg.ViewsLocator) if err != nil { return nil, fmt.Errorf("failed to create locator for view servers: %v", err) @@ -37,7 +37,7 @@ func New(cfg *config.Beam) (*Client, error) { // NewWithLocator constructs a Client that finds view instances from the // given Locator. -func NewWithLocator(cfg *config.Beam, views discovery.Locator) *Client { +func NewWithLocator(cfg *config.Akutan, views discovery.Locator) *Client { ctx, cancel := context.WithCancel(context.Background()) return &Client{ cfg: cfg, @@ -52,7 +52,7 @@ func NewWithLocator(cfg *config.Beam, views discovery.Locator) *Client { // // TODO: meh viewclient.Client type Client struct { - cfg *config.Beam + cfg *config.Akutan closeRegistry func() Registry *viewreg.Registry } diff --git a/src/github.com/ebay/beam/viewclient/client_carousel.go b/src/github.com/ebay/akutan/viewclient/client_carousel.go similarity index 97% rename from src/github.com/ebay/beam/viewclient/client_carousel.go rename to src/github.com/ebay/akutan/viewclient/client_carousel.go index f3b22ba..f92d313 100644 --- a/src/github.com/ebay/beam/viewclient/client_carousel.go +++ b/src/github.com/ebay/akutan/viewclient/client_carousel.go @@ -25,16 +25,16 @@ import ( "sync" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry/logencoder" - "github.com/ebay/beam/partitioning" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/space" - "github.com/ebay/beam/util/cmp" - errorUtil "github.com/ebay/beam/util/errors" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/viewclient/fanout" - "github.com/ebay/beam/viewclient/viewreg" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry/logencoder" + "github.com/ebay/akutan/partitioning" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/space" + "github.com/ebay/akutan/util/cmp" + errorUtil "github.com/ebay/akutan/util/errors" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/viewclient/fanout" + "github.com/ebay/akutan/viewclient/viewreg" log "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/viewclient/client_carousel_sel.go b/src/github.com/ebay/akutan/viewclient/client_carousel_sel.go similarity index 97% rename from src/github.com/ebay/beam/viewclient/client_carousel_sel.go rename to src/github.com/ebay/akutan/viewclient/client_carousel_sel.go index fc82897..c10748f 100644 --- a/src/github.com/ebay/beam/viewclient/client_carousel_sel.go +++ b/src/github.com/ebay/akutan/viewclient/client_carousel_sel.go @@ -18,8 +18,8 @@ package viewclient import ( "fmt" - "github.com/ebay/beam/space" - "github.com/ebay/beam/viewclient/fanout" + "github.com/ebay/akutan/space" + "github.com/ebay/akutan/viewclient/fanout" ) type carouselRequest struct { diff --git a/src/github.com/ebay/beam/viewclient/client_carousel_sel_test.go b/src/github.com/ebay/akutan/viewclient/client_carousel_sel_test.go similarity index 98% rename from src/github.com/ebay/beam/viewclient/client_carousel_sel_test.go rename to src/github.com/ebay/akutan/viewclient/client_carousel_sel_test.go index 940bf46..7d80e7a 100644 --- a/src/github.com/ebay/beam/viewclient/client_carousel_sel_test.go +++ b/src/github.com/ebay/akutan/viewclient/client_carousel_sel_test.go @@ -20,9 +20,9 @@ import ( "math" "testing" - "github.com/ebay/beam/partitioning" - "github.com/ebay/beam/space" - "github.com/ebay/beam/viewclient/fanout" + "github.com/ebay/akutan/partitioning" + "github.com/ebay/akutan/space" + "github.com/ebay/akutan/viewclient/fanout" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/viewclient/client_carousel_test.go b/src/github.com/ebay/akutan/viewclient/client_carousel_test.go similarity index 98% rename from src/github.com/ebay/beam/viewclient/client_carousel_test.go rename to src/github.com/ebay/akutan/viewclient/client_carousel_test.go index 60f43b9..ab365fc 100644 --- a/src/github.com/ebay/beam/viewclient/client_carousel_test.go +++ b/src/github.com/ebay/akutan/viewclient/client_carousel_test.go @@ -19,10 +19,10 @@ import ( "errors" "testing" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry/logencoder" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/space" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry/logencoder" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/space" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/viewclient/client_diags.go b/src/github.com/ebay/akutan/viewclient/client_diags.go similarity index 93% rename from src/github.com/ebay/beam/viewclient/client_diags.go rename to src/github.com/ebay/akutan/viewclient/client_diags.go index e9f8c67..45b8420 100644 --- a/src/github.com/ebay/beam/viewclient/client_diags.go +++ b/src/github.com/ebay/akutan/viewclient/client_diags.go @@ -19,11 +19,11 @@ import ( "context" "time" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/errors" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/util/tracing" - "github.com/ebay/beam/viewclient/viewreg" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/errors" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/util/tracing" + "github.com/ebay/akutan/viewclient/viewreg" opentracing "github.com/opentracing/opentracing-go" ) diff --git a/src/github.com/ebay/beam/viewclient/client_fact_stats.go b/src/github.com/ebay/akutan/viewclient/client_fact_stats.go similarity index 98% rename from src/github.com/ebay/beam/viewclient/client_fact_stats.go rename to src/github.com/ebay/akutan/viewclient/client_fact_stats.go index bb75492..b410858 100644 --- a/src/github.com/ebay/beam/viewclient/client_fact_stats.go +++ b/src/github.com/ebay/akutan/viewclient/client_fact_stats.go @@ -19,13 +19,13 @@ import ( "context" "fmt" - "github.com/ebay/beam/partitioning" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/space" - "github.com/ebay/beam/util/cmp" - "github.com/ebay/beam/util/errors" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/viewclient/fanout" + "github.com/ebay/akutan/partitioning" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/space" + "github.com/ebay/akutan/util/cmp" + "github.com/ebay/akutan/util/errors" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/viewclient/fanout" ) // FactStats collects data about the distributions of facts in the store. It diff --git a/src/github.com/ebay/beam/viewclient/client_fact_stats_test.go b/src/github.com/ebay/akutan/viewclient/client_fact_stats_test.go similarity index 98% rename from src/github.com/ebay/beam/viewclient/client_fact_stats_test.go rename to src/github.com/ebay/akutan/viewclient/client_fact_stats_test.go index 8b15a05..52f5a89 100644 --- a/src/github.com/ebay/beam/viewclient/client_fact_stats_test.go +++ b/src/github.com/ebay/akutan/viewclient/client_fact_stats_test.go @@ -20,11 +20,11 @@ import ( "sort" "testing" - "github.com/ebay/beam/partitioning" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/space" - utilStats "github.com/ebay/beam/util/stats" - "github.com/ebay/beam/viewclient/fanout" + "github.com/ebay/akutan/partitioning" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/space" + utilStats "github.com/ebay/akutan/util/stats" + "github.com/ebay/akutan/viewclient/fanout" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/viewclient/client_facts.go b/src/github.com/ebay/akutan/viewclient/client_facts.go similarity index 98% rename from src/github.com/ebay/beam/viewclient/client_facts.go rename to src/github.com/ebay/akutan/viewclient/client_facts.go index 17af546..128d5df 100644 --- a/src/github.com/ebay/beam/viewclient/client_facts.go +++ b/src/github.com/ebay/akutan/viewclient/client_facts.go @@ -19,11 +19,11 @@ import ( "context" "io" - "github.com/ebay/beam/partitioning" - rpcdef "github.com/ebay/beam/rpc" - "github.com/ebay/beam/space" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/viewclient/fanout" + "github.com/ebay/akutan/partitioning" + rpcdef "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/space" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/viewclient/fanout" opentracing "github.com/opentracing/opentracing-go" ) diff --git a/src/github.com/ebay/beam/viewclient/client_facts_test.go b/src/github.com/ebay/akutan/viewclient/client_facts_test.go similarity index 98% rename from src/github.com/ebay/beam/viewclient/client_facts_test.go rename to src/github.com/ebay/akutan/viewclient/client_facts_test.go index 61805a8..22584f9 100644 --- a/src/github.com/ebay/beam/viewclient/client_facts_test.go +++ b/src/github.com/ebay/akutan/viewclient/client_facts_test.go @@ -24,13 +24,13 @@ import ( "sort" "testing" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/partitioning" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/space" - "github.com/ebay/beam/util/random" - "github.com/ebay/beam/viewclient/fanout" - "github.com/ebay/beam/viewclient/viewreg" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/partitioning" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/space" + "github.com/ebay/akutan/util/random" + "github.com/ebay/akutan/viewclient/fanout" + "github.com/ebay/akutan/viewclient/viewreg" "github.com/stretchr/testify/assert" "google.golang.org/grpc" "google.golang.org/grpc/metadata" diff --git a/src/github.com/ebay/beam/viewclient/doc.go b/src/github.com/ebay/akutan/viewclient/doc.go similarity index 100% rename from src/github.com/ebay/beam/viewclient/doc.go rename to src/github.com/ebay/akutan/viewclient/doc.go diff --git a/src/github.com/ebay/beam/viewclient/fanout/fanout.go b/src/github.com/ebay/akutan/viewclient/fanout/fanout.go similarity index 99% rename from src/github.com/ebay/beam/viewclient/fanout/fanout.go rename to src/github.com/ebay/akutan/viewclient/fanout/fanout.go index 9835d8d..c9702e7 100644 --- a/src/github.com/ebay/beam/viewclient/fanout/fanout.go +++ b/src/github.com/ebay/akutan/viewclient/fanout/fanout.go @@ -25,9 +25,9 @@ import ( "sort" "time" - "github.com/ebay/beam/space" - "github.com/ebay/beam/util/clocks" - "github.com/ebay/beam/util/random" + "github.com/ebay/akutan/space" + "github.com/ebay/akutan/util/clocks" + "github.com/ebay/akutan/util/random" log "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/viewclient/fanout/fanout_test.go b/src/github.com/ebay/akutan/viewclient/fanout/fanout_test.go similarity index 99% rename from src/github.com/ebay/beam/viewclient/fanout/fanout_test.go rename to src/github.com/ebay/akutan/viewclient/fanout/fanout_test.go index 7e1fd84..5559d9d 100644 --- a/src/github.com/ebay/beam/viewclient/fanout/fanout_test.go +++ b/src/github.com/ebay/akutan/viewclient/fanout/fanout_test.go @@ -24,9 +24,9 @@ import ( "testing" "time" - "github.com/ebay/beam/space" - "github.com/ebay/beam/util/clocks" - "github.com/ebay/beam/util/random" + "github.com/ebay/akutan/space" + "github.com/ebay/akutan/util/clocks" + "github.com/ebay/akutan/util/random" log "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/viewclient/fanout/partition.go b/src/github.com/ebay/akutan/viewclient/fanout/partition.go similarity index 98% rename from src/github.com/ebay/beam/viewclient/fanout/partition.go rename to src/github.com/ebay/akutan/viewclient/fanout/partition.go index b0d6772..2171c56 100644 --- a/src/github.com/ebay/beam/viewclient/fanout/partition.go +++ b/src/github.com/ebay/akutan/viewclient/fanout/partition.go @@ -18,7 +18,7 @@ package fanout import ( "sort" - "github.com/ebay/beam/space" + "github.com/ebay/akutan/space" ) // Partition splits the given range into subranges, where each view serves one diff --git a/src/github.com/ebay/beam/viewclient/fanout/partition_test.go b/src/github.com/ebay/akutan/viewclient/fanout/partition_test.go similarity index 98% rename from src/github.com/ebay/beam/viewclient/fanout/partition_test.go rename to src/github.com/ebay/akutan/viewclient/fanout/partition_test.go index d08df6e..90f97ef 100644 --- a/src/github.com/ebay/beam/viewclient/fanout/partition_test.go +++ b/src/github.com/ebay/akutan/viewclient/fanout/partition_test.go @@ -18,7 +18,7 @@ package fanout import ( "testing" - "github.com/ebay/beam/space" + "github.com/ebay/akutan/space" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/viewclient/feature_client.go b/src/github.com/ebay/akutan/viewclient/feature_client.go similarity index 97% rename from src/github.com/ebay/beam/viewclient/feature_client.go rename to src/github.com/ebay/akutan/viewclient/feature_client.go index a8d95ce..5ca1de5 100644 --- a/src/github.com/ebay/beam/viewclient/feature_client.go +++ b/src/github.com/ebay/akutan/viewclient/feature_client.go @@ -16,10 +16,10 @@ package viewclient import ( - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/space" - "github.com/ebay/beam/viewclient/fanout" - "github.com/ebay/beam/viewclient/viewreg" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/space" + "github.com/ebay/akutan/viewclient/fanout" + "github.com/ebay/akutan/viewclient/viewreg" ) // **************************************************************************************************************** diff --git a/src/github.com/ebay/beam/viewclient/lookups/lookups.go b/src/github.com/ebay/akutan/viewclient/lookups/lookups.go similarity index 98% rename from src/github.com/ebay/beam/viewclient/lookups/lookups.go rename to src/github.com/ebay/akutan/viewclient/lookups/lookups.go index 7435bf1..8f3ce91 100644 --- a/src/github.com/ebay/beam/viewclient/lookups/lookups.go +++ b/src/github.com/ebay/akutan/viewclient/lookups/lookups.go @@ -21,7 +21,7 @@ package lookups import ( "context" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/rpc" ) // S defines the LookupS request, i.e. find all finds with a given subject diff --git a/src/github.com/ebay/beam/viewclient/lookups/mocklookups/mock.go b/src/github.com/ebay/akutan/viewclient/lookups/mocklookups/mock.go similarity index 98% rename from src/github.com/ebay/beam/viewclient/lookups/mocklookups/mock.go rename to src/github.com/ebay/akutan/viewclient/lookups/mocklookups/mock.go index c0487e1..0b0823d 100644 --- a/src/github.com/ebay/beam/viewclient/lookups/mocklookups/mock.go +++ b/src/github.com/ebay/akutan/viewclient/lookups/mocklookups/mock.go @@ -22,8 +22,8 @@ import ( "errors" "sync" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/viewclient/lookups" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/viewclient/lookups/mocklookups/mock_test.go b/src/github.com/ebay/akutan/viewclient/lookups/mocklookups/mock_test.go similarity index 98% rename from src/github.com/ebay/beam/viewclient/lookups/mocklookups/mock_test.go rename to src/github.com/ebay/akutan/viewclient/lookups/mocklookups/mock_test.go index 2db5b7f..0ca2190 100644 --- a/src/github.com/ebay/beam/viewclient/lookups/mocklookups/mock_test.go +++ b/src/github.com/ebay/akutan/viewclient/lookups/mocklookups/mock_test.go @@ -21,7 +21,7 @@ import ( "fmt" "testing" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/viewclient/metrics.go b/src/github.com/ebay/akutan/viewclient/metrics.go similarity index 94% rename from src/github.com/ebay/beam/viewclient/metrics.go rename to src/github.com/ebay/akutan/viewclient/metrics.go index 51e0e4d..95cb756 100644 --- a/src/github.com/ebay/beam/viewclient/metrics.go +++ b/src/github.com/ebay/akutan/viewclient/metrics.go @@ -16,7 +16,7 @@ package viewclient import ( - metricsutil "github.com/ebay/beam/util/metrics" + metricsutil "github.com/ebay/akutan/util/metrics" "github.com/prometheus/client_golang/prometheus" ) @@ -30,7 +30,7 @@ func init() { mr := metricsutil.Registry{R: prometheus.DefaultRegisterer} metrics = viewClientMetrics{ diagnosticsStatsLatencySeconds: mr.NewSummary(prometheus.SummaryOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "viewclient", Name: "diagnostics_stats_latency_seconds", Help: `The time it takes to collect general service statistics from all the views.`, diff --git a/src/github.com/ebay/beam/viewclient/mockstore/db.go b/src/github.com/ebay/akutan/viewclient/mockstore/db.go similarity index 95% rename from src/github.com/ebay/beam/viewclient/mockstore/db.go rename to src/github.com/ebay/akutan/viewclient/mockstore/db.go index d0e4ed4..396f039 100644 --- a/src/github.com/ebay/beam/viewclient/mockstore/db.go +++ b/src/github.com/ebay/akutan/viewclient/mockstore/db.go @@ -19,10 +19,10 @@ import ( "context" "sync" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry/logread" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry/logread" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/viewclient/lookups" ) // A DB is a mutable database of facts. It is safe for concurrent access. diff --git a/src/github.com/ebay/beam/viewclient/mockstore/db_test.go b/src/github.com/ebay/akutan/viewclient/mockstore/db_test.go similarity index 97% rename from src/github.com/ebay/beam/viewclient/mockstore/db_test.go rename to src/github.com/ebay/akutan/viewclient/mockstore/db_test.go index 1e810ac..c682c4b 100644 --- a/src/github.com/ebay/beam/viewclient/mockstore/db_test.go +++ b/src/github.com/ebay/akutan/viewclient/mockstore/db_test.go @@ -19,8 +19,8 @@ import ( "context" "testing" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/src/github.com/ebay/beam/viewclient/mockstore/doc.go b/src/github.com/ebay/akutan/viewclient/mockstore/doc.go similarity index 100% rename from src/github.com/ebay/beam/viewclient/mockstore/doc.go rename to src/github.com/ebay/akutan/viewclient/mockstore/doc.go diff --git a/src/github.com/ebay/beam/viewclient/mockstore/logconsumer.go b/src/github.com/ebay/akutan/viewclient/mockstore/logconsumer.go similarity index 91% rename from src/github.com/ebay/beam/viewclient/mockstore/logconsumer.go rename to src/github.com/ebay/akutan/viewclient/mockstore/logconsumer.go index d242628..39247e1 100644 --- a/src/github.com/ebay/beam/viewclient/mockstore/logconsumer.go +++ b/src/github.com/ebay/akutan/viewclient/mockstore/logconsumer.go @@ -21,17 +21,17 @@ import ( "math" "sync" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logencoder" - "github.com/ebay/beam/logentry/logread" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logencoder" + "github.com/ebay/akutan/logentry/logread" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/viewclient/lookups" "github.com/sirupsen/logrus" ) -// A LogConsumer reads from a Beam log and applies commands to its internal +// A LogConsumer reads from a log and applies commands to its internal // database of facts. It is safe for concurrent access. type LogConsumer struct { lock sync.Mutex @@ -122,14 +122,14 @@ func (consumer *LogConsumer) oldestPendingTxnLocked() blog.Index { return oldest } -// BlogReader is the subset of blog.BeamLog needed by LogConsumer. +// BlogReader is the subset of blog.AkutanLog needed by LogConsumer. type BlogReader interface { Read(ctx context.Context, nextIndex blog.Index, entriesCh chan<- []blog.Entry) error } // Consume is a blocking call that reads from the log and applies entries. It -// returns errors from beamLog. -func (consumer *LogConsumer) Consume(ctx context.Context, beamLog BlogReader) error { +// returns errors from aLog. +func (consumer *LogConsumer) Consume(ctx context.Context, aLog BlogReader) error { apply := func(lastPos, nextPos rpc.LogPosition, cmd logencoder.Entry) { consumer.lock.Lock() defer consumer.lock.Unlock() @@ -163,7 +163,7 @@ func (consumer *LogConsumer) Consume(ctx context.Context, beamLog BlogReader) er } } }) - err := beamLog.Read(ctx, nextPos.Index, entriesCh) + err := aLog.Read(ctx, nextPos.Index, entriesCh) wait() return err } diff --git a/src/github.com/ebay/beam/viewclient/mockstore/logconsumer_test.go b/src/github.com/ebay/akutan/viewclient/mockstore/logconsumer_test.go similarity index 96% rename from src/github.com/ebay/beam/viewclient/mockstore/logconsumer_test.go rename to src/github.com/ebay/akutan/viewclient/mockstore/logconsumer_test.go index ab3756d..06e40f5 100644 --- a/src/github.com/ebay/beam/viewclient/mockstore/logconsumer_test.go +++ b/src/github.com/ebay/akutan/viewclient/mockstore/logconsumer_test.go @@ -20,10 +20,10 @@ import ( "testing" "time" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/blog/mockblog" - "github.com/ebay/beam/logentry" - "github.com/ebay/beam/logentry/logencoder" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/blog/mockblog" + "github.com/ebay/akutan/logentry" + "github.com/ebay/akutan/logentry/logencoder" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/src/github.com/ebay/beam/viewclient/mockstore/lookups.go b/src/github.com/ebay/akutan/viewclient/mockstore/lookups.go similarity index 99% rename from src/github.com/ebay/beam/viewclient/mockstore/lookups.go rename to src/github.com/ebay/akutan/viewclient/mockstore/lookups.go index b73fa72..658c551 100644 --- a/src/github.com/ebay/beam/viewclient/mockstore/lookups.go +++ b/src/github.com/ebay/akutan/viewclient/mockstore/lookups.go @@ -20,8 +20,8 @@ import ( "fmt" "strings" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/rpc" "github.com/sirupsen/logrus" ) diff --git a/src/github.com/ebay/beam/viewclient/mockstore/snapshot.go b/src/github.com/ebay/akutan/viewclient/mockstore/snapshot.go similarity index 97% rename from src/github.com/ebay/beam/viewclient/mockstore/snapshot.go rename to src/github.com/ebay/akutan/viewclient/mockstore/snapshot.go index 01aa8f3..95c8450 100644 --- a/src/github.com/ebay/beam/viewclient/mockstore/snapshot.go +++ b/src/github.com/ebay/akutan/viewclient/mockstore/snapshot.go @@ -20,13 +20,13 @@ import ( "fmt" "math" - "github.com/ebay/beam/blog" - "github.com/ebay/beam/logentry" - wellknown "github.com/ebay/beam/msg/facts" - "github.com/ebay/beam/query/parser" - "github.com/ebay/beam/query/planner" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/viewclient/lookups" + "github.com/ebay/akutan/blog" + "github.com/ebay/akutan/logentry" + wellknown "github.com/ebay/akutan/msg/facts" + "github.com/ebay/akutan/query/parser" + "github.com/ebay/akutan/query/planner" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/viewclient/lookups" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/viewclient/mockstore/snapshot_test.go b/src/github.com/ebay/akutan/viewclient/mockstore/snapshot_test.go similarity index 98% rename from src/github.com/ebay/beam/viewclient/mockstore/snapshot_test.go rename to src/github.com/ebay/akutan/viewclient/mockstore/snapshot_test.go index b36b1ae..40b26f5 100644 --- a/src/github.com/ebay/beam/viewclient/mockstore/snapshot_test.go +++ b/src/github.com/ebay/akutan/viewclient/mockstore/snapshot_test.go @@ -20,8 +20,8 @@ import ( "regexp" "testing" - wellknown "github.com/ebay/beam/msg/facts" - "github.com/ebay/beam/rpc" + wellknown "github.com/ebay/akutan/msg/facts" + "github.com/ebay/akutan/rpc" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/viewclient/mockstore/stats.go b/src/github.com/ebay/akutan/viewclient/mockstore/stats.go similarity index 97% rename from src/github.com/ebay/beam/viewclient/mockstore/stats.go rename to src/github.com/ebay/akutan/viewclient/mockstore/stats.go index f26d077..a7f0174 100644 --- a/src/github.com/ebay/beam/viewclient/mockstore/stats.go +++ b/src/github.com/ebay/akutan/viewclient/mockstore/stats.go @@ -16,8 +16,8 @@ package mockstore import ( - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/cmp" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/cmp" ) // stats is a wrapper around Snapshot to avoid cluttering the Snapshot type with diff --git a/src/github.com/ebay/beam/viewclient/viewreg/metrics.go b/src/github.com/ebay/akutan/viewclient/viewreg/metrics.go similarity index 95% rename from src/github.com/ebay/beam/viewclient/viewreg/metrics.go rename to src/github.com/ebay/akutan/viewclient/viewreg/metrics.go index 37489d2..4e1ae4c 100644 --- a/src/github.com/ebay/beam/viewclient/viewreg/metrics.go +++ b/src/github.com/ebay/akutan/viewclient/viewreg/metrics.go @@ -30,7 +30,7 @@ var metrics = struct { lastChangedTimestamp prometheus.Gauge }{ allViews: promauto.NewGauge(prometheus.GaugeOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "view_registry", Name: "all_views", Help: `The number of view servers currently known to this registry. @@ -38,7 +38,7 @@ var metrics = struct { This includes unhealthy servers.`, }), healthyViews: promauto.NewGauge(prometheus.GaugeOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "view_registry", Name: "healthy_views", Help: `The number of healthy view servers currently known to this registry. @@ -47,7 +47,7 @@ A server is deemed healthy if the gRPC connection to that server is in the READY state and the last Diagnostics.Stats RPC to that server was successful.`, }), additionsTotal: promauto.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "view_registry", Name: "additions_total", Help: `The cumulative number of views ever added to the registry. @@ -56,7 +56,7 @@ If this counter increases quickly, it could be an indication of that the locator to discover new views changes often.`, }), removalsTotal: promauto.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "view_registry", Name: "removals_total", Help: `The cumulative number of views ever removed from the registry. @@ -65,7 +65,7 @@ If this counter increases quickly, it could be an indication of that the locator to discover new views changes often.`, }), changesTotal: promauto.NewCounter(prometheus.CounterOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "view_registry", Name: "changes_total", Help: `The cumulative number of updates to the registry. @@ -76,7 +76,7 @@ quickly, it could be an indication of an unstable discovery locator or an unstable cluster.`, }), lastChangedTimestamp: promauto.NewGauge(prometheus.GaugeOpts{ - Namespace: "beam", + Namespace: "akutan", Subsystem: "view_registry", Name: "last_changed_timestamp", Help: `Seconds since the Unix epoch when any change was made to the registry.`, diff --git a/src/github.com/ebay/beam/viewclient/viewreg/registry.go b/src/github.com/ebay/akutan/viewclient/viewreg/registry.go similarity index 98% rename from src/github.com/ebay/beam/viewclient/viewreg/registry.go rename to src/github.com/ebay/akutan/viewclient/viewreg/registry.go index e902692..c8c6e6b 100644 --- a/src/github.com/ebay/beam/viewclient/viewreg/registry.go +++ b/src/github.com/ebay/akutan/viewclient/viewreg/registry.go @@ -24,12 +24,12 @@ import ( "sync" "time" - "github.com/ebay/beam/discovery" - "github.com/ebay/beam/partitioning" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/bytes" - "github.com/ebay/beam/util/clocks" - grpcclientutil "github.com/ebay/beam/util/grpc/client" + "github.com/ebay/akutan/discovery" + "github.com/ebay/akutan/partitioning" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/bytes" + "github.com/ebay/akutan/util/clocks" + grpcclientutil "github.com/ebay/akutan/util/grpc/client" "github.com/sirupsen/logrus" "google.golang.org/grpc" "google.golang.org/grpc/connectivity" diff --git a/src/github.com/ebay/beam/viewclient/viewreg/registry_test.go b/src/github.com/ebay/akutan/viewclient/viewreg/registry_test.go similarity index 98% rename from src/github.com/ebay/beam/viewclient/viewreg/registry_test.go rename to src/github.com/ebay/akutan/viewclient/viewreg/registry_test.go index b47d7c8..0e8f990 100644 --- a/src/github.com/ebay/beam/viewclient/viewreg/registry_test.go +++ b/src/github.com/ebay/akutan/viewclient/viewreg/registry_test.go @@ -26,13 +26,13 @@ import ( "testing" "time" - "github.com/ebay/beam/discovery" - "github.com/ebay/beam/partitioning" - "github.com/ebay/beam/rpc" - "github.com/ebay/beam/util/clocks" - grpcclientutil "github.com/ebay/beam/util/grpc/client" - "github.com/ebay/beam/util/parallel" - "github.com/ebay/beam/util/random" + "github.com/ebay/akutan/discovery" + "github.com/ebay/akutan/partitioning" + "github.com/ebay/akutan/rpc" + "github.com/ebay/akutan/util/clocks" + grpcclientutil "github.com/ebay/akutan/util/grpc/client" + "github.com/ebay/akutan/util/parallel" + "github.com/ebay/akutan/util/random" "github.com/sirupsen/logrus" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/src/github.com/ebay/beam/viewclient/viewreg/view.go b/src/github.com/ebay/akutan/viewclient/viewreg/view.go similarity index 97% rename from src/github.com/ebay/beam/viewclient/viewreg/view.go rename to src/github.com/ebay/akutan/viewclient/viewreg/view.go index 9a00534..fec2365 100644 --- a/src/github.com/ebay/beam/viewclient/viewreg/view.go +++ b/src/github.com/ebay/akutan/viewclient/viewreg/view.go @@ -19,9 +19,9 @@ import ( "fmt" "strings" - "github.com/ebay/beam/discovery" - "github.com/ebay/beam/partitioning" - "github.com/ebay/beam/rpc" + "github.com/ebay/akutan/discovery" + "github.com/ebay/akutan/partitioning" + "github.com/ebay/akutan/rpc" "google.golang.org/grpc" ) @@ -66,7 +66,7 @@ func (f Feature) String() string { } } -// A View represents a single remote Beam server. +// A View represents a single remote Akutan server. type View struct { // The location of the server's gRPC port. This is a shared value; callers // must not modify it. diff --git a/src/github.com/ebay/beam/viewclient/viewreg/view_test.go b/src/github.com/ebay/akutan/viewclient/viewreg/view_test.go similarity index 98% rename from src/github.com/ebay/beam/viewclient/viewreg/view_test.go rename to src/github.com/ebay/akutan/viewclient/viewreg/view_test.go index d1b2ca4..dc94099 100644 --- a/src/github.com/ebay/beam/viewclient/viewreg/view_test.go +++ b/src/github.com/ebay/akutan/viewclient/viewreg/view_test.go @@ -19,8 +19,8 @@ import ( "fmt" "testing" - "github.com/ebay/beam/discovery" - "github.com/ebay/beam/partitioning" + "github.com/ebay/akutan/discovery" + "github.com/ebay/akutan/partitioning" "github.com/stretchr/testify/assert" ) diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/all_types.tsv b/src/github.com/ebay/beam/query/parser/testdata/insert/all_types.tsv deleted file mode 100644 index a4a0ad0..0000000 --- a/src/github.com/ebay/beam/query/parser/testdata/insert/all_types.tsv +++ /dev/null @@ -1,15 +0,0 @@ -#1001 #1002 #1003 -beam:qname1 beam:qname2 beam:qname3 - -?var -?var #1002 ?var -beam:qname1 beam:qname2 true -beam:qname1 beam:qname2 12 -beam:qname1 beam:qname2 12.23 -beam:qname1 beam:qname2 "banana" -beam:qname1 beam:qname2 '2017-01-03' -beam:qname1 beam:qname2 true^^ -beam:qname1 beam:qname2 12^^ -beam:qname1 beam:qname2 12.23^^ -beam:qname1 beam:qname2 "banana"@en_US -beam:qname1 beam:qname2 '2017-01-03'^^ diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_fact_id.tsv b/src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_fact_id.tsv deleted file mode 100644 index d91554a..0000000 --- a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_fact_id.tsv +++ /dev/null @@ -1 +0,0 @@ - product:shoe beam:is product:shoe diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_object.tsv b/src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_object.tsv deleted file mode 100644 index d893d26..0000000 --- a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_object.tsv +++ /dev/null @@ -1 +0,0 @@ -product:shoe beam:is {1, 2, 3} diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_predicate_var.tsv b/src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_predicate_var.tsv deleted file mode 100644 index 4e0314b..0000000 --- a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/bad_predicate_var.tsv +++ /dev/null @@ -1,2 +0,0 @@ -?var product:shoe beam:is product:shoe - ?var diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/unused_var.tsv b/src/github.com/ebay/beam/query/parser/testdata/insert/errors/unused_var.tsv deleted file mode 100644 index 1fb2cf6..0000000 --- a/src/github.com/ebay/beam/query/parser/testdata/insert/errors/unused_var.tsv +++ /dev/null @@ -1,3 +0,0 @@ -beam:a beam:b beam:c -?var beam:d beam:e beam:f -beam:g beam:h beam:i diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/meta_meta_meta.tsv b/src/github.com/ebay/beam/query/parser/testdata/insert/meta_meta_meta.tsv deleted file mode 100644 index 049490b..0000000 --- a/src/github.com/ebay/beam/query/parser/testdata/insert/meta_meta_meta.tsv +++ /dev/null @@ -1,6 +0,0 @@ -?zero the:sky beam:is colors:blue -?one ?zero beam:source place:san_francisco -?two ?one beam:source web:weather_com -?three ?two beam:channel comms:web - ?three data:noise 0.65 - ?three data:signal 0.8 diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/quads.tsv b/src/github.com/ebay/beam/query/parser/testdata/insert/quads.tsv deleted file mode 100644 index e298420..0000000 --- a/src/github.com/ebay/beam/query/parser/testdata/insert/quads.tsv +++ /dev/null @@ -1,3 +0,0 @@ -?fact the:sky beam:is colors:blue - ?fact beam:source places:san_francisco - ?fact beam:confidence 1.0 diff --git a/src/github.com/ebay/beam/query/parser/testdata/insert/tabs.tsv b/src/github.com/ebay/beam/query/parser/testdata/insert/tabs.tsv deleted file mode 100644 index 40d99fa..0000000 --- a/src/github.com/ebay/beam/query/parser/testdata/insert/tabs.tsv +++ /dev/null @@ -1,6 +0,0 @@ -beam:a beam:b beam:c -?d beam:e beam:f beam:g -?d beam:h beam:i - ?d beam:j beam:k -beam:l beam:m beam:n -beam:o beam:p beam:q diff --git a/vscode-settings.json5 b/vscode-settings.json5 index 859044f..5cc6c96 100644 --- a/vscode-settings.json5 +++ b/vscode-settings.json5 @@ -94,7 +94,8 @@ // This is a whitelist of words that we think we spell just fine. "cSpell.words": [ "Enumerate's", - "beamql", + "akutan", + "akutanql", "btree", "cfg", "cmds",