Update mediawiki-history per-page and per-editor

Mediawiki-history per-page and per-editor endpoints are hard for druid
to answer over long timespans. This patch makes AQS return an error
if the timespan requested for those endpoints is larger than one year.

Bug: T219910
Change-Id: Iff05972a16b579ae7124a688d755a9e4ac0560b2
7 files changed
tree: 4f7a0948c99533c0d13abadad8eb1018f948ed47
  1. lib/
  2. projects/
  3. sys/
  4. test/
  5. v1/
  6. .dockerignore
  7. .eslintrc.yml
  8. .gitignore
  9. .gitreview
  10. .jscs.json
  11. .jshintignore
  12. .jshintrc
  13. .travis.yml
  14. config.example.wikimedia.yaml
  15. config.test.yaml
  16. LICENSE
  17. package-lock.json
  18. package.json
  19. README.md
  20. server.js
README.md

Analytics Query Service

REST API for wikimedia projects pageviews data.

Installation

Make sure that you have node 4.4+:

Linux (Ubuntu)

sudo apt-get install nodejs nodejs-legacy nodejs-dev npm

Mac OS X

You can directly install node from packages downloads at: https://nodejs.org/en/download/

If you use brew be careful as it might be installing "too-new-of-a-version" You can run:

brew info node

Brew formulas for node are available at: https://github.com/Homebrew/homebrew-core/blob/master/Formula/node.rb

From the query-service project directory, install the Node dependencies:

npm install

Start Query Service:

node server

The defaults without a config file should work for a local Cassandra installation with the default passwords. To customize Query Service's behavior, copy the example config to its default location:

cp config.example.yaml config.yaml

You can also pass in the path to another file with the -c commandline option to server.js. If you're running a single Cassandra instance (e.g. a local development environment), set defaultConsistency to one in config.yaml.

Testing

To run all the tests from a clean slate, first make sure Cassandra is running locally, then fire up the tests with npm:

npm test

Coverage

To check the test coverage, use npm, then browse the report:

npm run-script coverage

The coverage report can now be found in <project>/coverage/lcov-report/index.html.

  NODES
HOME 2
mac 1
os 4
server 3