public static void usage() { System.err.println( "usage: " + RepConfig.progname + " -h home -l host:port [-CM][-r host:port][-R host:port]\n" + " [-a all|quorum][-b][-n nsites][-p priority][-v]"); System.err.println( "\t -h home (required; h stands for home directory)\n" + "\t -l host:port (required; l stands for local)\n" + "\t -C or -M (optional; start up as client or master)\n" + "\t -r host:port (optional; r stands for remote; any number " + "of these\n" + "\t may be specified)\n" + "\t -R host:port (optional; R stands for remote peer; only " + "one of\n" + "\t these may be specified)\n" + "\t -a all|quorum (optional; a stands for ack policy)\n" + "\t -b (optional; b stands for bulk)\n" + "\t -n nsites (optional; number of sites in replication " + "group; defaults\n" + "\t to 0 to try to dynamically compute nsites)\n" + "\t -p priority (optional; defaults to 100)\n" + "\t -v (optional; v stands for verbose)\n"); System.exit(1); }
private static void usage() { System.err.println( "usage: TpcbExample [-fiv] [-a accounts] [-b branches]\n" + " [-c cachesize] [-h home] [-n transactions]\n" + " [-T threads] [-S seed] [-s history] [-t tellers]"); System.exit(1); }
public static void errExit(Exception err, String s) { System.err.print(progname + ": "); if (s != null) { System.err.print(s + ": "); } System.err.println(err.toString()); System.exit(1); }
public void populateTable(Database dbp, int start_id, int balance, int nrecs, String msg) { Defrec drec = new Defrec(); DatabaseEntry kdbt = new DatabaseEntry(drec.data); kdbt.setSize(4); // sizeof(int) DatabaseEntry ddbt = new DatabaseEntry(drec.data); ddbt.setSize(drec.data.length); // uses whole array try { for (int i = 0; i < nrecs; i++) { kdbt.setRecordNumber(start_id + (int) i); drec.set_balance(balance); dbp.putNoOverwrite(null, kdbt, ddbt); } } catch (DatabaseException dbe) { System.err.println("Failure initializing " + msg + " file: " + dbe.toString()); System.exit(1); } }
public static void start(Database std, String filename) { // build hash tables long starttime; long performance = 0; // For measuring performance Database secDB = null; Database tDB = null; try { starttime = System.currentTimeMillis(); System.out.print("Building <user>,<songs,ratings> secondary table..."); secDB = buildsecondary(std); performance = System.currentTimeMillis() - starttime; System.out.println(" Complete! " + performance + "ms"); } catch (Exception e) { System.out.println(e.getMessage()); } try { starttime = System.currentTimeMillis(); System.out.print("Building <song>,<users> tertiary table..."); tDB = buildtertiary(std); performance = System.currentTimeMillis() - starttime; System.out.println(" Complete! " + performance + "ms"); } catch (Exception e) { System.out.println("Error building secondary tables."); System.out.println(e.getMessage()); } // QUERIES // // use hash tables to query fast! PrintStream writer = io.writer("indexedanswers.txt", false); BufferedReader qreader = io.reader(filename); String line, send; long max = 0; long min = Integer.MAX_VALUE; long total = 0; long count = 0; long avg = 0; try { while ((line = qreader.readLine()) != null) { line = line.trim(); if (line.equals("")) continue; if (!line.equals("")) { System.out.print("Indexed... "); starttime = System.currentTimeMillis(); send = top3(line, secDB, tDB); if (send != null) writer.println(send); else System.out.println("Error from ranking search function"); performance = System.currentTimeMillis() - starttime; System.out.println(" Complete! " + performance + "ms"); } if (performance > max) max = performance; if (performance < min) min = performance; total += performance; count += 1; } avg = total / count; } catch (IOException ioe) { System.out.println(ioe.getMessage()); } catch (Exception e) { System.out.println("error querying for top 3 songs"); System.out.println(e.getMessage()); } System.out.println( "Total querying time: " + Long.toString(total) + " ms (average: " + Long.toString(avg) + " ms/query). Fastest query: " + Long.toString(min) + " ms. Slowest query: " + Long.toString(max) + " ms."); writer.close(); }
public static void main(String[] argv) throws java.io.IOException { File home = new File("TESTDIR"); int accounts = ACCOUNTS; int branches = BRANCHES; int tellers = TELLERS; int history = HISTORY; int threads = 1; int mpool = 0; int ntxns = 0; boolean iflag = false; boolean txn_no_sync = false; long seed = (new GregorianCalendar()).get(Calendar.SECOND); for (int i = 0; i < argv.length; ++i) { if (argv[i].equals("-a")) { // Number of account records if ((accounts = Integer.parseInt(argv[++i])) <= 0) invarg(argv[i]); } else if (argv[i].equals("-b")) { // Number of branch records if ((branches = Integer.parseInt(argv[++i])) <= 0) invarg(argv[i]); } else if (argv[i].equals("-c")) { // Cachesize in bytes if ((mpool = Integer.parseInt(argv[++i])) <= 0) invarg(argv[i]); } else if (argv[i].equals("-f")) { // Fast mode: no txn sync. txn_no_sync = true; } else if (argv[i].equals("-h")) { // DB home. home = new File(argv[++i]); } else if (argv[i].equals("-i")) { // Initialize the test. iflag = true; } else if (argv[i].equals("-n")) { // Number of transactions if ((ntxns = Integer.parseInt(argv[++i])) <= 0) invarg(argv[i]); } else if (argv[i].equals("-S")) { // Random number seed. seed = Long.parseLong(argv[++i]); if (seed <= 0) invarg(argv[i]); } else if (argv[i].equals("-s")) { // Number of history records if ((history = Integer.parseInt(argv[++i])) <= 0) invarg(argv[i]); } else if (argv[i].equals("-T")) { // Number of threads if ((threads = Integer.parseInt(argv[++i])) <= 0) invarg(argv[i]); } else if (argv[i].equals("-t")) { // Number of teller records if ((tellers = Integer.parseInt(argv[++i])) <= 0) invarg(argv[i]); } else if (argv[i].equals("-v")) { // Verbose option. verbose = true; } else { usage(); } } rand.setSeed((int) seed); // Initialize the database environment. // Must be done in within a try block. // TpcbExample app = null; try { app = new TpcbExample(home, accounts, branches, tellers, history, mpool, iflag || txn_no_sync); } catch (Exception e1) { errExit(e1, "initializing environment failed"); } if (verbose) System.out.println( (long) accounts + " Accounts, " + String.valueOf(branches) + " Branches, " + String.valueOf(tellers) + " Tellers, " + String.valueOf(history) + " History"); if (iflag) { if (ntxns != 0) usage(); app.populate(); } else { if (ntxns == 0) usage(); app.run(ntxns, threads); } // Shut down the application. try { app.close(); } catch (DatabaseException dbe2) { errExit(dbe2, "appexit failed"); } System.exit(0); }
private static void invarg(String str) { System.err.println("TpcbExample: invalid argument: " + str); System.exit(1); }