Forum: Installation

Post: Help a newbie - Examples not working

Help a newbie - Examples not working
Nov 13, 2016
Hi all,

I'm completely new to VoltDB. I'm supposed to test an In-Memory database for college and chose VoltDB:

I've installed VoltDB in a virtual CentOS 7 machine. VoltDB is running, I have managed to create some tables. When I go to the Admin Console (localhost:8080), I can see the tables appearing.

I've tried to use the examples in the "Examples" folder and non of them is working. Here's the steps I perform:
- Go to the folder with the example, e.g. bank-offers
- Execute (./
- VoltDB will start
- Go to the "web" folder and start index.html
- Firefox starts
- A box "Transactions/s" is displayed, the time line is moving, but the graph is at 0 all the time.
- On the left I can see the headers "Offers/sec" and "Recent Offers", but no content.

The equivalent of this happens with all examples I tested. I browsed a bit through the folders. Each example has a "procedures" folder with some .java files. But no class files or jar files. Not sure if that's an issue.

Can someone help?

Thanks a lot,

Nov 13, 2016
I just ran the Metrocard example. In that one at least I get an error. In the other examples, there are no error messages:
ERROR: Cannot invoke procedure GetSwipesPerSecond. Procedure not found.
ERROR: Cannot invoke procedure GetBusiestStationInLastMinute. Procedure not found.
Nov 13, 2016

It appears that you may have skipped a step as described in the Quickstart section of the files:

3. Open a new shell in the same directory and type "sqlcmd < ddl.sql" to load the schema and the jarfile of procedures into VoltDB.

Please kill any currently running VoltDB processes and try executing the steps in the Quickstart instructions.
Nov 13, 2016
Hi Pmartel,

thanks so much for helping and sorry for the long answer:

I had tried that initially, but tried now again. Unfortunately still no luck.

- Go to the folder with the example (this time metrocard)
- Execute (./
- VoltDB will start
- In a new shell type sqlcmd < ddl.sql
- Lots of success messages
- Go to the "web" folder and start index.html
- Firefox starts
- This time, the transaction per seconds box works, but the other boxes still don't (see screenshot attached).
- In the Admin Console I can see that the tables have been created, but don't contain any data (select * from ACTIVITY, select * from CARDS)


Next, I've then tried to follow the steps exactly as in

1. Make sure "bin" inside the VoltDB kit is in your path. -> was already done
2. Type "voltdb create -f" to start an empty, single-node VoltDB server.
-> gives an error message "FATAL: Cannot use legacy start action CREATE on voltdbroot voltdbroot that was initialized with the init command".
3. Trying to replace the create command with "voltdb start" -> this worked, voltdb started
4. Open a new shell in the same directory and type "sqlcmd < ddl.sql" to load the schema and the jarfile of procedures into VoltDB. -> done with success
5. Type "./ client" to run the client code.
6. Error:
FATAL: Request to join cluster mesh is rejected: Cluster is already complete
VoltDB has encountered an unrecoverable error and is exiting.

7. Open up the index.html the "web" directory to view the status dashboard. -> Same result as above
Nov 14, 2016
Sorry you had a hard time with metrocard - it appear to be broken. It seems that there is some dataloading step that is missing. I will get this fixed shortly.

I had much better luck with the nbbo example.

A few of the other errors you reported are because of switching example.

- For any of these examples that have a web/index.html, you should reload the browser page. If you started with the metrocard example web page and then switch to another example, you will get the errors about "ERROR: Cannot invoke procedure ..." because the web page is issuing these request.
- If you get "Request to join cluster mesh is rejected" that means that you tried to start (or create) a cluster (a 1-node cluster) when you already had a server up. You can use 'voltadmin shutdown' to stop the server in between trying the examples.
Nov 14, 2016
Hi Laura,

The README instructions for the metrocard are incorrect. They say to run "sqlcmd < ddl.sql" and then run "./ client", but that misses the step of loading the station data. The instructions should be to run "./ init" which loads the schema as well as the station data, then run "./ client" to run the demo.

I'll correct this in the README.

Nov 14, 2016
The "./ init" step does "sqlcmd < ddl.sql" as well as "csvloader --servers $SERVERS --file data/stations.csv --reportdir log stations" which loads the station data. You could run the csvloader command manually if you prefer that to using the script. Most of the examples don't do this, but the metrocard example is a little different.
Nov 15, 2016
Hi Ben, rmorgenstein,

thanks a lot for the quick help. I got the example nbbo, adperformance and even metrocard working. In the end, the steps I used for each example were:

- In one terminal window type "./"
- Wait until "Server completed initialization." comes up
- In another terminal window type "./ init"
- In the same terminal "./ client"
- Open "index.html" in the web folder of the respective example