Skip to content

Kyrix Development

Wenbo Tao edited this page Jul 3, 2019 · 4 revisions

Legacy content below

adding/changing the dataset

If the underlying data changes and the view is out of sync, run docker exec -w /kyrix/compiler/examples/nba -it kyrix_kyrix_1 sh -c "psql postgresql://kyrix:kyrix_password@db/kyrix -c \"delete from project where name = 'nba'\"; node nba.js;" (where 'nba' is the name of the kyrix dataset and nba.js is the kyrix spec).

TODO: script this and don't hardcode the kyrix db password.

spec compiler changes

If you change package.json, then run npm install i.e. docker exec -w /kyrix/compiler -it kyrix_kyrix_1 npm install

Otherwise, if you change the compiler code (Node.JS JavaScript), simply re-run the spec compiler on your dataset(s) with docker exec -w /kyrix/compiler/examples/nba -it kyrix_kyrix_1 node nba.js (where nba.js is your spec)

Backend changes

If you change the backend code (Java), then run mvn compile and restart the server with mvn exec:java -Dexec.mainClass="main.Main". From outside docker: docker exec -w /kyrix/back-end -it kyrix_kyrix_1 mvn compile and docker exec -w /kyrix/back-end -it kyrix_kyrix_1 sh -c "killall /usr/bin/java; mvn exec:java -Dexec.mainClass=\"main.Main\""

If you change any indexing-related parameters in Config.java, e.g., tileW,tileH or indexingScheme, you should force a recomputation by re-running the spec compiler: docker exec -w /kyrix/compiler/examples/nba -it kyrix_kyrix_1 node nba.js (where nba.js is your spec) with the server shutdown.

TODO: should enable an easy way to trigger recomputation

frontend static HTML/CSS/JS changes

Just reload your browser, i.e. web static content isn't cached.